ci: update CI/CD configuration
This commit is contained in:
parent
35756f95c0
commit
99889871ff
67
.windsurf/workflows/refresh-chat-history.md
Normal file
67
.windsurf/workflows/refresh-chat-history.md
Normal file
@ -0,0 +1,67 @@
|
|||||||
|
---
|
||||||
|
description: Refresh the Windsurf chat history archive (re-scan all repos, update symlinks, copy docs/workflows)
|
||||||
|
---
|
||||||
|
|
||||||
|
# Refresh Windsurf Chat History Archive
|
||||||
|
|
||||||
|
Refreshes the centralized Windsurf chat history archive at `__LOCAL_LLMs/AI_IDE_CHAT_HISTORY/WINDSURF/`.
|
||||||
|
Auto-discovers new repos, updates symlinks, and re-copies docs + workflows.
|
||||||
|
|
||||||
|
## Covered Repos (All 8 workspaces)
|
||||||
|
|
||||||
|
| Repo | Product | Workflows | Docs |
|
||||||
|
|------|---------|-----------|------|
|
||||||
|
| `learning_voice_ai_agent` | LysnrAI | ✅ | ✅ |
|
||||||
|
| `learning_multimodal_memory_agents` | MindLyst | ✅ | ✅ |
|
||||||
|
| `learning_ai_clock` | ChronoMind | ✅ | — |
|
||||||
|
| `learning_ai_peakpulse` | PeakPulse | ✅ | — |
|
||||||
|
| `learning_ai_fastgap` | NomGap | ✅ | — |
|
||||||
|
| `learning_ai_jarvis_jr` | JarvisJr | ✅ | — |
|
||||||
|
| `learning_ai_common_plat` | Common Platform | ✅ | — |
|
||||||
|
| `learning_agent_monitoring_fx` | Agent Monitoring | ✅ | — |
|
||||||
|
|
||||||
|
## Steps
|
||||||
|
|
||||||
|
// turbo
|
||||||
|
|
||||||
|
1. Run the refresh script:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
/Users/sd9235/code/mygh/learning_ai_common_plat/__LOCAL_LLMs/AI_IDE_CHAT_HISTORY/WINDSURF/refresh.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
2. Check the refresh log:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cat /Users/sd9235/code/mygh/learning_ai_common_plat/__LOCAL_LLMs/AI_IDE_CHAT_HISTORY/WINDSURF/.last-refresh.log
|
||||||
|
```
|
||||||
|
|
||||||
|
3. Verify symlinks are valid:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
ls -la /Users/sd9235/code/mygh/learning_ai_common_plat/__LOCAL_LLMs/AI_IDE_CHAT_HISTORY/WINDSURF/ | grep "^l"
|
||||||
|
```
|
||||||
|
|
||||||
|
## Notes
|
||||||
|
|
||||||
|
- The script is **idempotent** — safe to run any number of times.
|
||||||
|
- It auto-discovers repos under `/Users/sd9235/code/mygh/` that have `docs/WINDSURF/` or `.windsurf/workflows/`.
|
||||||
|
- A **launchd job** runs this daily at 11 PM: `~/Library/LaunchAgents/com.sd9235.windsurf-archive-refresh.plist`.
|
||||||
|
- Logs: `.last-refresh.log` (stats), `.launchd-stdout.log` / `.launchd-stderr.log` (scheduled run output).
|
||||||
|
- **See also:** [Workflow Sync Guide](/Users/sd9235/code/mygh/learning_ai_common_plat/docs/guides/WORKFLOW_SYNC.md) — how to keep workflows consistent across repos.
|
||||||
|
|
||||||
|
## Manage the scheduled job
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Check if running
|
||||||
|
launchctl list | grep windsurf-archive
|
||||||
|
|
||||||
|
# Stop
|
||||||
|
launchctl unload ~/Library/LaunchAgents/com.sd9235.windsurf-archive-refresh.plist
|
||||||
|
|
||||||
|
# Start
|
||||||
|
launchctl load ~/Library/LaunchAgents/com.sd9235.windsurf-archive-refresh.plist
|
||||||
|
|
||||||
|
# Force run now
|
||||||
|
launchctl start com.sd9235.windsurf-archive-refresh
|
||||||
|
```
|
||||||
@ -11,14 +11,14 @@ Combines `/repo_backup-main-branch` and `/repo_push-repos` into a single sequent
|
|||||||
Creates timestamped backup branches with smart duplicate detection.
|
Creates timestamped backup branches with smart duplicate detection.
|
||||||
|
|
||||||
// turbo
|
// turbo
|
||||||
Run `bash ~/code/mygh/learning_ai_common_plat/scripts/backup-main.sh` from any directory
|
Run `bash scripts/backup-main.sh` from any repository root
|
||||||
|
|
||||||
## Step 2: Push all repos to origin
|
## Step 2: Push all repos to origin
|
||||||
|
|
||||||
// turbo
|
// turbo
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
for repo in learning_ai_common_plat learning_voice_ai_agent learning_multimodal_memory_agents learning_ai_clock learning_ai_fastgap; do
|
for repo in learning_ai_common_plat learning_voice_ai_agent learning_multimodal_memory_agents learning_ai_clock learning_ai_fastgap learning_ai_jarvis_jr learning_ai_peakpulse; do
|
||||||
echo "━━━ Pushing $repo ━━━"
|
echo "━━━ Pushing $repo ━━━"
|
||||||
(cd ~/code/mygh/$repo && git push origin main 2>&1)
|
(cd ~/code/mygh/$repo && git push origin main 2>&1)
|
||||||
done
|
done
|
||||||
@ -29,7 +29,7 @@ echo "✨ All repos pushed!"
|
|||||||
## What it does:
|
## What it does:
|
||||||
|
|
||||||
1. **Backup** — creates timestamped backup branches, cleans up old ones (7 days), skips duplicates
|
1. **Backup** — creates timestamped backup branches, cleans up old ones (7 days), skips duplicates
|
||||||
2. **Push** — pushes `main` to `origin/main` for all 5 repos
|
2. **Push** — pushes `main` to `origin/main` for all 7 repos
|
||||||
|
|
||||||
## Repositories:
|
## Repositories:
|
||||||
|
|
||||||
@ -38,6 +38,8 @@ echo "✨ All repos pushed!"
|
|||||||
- learning_multimodal_memory_agents
|
- learning_multimodal_memory_agents
|
||||||
- learning_ai_clock
|
- learning_ai_clock
|
||||||
- learning_ai_fastgap
|
- learning_ai_fastgap
|
||||||
|
- learning_ai_jarvis_jr
|
||||||
|
- learning_ai_peakpulse
|
||||||
|
|
||||||
## When to use:
|
## When to use:
|
||||||
|
|
||||||
|
|||||||
@ -7,7 +7,7 @@ description: Smart backup of main branches with duplicate detection
|
|||||||
Creates smart backups of main branches across all repositories.
|
Creates smart backups of main branches across all repositories.
|
||||||
|
|
||||||
// turbo
|
// turbo
|
||||||
Run `bash ~/code/mygh/learning_ai_common_plat/scripts/backup-main.sh` from any directory
|
Run `bash scripts/backup-main.sh` from any repository root
|
||||||
|
|
||||||
## What it does:
|
## What it does:
|
||||||
|
|
||||||
@ -24,11 +24,13 @@ Run `bash ~/code/mygh/learning_ai_common_plat/scripts/backup-main.sh` from any d
|
|||||||
- learning_multimodal_memory_agents
|
- learning_multimodal_memory_agents
|
||||||
- learning_ai_clock
|
- learning_ai_clock
|
||||||
- learning_ai_fastgap
|
- learning_ai_fastgap
|
||||||
|
- learning_ai_jarvis_jr
|
||||||
|
- learning_ai_peakpulse
|
||||||
|
|
||||||
## Features:
|
## Features:
|
||||||
|
|
||||||
- Smart duplicate detection
|
- ✅ Smart duplicate detection
|
||||||
- Automatic cleanup of old backups
|
- ✅ Automatic cleanup of old backups
|
||||||
- Multi-repo support
|
- ✅ Multi-repo support
|
||||||
- Safe operations (always returns to main)
|
- ✅ Safe operations (always returns to main)
|
||||||
- Color-coded output for clarity
|
- ✅ Color-coded output for clarity
|
||||||
|
|||||||
@ -1,50 +1,117 @@
|
|||||||
---
|
---
|
||||||
description: Commit all workspace changes in logical order with intelligent messages
|
description: Commit all workspace changes in logical order with intelligent messages
|
||||||
|
date: 2025-02-12
|
||||||
---
|
---
|
||||||
|
|
||||||
# Commit Workspace
|
# Commit Workspace
|
||||||
|
|
||||||
Commits all pending changes across all 5 workspace repos in logical order.
|
Scans all repositories for pending changes and commits them in logical order with intelligent commit messages.
|
||||||
|
|
||||||
## Step 1: Check status of all repos
|
|
||||||
|
|
||||||
// turbo
|
// turbo
|
||||||
|
~/commit-workspace.sh
|
||||||
|
|
||||||
|
## What it does:
|
||||||
|
|
||||||
|
1. **Scans** all 7 repos for changes:
|
||||||
|
- learning_ai_common_plat
|
||||||
|
- learning_voice_ai_agent
|
||||||
|
- learning_multimodal_memory_agents
|
||||||
|
- learning_ai_clock
|
||||||
|
- learning_ai_fastgap
|
||||||
|
- learning_ai_jarvis_jr
|
||||||
|
- learning_ai_peakpulse
|
||||||
|
|
||||||
|
2. **Analyzes** changed files to determine:
|
||||||
|
- Commit scope (auth, ci, docs, feat, chore, etc.)
|
||||||
|
- Appropriate commit message
|
||||||
|
- Logical grouping
|
||||||
|
|
||||||
|
3. **Commits** in dependency order:
|
||||||
|
- Always commits common platform first
|
||||||
|
- Then other repos
|
||||||
|
|
||||||
|
4. Does **NOT** push — use `/repo_sync-repos` or `git push` separately
|
||||||
|
|
||||||
|
## Commit Message Logic:
|
||||||
|
|
||||||
|
The script analyzes file types to generate appropriate messages:
|
||||||
|
|
||||||
|
| File Pattern | Commit Message Example |
|
||||||
|
| ------------------------- | ---------------------------------------------------- |
|
||||||
|
| auth/middleware/jwt files | `feat(auth): update authentication and middleware` |
|
||||||
|
| .github/workflows/ | `ci: update CI/CD configuration` |
|
||||||
|
| Dockerfile + package.json | `feat: update Dockerfile for pnpm workspace support` |
|
||||||
|
| package.json, lock files | `chore: update dependencies` |
|
||||||
|
| \*.md files | `docs: update documentation` |
|
||||||
|
| \*.py, requirements.txt | `feat(python): update Python modules` |
|
||||||
|
| test/, _spec_ | `test: add/update tests` |
|
||||||
|
| .env, config files | `chore: update configuration` |
|
||||||
|
| Other files | `chore: update project files` |
|
||||||
|
|
||||||
|
## Usage:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
for repo in learning_ai_common_plat learning_voice_ai_agent learning_multimodal_memory_agents learning_ai_clock learning_ai_fastgap; do
|
# Run from anywhere
|
||||||
echo "━━━ $repo ━━━"
|
~/commit-workspace.sh
|
||||||
(cd ~/code/mygh/$repo && git status --short)
|
|
||||||
echo ""
|
# Or via Windsurf
|
||||||
done
|
/commit-workspace
|
||||||
```
|
```
|
||||||
|
|
||||||
## Step 2: Stage and commit each repo
|
## Example Output:
|
||||||
|
|
||||||
For each repo with changes:
|
```
|
||||||
1. Review the diff
|
📋 Scanning workspace for changes...
|
||||||
2. Stage all changes with `git add -A`
|
|
||||||
3. Write a conventional commit message: `type(scope): description`
|
|
||||||
4. Commit
|
|
||||||
|
|
||||||
## Commit message conventions:
|
📁 learning_ai_common_plat:
|
||||||
|
- 2 staged
|
||||||
|
- 1 modified
|
||||||
|
|
||||||
- `feat(scope):` — new feature
|
📁 learning_voice_ai_agent:
|
||||||
- `fix(scope):` — bug fix
|
- 3 untracked
|
||||||
- `refactor(scope):` — code restructuring
|
|
||||||
- `docs(scope):` — documentation only
|
|
||||||
- `test(scope):` — adding/updating tests
|
|
||||||
- `chore(scope):` — maintenance tasks
|
|
||||||
|
|
||||||
## Order:
|
Found changes in 2 repo(s)
|
||||||
|
|
||||||
1. **learning_ai_common_plat** — shared packages first (others may depend on it)
|
🚀 Committing in dependency order...
|
||||||
2. **learning_voice_ai_agent** — LysnrAI product repo
|
|
||||||
3. **learning_multimodal_memory_agents** — MindLyst product repo
|
📝 Committing learning_ai_common_plat...
|
||||||
4. **learning_ai_clock** — ChronoMind product repo
|
Message: feat(auth): update authentication and middleware
|
||||||
5. **learning_ai_fastgap** — NomGap product repo
|
✅ Committed
|
||||||
|
|
||||||
|
📝 Committing learning_voice_ai_agent...
|
||||||
|
Message: docs: update documentation
|
||||||
|
✅ Committed
|
||||||
|
|
||||||
|
✨ All changes committed locally!
|
||||||
|
💡 Use /repo_sync-repos or git push to push to remote
|
||||||
|
```
|
||||||
|
|
||||||
|
## Features:
|
||||||
|
|
||||||
|
- ✅ No prompts - fully automated
|
||||||
|
- ✅ Intelligent commit messages
|
||||||
|
- ✅ Logical dependency order
|
||||||
|
- ✅ Stages all changes automatically
|
||||||
|
- ✅ Local commits only (no push)
|
||||||
|
- ✅ Clean, colored output
|
||||||
|
|
||||||
|
## Safety:
|
||||||
|
|
||||||
|
- Always shows what will be committed
|
||||||
|
- Uses conventional commit format
|
||||||
|
- Commits in correct order to avoid issues
|
||||||
|
- Preserves all changes
|
||||||
|
|
||||||
|
## When to Use:
|
||||||
|
|
||||||
|
- After making changes across multiple repos
|
||||||
|
- Before switching contexts/tasks
|
||||||
|
- At the end of a development session
|
||||||
|
- When preparing for releases
|
||||||
|
|
||||||
## Notes:
|
## Notes:
|
||||||
|
|
||||||
- Always commit common_plat first since other repos may reference its packages
|
- Script location: `~/commit-workspace.sh`
|
||||||
- Use `--no-verify` only if pre-commit hooks are blocking on non-code issues
|
- Requires git access to all repos
|
||||||
- After committing, run `/repo_push-repos` to push all to origin
|
- Works with any branch (but assumes main is primary)
|
||||||
|
- Will skip repos with no changes
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
---
|
---
|
||||||
description: Pull latest from origin main across all 5 workspace repos
|
description: Pull latest from origin main across all 7 workspace repos
|
||||||
---
|
---
|
||||||
|
|
||||||
# Sync Repos
|
# Sync Repos
|
||||||
@ -9,7 +9,7 @@ Pulls the latest changes from `origin/main` for all workspace repositories.
|
|||||||
// turbo
|
// turbo
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
for repo in learning_ai_common_plat learning_voice_ai_agent learning_multimodal_memory_agents learning_ai_clock learning_ai_fastgap; do
|
for repo in learning_ai_common_plat learning_voice_ai_agent learning_multimodal_memory_agents learning_ai_clock learning_ai_fastgap learning_ai_jarvis_jr learning_ai_peakpulse; do
|
||||||
echo "━━━ $repo ━━━"
|
echo "━━━ $repo ━━━"
|
||||||
(cd ~/code/mygh/$repo && git pull --ff-only origin main)
|
(cd ~/code/mygh/$repo && git pull --ff-only origin main)
|
||||||
done
|
done
|
||||||
@ -17,7 +17,7 @@ done
|
|||||||
|
|
||||||
## What it does:
|
## What it does:
|
||||||
|
|
||||||
1. Iterates over all 5 workspace repos
|
1. Iterates over all 7 workspace repos
|
||||||
2. Runs `git pull --ff-only origin main` in each
|
2. Runs `git pull --ff-only origin main` in each
|
||||||
3. Fails fast if there are local divergent commits (use `git pull --rebase` manually in that case)
|
3. Fails fast if there are local divergent commits (use `git pull --rebase` manually in that case)
|
||||||
|
|
||||||
@ -28,6 +28,8 @@ done
|
|||||||
- learning_multimodal_memory_agents
|
- learning_multimodal_memory_agents
|
||||||
- learning_ai_clock
|
- learning_ai_clock
|
||||||
- learning_ai_fastgap
|
- learning_ai_fastgap
|
||||||
|
- learning_ai_jarvis_jr
|
||||||
|
- learning_ai_peakpulse
|
||||||
|
|
||||||
## When to use:
|
## When to use:
|
||||||
|
|
||||||
|
|||||||
51
.windsurf/workflows/repo_update-agent-docs.md
Normal file
51
.windsurf/workflows/repo_update-agent-docs.md
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
---
|
||||||
|
description: Regenerate AI agent docs (AGENTS.md, CLAUDE.md, .cursorrules, etc.) across all repos
|
||||||
|
---
|
||||||
|
|
||||||
|
# Update Agent Docs Across Workspace
|
||||||
|
|
||||||
|
Regenerates all 8 AI agent configuration files across all repos in the workspace.
|
||||||
|
|
||||||
|
## Files Generated Per Repo
|
||||||
|
|
||||||
|
| File | Tool |
|
||||||
|
|------|------|
|
||||||
|
| `AGENTS.md` | Universal (OpenAI Codex, Claude, Copilot, etc.) |
|
||||||
|
| `CLAUDE.md` | Claude Code |
|
||||||
|
| `.cursorrules` | Cursor AI |
|
||||||
|
| `.github/copilot-instructions.md` | GitHub Copilot |
|
||||||
|
| `.windsurfrules` | Windsurf / Cascade |
|
||||||
|
| `.clinerules` | Cline / Roo Code |
|
||||||
|
| `.aider.conf.yml` | Aider |
|
||||||
|
| `.editorconfig` | All editors |
|
||||||
|
|
||||||
|
## Steps
|
||||||
|
|
||||||
|
1. Run the update script:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cd /Users/sd9235/code/mygh/learning_ai_common_plat
|
||||||
|
./scripts/update-agent-docs.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
2. Review changes per repo:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cd /Users/sd9235/code/mygh/learning_voice_ai_agent && git diff --stat
|
||||||
|
cd /Users/sd9235/code/mygh/learning_multimodal_memory_agents && git diff --stat
|
||||||
|
# ... etc for all repos
|
||||||
|
```
|
||||||
|
|
||||||
|
3. Commit changes (if any):
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cd /Users/sd9235/code/mygh/learning_voice_ai_agent
|
||||||
|
[ -n "$(git status --porcelain)" ] && git add -A && git commit -m "chore(docs): update agent configuration files"
|
||||||
|
```
|
||||||
|
|
||||||
|
## Notes
|
||||||
|
|
||||||
|
- The script scans each repo's structure and regenerates docs based on current state
|
||||||
|
- Only commits if there are actual changes
|
||||||
|
- Safe to run repeatedly (idempotent)
|
||||||
|
- Requires `learning_ai_common_plat` to be the source of truth for templates
|
||||||
Loading…
Reference in New Issue
Block a user