Skip to content

Commit 34a04f9

Browse files
docs(acfs): add swarm memory preflight
1 parent 1d270eb commit 34a04f9

4 files changed

Lines changed: 63 additions & 26 deletions

File tree

.beads/issues.jsonl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -682,7 +682,7 @@
682682
{"id":"bd-gxf9","title":"TASK: Integrate cheatsheet into acfs CLI","description":"# TASK: Integrate cheatsheet into acfs CLI\n\n## Context\nWire up the cheatsheet command into the acfs CLI and onboard.\n\n## Implementation\n\n### Add to acfs() function\n```bash\nacfs() {\n case \"$1\" in\n cheatsheet|cs)\n shift\n source \"${ACFS_HOME:-$HOME/.acfs}/scripts/lib/cheatsheet.sh\"\n acfs_cheatsheet \"$@\"\n ;;\n # ...\n esac\n}\n```\n\n### Add to onboard\n```bash\nonboard --cheatsheet # Invokes acfs cheatsheet\n```\n\n### Update help text\nAdd to acfs help output.\n\n## Acceptance Criteria\n- [ ] acfs cheatsheet works\n- [ ] acfs cs (short alias) works\n- [ ] onboard --cheatsheet works\n- [ ] Help text updated","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-22T19:58:37.872741Z","updated_at":"2025-12-22T20:12:03.093458Z","closed_at":"2025-12-22T20:12:03.093458Z","close_reason":"Complete: cheatsheet.sh with dynamic alias parsing, terminal/JSON output, filtering, integrated into acfs CLI","source_repo":".","compaction_level":0,"original_size":0,"dependencies":[{"issue_id":"bd-gxf9","depends_on_id":"bd-xv9e","type":"blocks","created_at":"2025-12-22T19:59:00.779759Z","created_by":"jemanuel","metadata":"{}","thread_id":""}]}
683683
{"id":"bd-gy0i","title":"FEATURE: Command Discovery & Cheatsheet System","description":"# FEATURE: Command Discovery & Cheatsheet System\n\n## Purpose\nMake the 50+ aliases and commands installed by ACFS discoverable without requiring users to read configuration files.\n\n## The Problem\n\nACFS installs a rich set of aliases in `~/.acfs/zsh/acfs.zshrc`:\n- 15+ git shortcuts (gs, gd, gp, glog, etc.)\n- 10+ modern CLI remappings (ls→lsd, cat→bat, etc.)\n- 5+ docker shortcuts (dc, dps, dex, etc.)\n- 3 agent launchers (cc, cod, gmi)\n- Directory jumps (dev, proj, dots, p)\n- Bun helpers (br, bl, bt)\n- And more...\n\n**But users don't know these exist!** They either:\n1. Don't read zshrc (most users)\n2. Forget aliases they don't use daily\n3. Reinvent the wheel with longer commands\n\n## Proposed Solution\n\n### 1. Cheatsheet Command\n```bash\n$ acfs cheatsheet\n# or\n$ onboard --cheatsheet\n\n╭─────────────────────────────────────────────────────────────╮\n│ ACFS Command Cheatsheet │\n╰─────────────────────────────────────────────────────────────╯\n\nAI Agents\n cc Claude Code (with permissions bypass)\n cod Codex CLI (sandbox bypass)\n gmi Gemini CLI (yolo mode)\n am Start MCP Agent Mail server\n\nGit Shortcuts\n gs git status\n gd git diff\n gp git push\n gpu git pull\n gco <branch> git checkout\n gcm \"msg\" git commit -m\n glog Pretty git log graph\n\nModern CLI\n ls → lsd (with icons)\n cat → bat (syntax highlight)\n find → fd (faster)\n grep → rg (ripgrep)\n top → btop (beautiful)\n\nSession Management\n ntm new <name> Create tmux session\n ntm attach <n> Resume session\n ntm list Show all sessions\n Ctrl+B, D Detach from session\n\nDirectories\n p → /data/projects\n proj → ~/Projects\n dev → ~/Development\n\nSearch 'pattern' to filter: acfs cheatsheet git\n```\n\n### 2. Enhanced `acfs help`\nCurrently shows subcommands. Enhance to include:\n```bash\n$ acfs help --commands # Alias for cheatsheet\n$ acfs help --aliases # Just the alias mappings\n```\n\n### 3. Integration Points\n- Include condensed version in `acfs info` output\n- Add \"Quick Commands\" section to onboard lessons\n- Make cheatsheet searchable/filterable\n\n## Implementation Approach\n\n### Extraction, Not Duplication\n**CRITICAL**: Do NOT hardcode alias list in the cheatsheet script!\n\nInstead:\n1. Parse `~/.acfs/zsh/acfs.zshrc` programmatically\n2. Extract alias definitions with regex\n3. Categorize based on comments/patterns\n4. Generate cheatsheet dynamically\n\nThis ensures:\n- Single source of truth (zshrc)\n- Cheatsheet auto-updates when aliases change\n- No sync issues between files\n\n### Category Detection\nUse comments in zshrc as section markers:\n```bash\n# === Git Aliases ===\nalias gs='git status'\n...\n```\n\nOr detect by pattern:\n- Starts with 'g' + git command → Git category\n- Starts with 'd' + docker command → Docker category\n- Known tools (cc, cod, gmi) → Agents category\n\n## File Locations\n- Implementation: `scripts/lib/cheatsheet.sh` (new)\n- Integration: Update `acfs.zshrc` acfs() function\n- Also expose via: `onboard --cheatsheet`\n\n## Output Formats\n- Terminal (default): Colorful, categorized\n- `--json`: Machine-readable\n- `--category git`: Filter to one category\n- `--search pattern`: Filter by name/description\n\n## Acceptance Criteria\n- [ ] `acfs cheatsheet` shows all aliases categorized\n- [ ] Aliases extracted dynamically from zshrc (not hardcoded)\n- [ ] Searchable/filterable output\n- [ ] Categories: Agents, Git, Docker, CLI, Directories, Bun, Session\n- [ ] Condensed version appears in `acfs info` output\n- [ ] Works offline\n- [ ] Gum-enhanced UI with fallback\n\n## Design Considerations\n\n### Why Dynamic Extraction?\nIf we hardcode the cheatsheet, it WILL drift from actual aliases. Dynamic extraction ensures accuracy.\n\n### Why Not Just 'alias' Command?\nThe built-in `alias` command dumps everything unsorted. Users need:\n- Categorization\n- Descriptions (what does 'glog' actually do?)\n- Visual hierarchy\n- Filtering\n\n### Integration with Onboard\nConsider adding to lesson 04_agents_login.md or creating a new \"Command Reference\" lesson that pulls from this system.","status":"closed","priority":2,"issue_type":"feature","created_at":"2025-12-22T19:52:59.619549Z","updated_at":"2025-12-22T20:20:18.633152Z","closed_at":"2025-12-22T20:20:18.633152Z","close_reason":"Cheatsheet system complete: acfs cheatsheet command with dynamic zshrc parsing, category/search filtering, JSON output, gum UI with fallback","source_repo":".","compaction_level":0,"original_size":0,"dependencies":[{"issue_id":"bd-gy0i","depends_on_id":"bd-9y9x","type":"blocks","created_at":"2025-12-22T19:53:13.629886Z","created_by":"jemanuel","metadata":"{}","thread_id":""}]}
684684
{"id":"bd-h1b5","title":"apr: Create Learning Hub lesson","description":"# Create apr Learning Hub Lesson\n\n## Context\nTeach users the spec-driven development workflow using apr.\n\n## Lesson Structure\n\n### Title: \"Spec-Driven Development with apr\"\n\n### Learning Objectives\n1. Understand why specifications matter\n2. Use apr for iterative refinement\n3. Integrate refined specs into implementation\n4. Use robot mode for agent automation\n\n### Lesson Outline\n\n**Section 1: Why Specifications Matter (5 min)**\n- The cost of unclear requirements\n- How apr reduces back-and-forth\n- When to use apr vs just coding\n\n**Section 2: Getting Started (10 min)**\n- Initialize project: `apr init`\n- Create initial spec: `apr new`\n- View spec status: `apr status`\n\n**Section 3: Refinement Loop (15 min)**\n- Start refinement: `apr refine`\n- Review suggestions\n- Accept/reject changes\n- Iterate until satisfied\n\n**Section 4: Integration (10 min)**\n- Export final spec: `apr export`\n- Use with bd (beads) for task breakdown\n- Robot mode: `apr robot refine`\n\n### Quiz Questions\n1. When should you use apr vs diving into code?\n2. What LLM does apr use for refinement?\n3. How do you export a finalized spec?\n\n## Acceptance Criteria\n- [ ] Lesson file created\n- [ ] All sections with examples\n- [ ] Quiz questions added","status":"closed","priority":2,"issue_type":"task","owner":"jeff141421@gmail.com","created_at":"2026-01-15T18:20:51.610099582Z","created_by":"Dicklesworthstone","updated_at":"2026-01-15T18:57:19.873156833Z","closed_at":"2026-01-15T18:57:19.873156833Z","close_reason":"Created apr-lesson.tsx","source_repo":".","compaction_level":0,"original_size":0,"labels":["apr","documentation","learning-hub"],"dependencies":[{"issue_id":"bd-h1b5","depends_on_id":"bd-htcq","type":"blocks","created_at":"2026-01-15T18:38:33.302139868Z","created_by":"Dicklesworthstone","metadata":"","thread_id":""}]}
685-
{"id":"bd-h6b83","title":"Add CASS and CM context preflight to swarm launch workflow","description":"## Parent program\n`bd-nlb8w`; next-best idea from the idea-wizard expansion; depends on coordinate doctor `bd-p3nxh` and launch profiles `bd-oky34`.\n\n## What\nAdd a CASS/CM context preflight to the swarm launch workflow so agents can quickly recover relevant prior sessions, repo-specific procedural memory, known command shapes, and current task constraints before starting work.\n\n## Why\nLarge swarms waste time and create regressions when every agent rediscovers the same project facts or misses established command conventions. ACFS should make useful memory retrieval a standard launch step, not an optional expert habit.\n\n## How\nDocument and, where practical, script a bounded preflight that uses CASS/CM only for targeted project history and avoids dumping huge context. Integrate with launch profiles, onboarding lessons, or coordinate doctor output as an advisory step.\n\n## Risks\nDo not make stale memory authoritative over current repo files. The workflow must tell agents to verify drift-prone facts cheaply and preserve AGENTS.md/README as the current source of truth.\n\n## Success criteria\n- Workflow includes exact CASS/CM commands or prompts for project-specific context recovery.\n- Guidance distinguishes durable memory from facts that must be rechecked in the repo.\n- Content tests or docs checks prevent stale branch names, bare `bv`, local CPU-heavy cargo examples, or unsafe cleanup instructions.","status":"open","priority":3,"issue_type":"task","created_at":"2026-05-08T04:40:27.012675111Z","created_by":"ubuntu","updated_at":"2026-05-08T04:41:11.954459031Z","source_repo":".","compaction_level":0,"original_size":0,"labels":["cass","cm","docs","idea-wizard","onboarding","swarm"],"dependencies":[{"issue_id":"bd-h6b83","depends_on_id":"bd-oky34","type":"blocks","created_at":"2026-05-08T04:41:11.953992958Z","created_by":"ubuntu","metadata":"{}","thread_id":""},{"issue_id":"bd-h6b83","depends_on_id":"bd-p3nxh","type":"blocks","created_at":"2026-05-08T04:41:04.665292185Z","created_by":"ubuntu","metadata":"{}","thread_id":""}]}
685+
{"id":"bd-h6b83","title":"Add CASS and CM context preflight to swarm launch workflow","description":"## Parent program\n`bd-nlb8w`; next-best idea from the idea-wizard expansion; depends on coordinate doctor `bd-p3nxh` and launch profiles `bd-oky34`.\n\n## What\nAdd a CASS/CM context preflight to the swarm launch workflow so agents can quickly recover relevant prior sessions, repo-specific procedural memory, known command shapes, and current task constraints before starting work.\n\n## Why\nLarge swarms waste time and create regressions when every agent rediscovers the same project facts or misses established command conventions. ACFS should make useful memory retrieval a standard launch step, not an optional expert habit.\n\n## How\nDocument and, where practical, script a bounded preflight that uses CASS/CM only for targeted project history and avoids dumping huge context. Integrate with launch profiles, onboarding lessons, or coordinate doctor output as an advisory step.\n\n## Risks\nDo not make stale memory authoritative over current repo files. The workflow must tell agents to verify drift-prone facts cheaply and preserve AGENTS.md/README as the current source of truth.\n\n## Success criteria\n- Workflow includes exact CASS/CM commands or prompts for project-specific context recovery.\n- Guidance distinguishes durable memory from facts that must be rechecked in the repo.\n- Content tests or docs checks prevent stale branch names, bare `bv`, local CPU-heavy cargo examples, or unsafe cleanup instructions.","status":"closed","priority":3,"issue_type":"task","created_at":"2026-05-08T04:40:27.012675111Z","created_by":"ubuntu","updated_at":"2026-05-08T09:40:17.912873699Z","closed_at":"2026-05-08T09:40:17.912659408Z","close_reason":"Added bounded CASS/CM context preflight to swarm coordination workflow","source_repo":".","compaction_level":0,"original_size":0,"labels":["cass","cm","docs","idea-wizard","onboarding","swarm"],"dependencies":[{"issue_id":"bd-h6b83","depends_on_id":"bd-oky34","type":"blocks","created_at":"2026-05-08T04:41:11.953992958Z","created_by":"ubuntu","metadata":"{}","thread_id":""},{"issue_id":"bd-h6b83","depends_on_id":"bd-p3nxh","type":"blocks","created_at":"2026-05-08T04:41:04.665292185Z","created_by":"ubuntu","metadata":"{}","thread_id":""}]}
686686
{"id":"bd-h7kw","title":"Clarify VPS provider account vs VPS instance distinction","description":"# Task: Clarify Account vs Instance Distinction\n\n## Parent Epic\n[EPIC] VPS Conceptual Framework\n\n## Problem\nThe wizard has \"Rent VPS\" and \"Create VPS\" as separate steps. Beginners don't understand:\n- \"Rent VPS\" = Create an account with a provider (like signing up for Netflix)\n- \"Create VPS\" = Launch an actual server (like picking a show to watch)\n\nThis causes confusion when they complete step 4 and think they have a VPS already.\n\n## Implementation Details\nLocation: apps/web/app/wizard/rent-vps/page.tsx (end of page) and create-vps/page.tsx (top)\n\nAdd transition text at end of rent-vps:\n\\`\\`\\`tsx\n<AlertCard variant=\"info\" icon={Info}>\n <strong>Account created? Great!</strong> Now you need to actually launch a server.\n Having an account is like having a Netflix subscription — you still need to pick \n something to watch. The next step creates your actual VPS.\n</AlertCard>\n\\`\\`\\`\n\nAdd clarification at top of create-vps:\n\\`\\`\\`tsx\n<p className=\"text-muted-foreground\">\n You have an account with your VPS provider. Now let's create the actual server\n (the VPS instance) that will run your development environment.\n</p>\n\\`\\`\\`\n\n## Acceptance Criteria\n- [ ] Clear distinction between account and instance\n- [ ] Relatable analogy (Netflix subscription vs picking a show)\n- [ ] Transition text links the two steps\n- [ ] Users understand they have two passwords (account + root)\n\n## Why This Matters\nThis confusion directly causes the \"wrong password\" issue at SSH connection. Users try their Hetzner account password instead of their VPS root password.","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-22T18:54:03.255992Z","updated_at":"2025-12-22T19:30:15.013186Z","closed_at":"2025-12-22T19:30:15.013186Z","close_reason":"Added: (1) Transition AlertCard at end of rent-vps with Netflix analogy explaining account vs instance, (2) Clarifying text at top of create-vps page","source_repo":".","compaction_level":0,"original_size":0,"dependencies":[{"issue_id":"bd-h7kw","depends_on_id":"bd-a9nk","type":"blocks","created_at":"2025-12-22T18:57:17.500583Z","created_by":"jemanuel","metadata":"{}","thread_id":""}]}
687687
{"id":"bd-hao","title":"[codex.3] Document OpenAI account types distinction","description":"## Goal\nAdd clear documentation explaining the difference between OpenAI API accounts and ChatGPT accounts.\n\n## Why This Matters\nMany users are confused because OpenAI has TWO distinct account/auth systems:\n\n### 1. OpenAI API Account\n- **Purpose**: Programmatic API access (for developers building apps)\n- **Auth**: OPENAI_API_KEY environment variable\n- **Billing**: Pay-per-token, separate API billing\n- **Where**: platform.openai.com\n- **What uses it**: OpenAI SDK, custom applications\n- **NOT used by**: codex-cli\n\n### 2. ChatGPT Account (Pro/Plus/Teams)\n- **Purpose**: Consumer chat interface and coding tools\n- **Auth**: OAuth via web browser (email/password or SSO)\n- **Billing**: Monthly subscription\n- **Where**: chat.openai.com\n- **What uses it**: ChatGPT website, codex-cli, mobile app\n- **Used by**: codex-cli!\n\n## Documentation to Create/Update\n1. Add section to README.md or create docs/agent-auth.md\n2. Update acfs/onboard/lessons/04_agents_login.md with clarification\n3. Consider adding to wizard website (apps/web/)\n\n## Key Points to Document\n1. codex-cli uses ChatGPT account, NOT API key\n2. No OPENAI_API_KEY needed for codex-cli\n3. Authentication flow: run \"codex auth\" → browser opens → login → done\n4. May need to enable device access in ChatGPT settings\n5. caam can backup/restore codex credentials just like claude/gemini\n\n## Acceptance Criteria\n1. Clear explanation of the two account types\n2. Explicit statement that codex-cli uses ChatGPT, not API\n3. Step-by-step auth guide for codex-cli\n4. Reference to ChatGPT security settings if needed","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-21T21:25:37.395114Z","updated_at":"2025-12-21T21:45:34.456497Z","closed_at":"2025-12-21T21:45:34.456497Z","close_reason":"Updated acfs/onboard/lessons/04_agents_login.md with clear table distinguishing ChatGPT (OAuth) vs API (key) account types. docs/codex-auth-research.md already has technical details.","source_repo":".","compaction_level":0,"original_size":0,"dependencies":[{"issue_id":"bd-hao","depends_on_id":"bd-ua5","type":"blocks","created_at":"2025-12-21T21:26:36.053709Z","created_by":"daemon","metadata":"{}","thread_id":""}]}
688688
{"id":"bd-hby","title":"Implement AI agent updates (claude, codex, gemini)","description":"## What\nImplement the 'agents' category for acfs-update:\n- Claude Code: claude update (built-in) or reinstall via official installer\n- Codex CLI: bun update -g @openai/codex\n- Gemini CLI: bun update -g @google/gemini-cli\n\n## Technical Details\n- Claude Code has native update: ~/.local/bin/claude update\n- If claude update fails, fall back to reinstall via installer\n- Codex/Gemini are bun global packages - simple bun update\n\n## Considerations\n- Claude update may require re-authentication after major updates\n- Codex/Gemini updates are quick (just npm package updates)\n- Must use target user's bun, not root's\n\n## Success Criteria\n- [ ] All agents update correctly\n- [ ] Fallback to reinstall works for Claude\n- [ ] Version changes logged\n- [ ] Authentication state preserved where possible","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-21T18:26:12.067763Z","updated_at":"2025-12-21T20:14:53.146714Z","closed_at":"2025-12-21T20:14:53.146714Z","close_reason":"Implemented version tracking for all agents, Claude update fallback to reinstall","source_repo":".","compaction_level":0,"original_size":0,"dependencies":[{"issue_id":"bd-hby","depends_on_id":"bd-75e","type":"blocks","created_at":"2025-12-21T18:27:25.187073Z","created_by":"daemon","metadata":"{}","thread_id":""}]}

0 commit comments

Comments
 (0)