@fifine/aim-studio 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +159 -0
- package/bin/aim.js +3 -0
- package/dist/cli/index.d.ts +3 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +89 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/commands/init.d.ts +13 -0
- package/dist/commands/init.d.ts.map +1 -0
- package/dist/commands/init.js +513 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/update.d.ts +27 -0
- package/dist/commands/update.d.ts.map +1 -0
- package/dist/commands/update.js +1275 -0
- package/dist/commands/update.js.map +1 -0
- package/dist/configurators/claude.d.ts +32 -0
- package/dist/configurators/claude.d.ts.map +1 -0
- package/dist/configurators/claude.js +98 -0
- package/dist/configurators/claude.js.map +1 -0
- package/dist/configurators/index.d.ts +51 -0
- package/dist/configurators/index.d.ts.map +1 -0
- package/dist/configurators/index.js +113 -0
- package/dist/configurators/index.js.map +1 -0
- package/dist/configurators/shared.d.ts +12 -0
- package/dist/configurators/shared.d.ts.map +1 -0
- package/dist/configurators/shared.js +21 -0
- package/dist/configurators/shared.js.map +1 -0
- package/dist/configurators/workflow.d.ts +28 -0
- package/dist/configurators/workflow.d.ts.map +1 -0
- package/dist/configurators/workflow.js +147 -0
- package/dist/configurators/workflow.js.map +1 -0
- package/dist/constants/paths.d.ts +68 -0
- package/dist/constants/paths.d.ts.map +1 -0
- package/dist/constants/paths.js +77 -0
- package/dist/constants/paths.js.map +1 -0
- package/dist/constants/version.d.ts +9 -0
- package/dist/constants/version.d.ts.map +1 -0
- package/dist/constants/version.js +15 -0
- package/dist/constants/version.js.map +1 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +9 -0
- package/dist/index.js.map +1 -0
- package/dist/migrations/index.d.ts +54 -0
- package/dist/migrations/index.d.ts.map +1 -0
- package/dist/migrations/index.js +160 -0
- package/dist/migrations/index.js.map +1 -0
- package/dist/migrations/manifests/0.0.1.json +9 -0
- package/dist/migrations/manifests/0.1.9.json +30 -0
- package/dist/migrations/manifests/0.2.0.json +49 -0
- package/dist/migrations/manifests/0.2.12.json +9 -0
- package/dist/migrations/manifests/0.2.13.json +9 -0
- package/dist/migrations/manifests/0.2.14.json +175 -0
- package/dist/migrations/manifests/0.2.15.json +33 -0
- package/dist/migrations/manifests/0.3.0-beta.0.json +278 -0
- package/dist/migrations/manifests/0.3.0-beta.1.json +9 -0
- package/dist/migrations/manifests/0.3.0-beta.10.json +9 -0
- package/dist/migrations/manifests/0.3.0-beta.11.json +9 -0
- package/dist/migrations/manifests/0.3.0-beta.12.json +9 -0
- package/dist/migrations/manifests/0.3.0-beta.13.json +9 -0
- package/dist/migrations/manifests/0.3.0-beta.14.json +9 -0
- package/dist/migrations/manifests/0.3.0-beta.15.json +9 -0
- package/dist/migrations/manifests/0.3.0-beta.16.json +9 -0
- package/dist/migrations/manifests/0.3.0-beta.2.json +9 -0
- package/dist/migrations/manifests/0.3.0-beta.3.json +9 -0
- package/dist/migrations/manifests/0.3.0-beta.4.json +9 -0
- package/dist/migrations/manifests/0.3.0-beta.5.json +9 -0
- package/dist/migrations/manifests/0.3.0-beta.6.json +9 -0
- package/dist/migrations/manifests/0.3.0-beta.7.json +11 -0
- package/dist/migrations/manifests/0.3.0-beta.8.json +9 -0
- package/dist/migrations/manifests/0.3.0-beta.9.json +9 -0
- package/dist/migrations/manifests/0.3.0-rc.0.json +9 -0
- package/dist/migrations/manifests/0.3.0-rc.1.json +9 -0
- package/dist/migrations/manifests/0.3.0-rc.2.json +9 -0
- package/dist/templates/CLAUDE.md +71 -0
- package/dist/templates/aim/gitignore.txt +29 -0
- package/dist/templates/aim/index.d.ts +49 -0
- package/dist/templates/aim/index.d.ts.map +1 -0
- package/dist/templates/aim/index.js +92 -0
- package/dist/templates/aim/index.js.map +1 -0
- package/dist/templates/aim/scripts/__init__.py +5 -0
- package/dist/templates/aim/scripts/add_session.py +392 -0
- package/dist/templates/aim/scripts/common/__init__.py +80 -0
- package/dist/templates/aim/scripts/common/cli_adapter.py +435 -0
- package/dist/templates/aim/scripts/common/developer.py +190 -0
- package/dist/templates/aim/scripts/common/git_context.py +383 -0
- package/dist/templates/aim/scripts/common/paths.py +347 -0
- package/dist/templates/aim/scripts/common/phase.py +253 -0
- package/dist/templates/aim/scripts/common/registry.py +366 -0
- package/dist/templates/aim/scripts/common/task_queue.py +255 -0
- package/dist/templates/aim/scripts/common/task_utils.py +178 -0
- package/dist/templates/aim/scripts/common/worktree.py +219 -0
- package/dist/templates/aim/scripts/create_bootstrap.py +290 -0
- package/dist/templates/aim/scripts/get_context.py +16 -0
- package/dist/templates/aim/scripts/get_developer.py +26 -0
- package/dist/templates/aim/scripts/init_developer.py +51 -0
- package/dist/templates/aim/scripts/multi_agent/__init__.py +5 -0
- package/dist/templates/aim/scripts/multi_agent/cleanup.py +403 -0
- package/dist/templates/aim/scripts/multi_agent/create_pr.py +329 -0
- package/dist/templates/aim/scripts/multi_agent/plan.py +233 -0
- package/dist/templates/aim/scripts/multi_agent/start.py +461 -0
- package/dist/templates/aim/scripts/multi_agent/status.py +817 -0
- package/dist/templates/aim/scripts/task.py +1068 -0
- package/dist/templates/aim/scripts-shell-archive/add-session.sh +384 -0
- package/dist/templates/aim/scripts-shell-archive/common/developer.sh +129 -0
- package/dist/templates/aim/scripts-shell-archive/common/git-context.sh +263 -0
- package/dist/templates/aim/scripts-shell-archive/common/paths.sh +208 -0
- package/dist/templates/aim/scripts-shell-archive/common/phase.sh +150 -0
- package/dist/templates/aim/scripts-shell-archive/common/registry.sh +247 -0
- package/dist/templates/aim/scripts-shell-archive/common/task-queue.sh +142 -0
- package/dist/templates/aim/scripts-shell-archive/common/task-utils.sh +151 -0
- package/dist/templates/aim/scripts-shell-archive/common/worktree.sh +128 -0
- package/dist/templates/aim/scripts-shell-archive/create-bootstrap.sh +299 -0
- package/dist/templates/aim/scripts-shell-archive/get-context.sh +7 -0
- package/dist/templates/aim/scripts-shell-archive/get-developer.sh +15 -0
- package/dist/templates/aim/scripts-shell-archive/init-developer.sh +34 -0
- package/dist/templates/aim/scripts-shell-archive/multi-agent/cleanup.sh +396 -0
- package/dist/templates/aim/scripts-shell-archive/multi-agent/create-pr.sh +241 -0
- package/dist/templates/aim/scripts-shell-archive/multi-agent/plan.sh +207 -0
- package/dist/templates/aim/scripts-shell-archive/multi-agent/start.sh +317 -0
- package/dist/templates/aim/scripts-shell-archive/multi-agent/status.sh +828 -0
- package/dist/templates/aim/scripts-shell-archive/task.sh +1204 -0
- package/dist/templates/aim/tasks/.gitkeep +0 -0
- package/dist/templates/aim/workflow.md +258 -0
- package/dist/templates/aim/worktree.yaml +47 -0
- package/dist/templates/claude/agents/check.md +122 -0
- package/dist/templates/claude/agents/debug.md +106 -0
- package/dist/templates/claude/agents/dispatch.md +230 -0
- package/dist/templates/claude/agents/implement.md +96 -0
- package/dist/templates/claude/agents/plan.md +396 -0
- package/dist/templates/claude/agents/research.md +120 -0
- package/dist/templates/claude/agents/story.md +53 -0
- package/dist/templates/claude/commands/aim/before-backend-dev.md +13 -0
- package/dist/templates/claude/commands/aim/before-frontend-dev.md +13 -0
- package/dist/templates/claude/commands/aim/break-loop.md +153 -0
- package/dist/templates/claude/commands/aim/check-backend.md +13 -0
- package/dist/templates/claude/commands/aim/check-cross-layer.md +153 -0
- package/dist/templates/claude/commands/aim/check-frontend.md +13 -0
- package/dist/templates/claude/commands/aim/check-story.md +59 -0
- package/dist/templates/claude/commands/aim/create-command.md +154 -0
- package/dist/templates/claude/commands/aim/export.md +187 -0
- package/dist/templates/claude/commands/aim/finish-work.md +104 -0
- package/dist/templates/claude/commands/aim/integrate-skill.md +219 -0
- package/dist/templates/claude/commands/aim/onboard.md +358 -0
- package/dist/templates/claude/commands/aim/parallel.md +217 -0
- package/dist/templates/claude/commands/aim/portrait.md +170 -0
- package/dist/templates/claude/commands/aim/record-session.md +92 -0
- package/dist/templates/claude/commands/aim/start.md +112 -0
- package/dist/templates/claude/commands/aim/story.md +140 -0
- package/dist/templates/claude/commands/aim/update-spec.md +285 -0
- package/dist/templates/claude/commands/aim/visualize.md +182 -0
- package/dist/templates/claude/commands/trellis/before-backend-dev.md +13 -0
- package/dist/templates/claude/commands/trellis/before-frontend-dev.md +13 -0
- package/dist/templates/claude/commands/trellis/break-loop.md +125 -0
- package/dist/templates/claude/commands/trellis/check-backend.md +13 -0
- package/dist/templates/claude/commands/trellis/check-cross-layer.md +153 -0
- package/dist/templates/claude/commands/trellis/check-frontend.md +13 -0
- package/dist/templates/claude/commands/trellis/create-command.md +154 -0
- package/dist/templates/claude/commands/trellis/finish-work.md +129 -0
- package/dist/templates/claude/commands/trellis/integrate-skill.md +219 -0
- package/dist/templates/claude/commands/trellis/onboard.md +358 -0
- package/dist/templates/claude/commands/trellis/parallel.md +193 -0
- package/dist/templates/claude/commands/trellis/record-session.md +62 -0
- package/dist/templates/claude/commands/trellis/start.md +280 -0
- package/dist/templates/claude/commands/trellis/update-spec.md +285 -0
- package/dist/templates/claude/hooks/inject-subagent-context.py +772 -0
- package/dist/templates/claude/hooks/ralph-loop.py +388 -0
- package/dist/templates/claude/hooks/session-start.py +142 -0
- package/dist/templates/claude/index.d.ts +54 -0
- package/dist/templates/claude/index.d.ts.map +1 -0
- package/dist/templates/claude/index.js +85 -0
- package/dist/templates/claude/index.js.map +1 -0
- package/dist/templates/claude/settings.json +41 -0
- package/dist/templates/extract.d.ts +68 -0
- package/dist/templates/extract.d.ts.map +1 -0
- package/dist/templates/extract.js +128 -0
- package/dist/templates/extract.js.map +1 -0
- package/dist/templates/markdown/agents.md +25 -0
- package/dist/templates/markdown/gitignore.txt +12 -0
- package/dist/templates/markdown/index.d.ts +32 -0
- package/dist/templates/markdown/index.d.ts.map +1 -0
- package/dist/templates/markdown/index.js +58 -0
- package/dist/templates/markdown/index.js.map +1 -0
- package/dist/templates/markdown/spec/backend/database-guidelines.md.txt +51 -0
- package/dist/templates/markdown/spec/backend/directory-structure.md.txt +54 -0
- package/dist/templates/markdown/spec/backend/error-handling.md.txt +51 -0
- package/dist/templates/markdown/spec/backend/index.md +40 -0
- package/dist/templates/markdown/spec/backend/index.md.txt +38 -0
- package/dist/templates/markdown/spec/backend/logging-guidelines.md.txt +51 -0
- package/dist/templates/markdown/spec/backend/quality-guidelines.md.txt +51 -0
- package/dist/templates/markdown/spec/backend/script-conventions.md +467 -0
- package/dist/templates/markdown/spec/frontend/component-guidelines.md.txt +59 -0
- package/dist/templates/markdown/spec/frontend/directory-structure.md.txt +54 -0
- package/dist/templates/markdown/spec/frontend/hook-guidelines.md.txt +51 -0
- package/dist/templates/markdown/spec/frontend/index.md.txt +39 -0
- package/dist/templates/markdown/spec/frontend/quality-guidelines.md.txt +51 -0
- package/dist/templates/markdown/spec/frontend/state-management.md.txt +51 -0
- package/dist/templates/markdown/spec/frontend/type-safety.md.txt +51 -0
- package/dist/templates/markdown/spec/guides/code-reuse-thinking-guide.md +118 -0
- package/dist/templates/markdown/spec/guides/code-reuse-thinking-guide.md.txt +92 -0
- package/dist/templates/markdown/spec/guides/cross-layer-thinking-guide.md.txt +94 -0
- package/dist/templates/markdown/spec/guides/cross-platform-thinking-guide.md +394 -0
- package/dist/templates/markdown/spec/guides/cross-platform-thinking-guide.md.txt +319 -0
- package/dist/templates/markdown/spec/guides/index.md.txt +89 -0
- package/dist/templates/markdown/spec/story/character.md.txt +95 -0
- package/dist/templates/markdown/spec/story/index.md.txt +31 -0
- package/dist/templates/markdown/spec/story/script.md.txt +313 -0
- package/dist/templates/markdown/spec/story/world.md.txt +92 -0
- package/dist/templates/markdown/workspace-index.md +123 -0
- package/dist/templates/markdown/worktree.yaml.txt +58 -0
- package/dist/templates/trellis/gitignore.txt +29 -0
- package/dist/templates/trellis/index.d.ts +49 -0
- package/dist/templates/trellis/index.d.ts.map +1 -0
- package/dist/templates/trellis/index.js +92 -0
- package/dist/templates/trellis/index.js.map +1 -0
- package/dist/templates/trellis/scripts/__init__.py +5 -0
- package/dist/templates/trellis/scripts/add_session.py +392 -0
- package/dist/templates/trellis/scripts/common/__init__.py +80 -0
- package/dist/templates/trellis/scripts/common/cli_adapter.py +435 -0
- package/dist/templates/trellis/scripts/common/developer.py +190 -0
- package/dist/templates/trellis/scripts/common/git_context.py +383 -0
- package/dist/templates/trellis/scripts/common/paths.py +347 -0
- package/dist/templates/trellis/scripts/common/phase.py +253 -0
- package/dist/templates/trellis/scripts/common/registry.py +366 -0
- package/dist/templates/trellis/scripts/common/task_queue.py +255 -0
- package/dist/templates/trellis/scripts/common/task_utils.py +178 -0
- package/dist/templates/trellis/scripts/common/worktree.py +219 -0
- package/dist/templates/trellis/scripts/create_bootstrap.py +290 -0
- package/dist/templates/trellis/scripts/get_context.py +16 -0
- package/dist/templates/trellis/scripts/get_developer.py +26 -0
- package/dist/templates/trellis/scripts/init_developer.py +51 -0
- package/dist/templates/trellis/scripts/multi_agent/__init__.py +5 -0
- package/dist/templates/trellis/scripts/multi_agent/cleanup.py +403 -0
- package/dist/templates/trellis/scripts/multi_agent/create_pr.py +329 -0
- package/dist/templates/trellis/scripts/multi_agent/plan.py +233 -0
- package/dist/templates/trellis/scripts/multi_agent/start.py +461 -0
- package/dist/templates/trellis/scripts/multi_agent/status.py +817 -0
- package/dist/templates/trellis/scripts/task.py +1056 -0
- package/dist/templates/trellis/scripts-shell-archive/add-session.sh +384 -0
- package/dist/templates/trellis/scripts-shell-archive/common/developer.sh +129 -0
- package/dist/templates/trellis/scripts-shell-archive/common/git-context.sh +263 -0
- package/dist/templates/trellis/scripts-shell-archive/common/paths.sh +208 -0
- package/dist/templates/trellis/scripts-shell-archive/common/phase.sh +150 -0
- package/dist/templates/trellis/scripts-shell-archive/common/registry.sh +247 -0
- package/dist/templates/trellis/scripts-shell-archive/common/task-queue.sh +142 -0
- package/dist/templates/trellis/scripts-shell-archive/common/task-utils.sh +151 -0
- package/dist/templates/trellis/scripts-shell-archive/common/worktree.sh +128 -0
- package/dist/templates/trellis/scripts-shell-archive/create-bootstrap.sh +299 -0
- package/dist/templates/trellis/scripts-shell-archive/get-context.sh +7 -0
- package/dist/templates/trellis/scripts-shell-archive/get-developer.sh +15 -0
- package/dist/templates/trellis/scripts-shell-archive/init-developer.sh +34 -0
- package/dist/templates/trellis/scripts-shell-archive/multi-agent/cleanup.sh +396 -0
- package/dist/templates/trellis/scripts-shell-archive/multi-agent/create-pr.sh +241 -0
- package/dist/templates/trellis/scripts-shell-archive/multi-agent/plan.sh +207 -0
- package/dist/templates/trellis/scripts-shell-archive/multi-agent/start.sh +317 -0
- package/dist/templates/trellis/scripts-shell-archive/multi-agent/status.sh +828 -0
- package/dist/templates/trellis/scripts-shell-archive/task.sh +1204 -0
- package/dist/templates/trellis/tasks/.gitkeep +0 -0
- package/dist/templates/trellis/workflow.md +416 -0
- package/dist/templates/trellis/worktree.yaml +47 -0
- package/dist/types/ai-tools.d.ts +48 -0
- package/dist/types/ai-tools.d.ts.map +1 -0
- package/dist/types/ai-tools.js +32 -0
- package/dist/types/ai-tools.js.map +1 -0
- package/dist/types/migration.d.ts +86 -0
- package/dist/types/migration.d.ts.map +1 -0
- package/dist/types/migration.js +8 -0
- package/dist/types/migration.js.map +1 -0
- package/dist/utils/compare-versions.d.ts +12 -0
- package/dist/utils/compare-versions.d.ts.map +1 -0
- package/dist/utils/compare-versions.js +76 -0
- package/dist/utils/compare-versions.js.map +1 -0
- package/dist/utils/file-writer.d.ts +23 -0
- package/dist/utils/file-writer.d.ts.map +1 -0
- package/dist/utils/file-writer.js +140 -0
- package/dist/utils/file-writer.js.map +1 -0
- package/dist/utils/project-detector.d.ts +16 -0
- package/dist/utils/project-detector.d.ts.map +1 -0
- package/dist/utils/project-detector.js +188 -0
- package/dist/utils/project-detector.js.map +1 -0
- package/dist/utils/template-fetcher.d.ts +51 -0
- package/dist/utils/template-fetcher.d.ts.map +1 -0
- package/dist/utils/template-fetcher.js +174 -0
- package/dist/utils/template-fetcher.js.map +1 -0
- package/dist/utils/template-hash.d.ts +78 -0
- package/dist/utils/template-hash.d.ts.map +1 -0
- package/dist/utils/template-hash.js +239 -0
- package/dist/utils/template-hash.js.map +1 -0
- package/package.json +87 -0
|
@@ -0,0 +1,358 @@
|
|
|
1
|
+
You are a senior developer onboarding a new team member to this project's AI-assisted workflow system.
|
|
2
|
+
|
|
3
|
+
YOUR ROLE: Be a mentor and teacher. Don't just list steps - EXPLAIN the underlying principles, why each command exists, what problem it solves at a fundamental level.
|
|
4
|
+
|
|
5
|
+
## CRITICAL INSTRUCTION - YOU MUST COMPLETE ALL SECTIONS
|
|
6
|
+
|
|
7
|
+
This onboarding has THREE equally important parts:
|
|
8
|
+
|
|
9
|
+
**PART 1: Core Concepts** (Sections: CORE PHILOSOPHY, SYSTEM STRUCTURE, COMMAND DEEP DIVE)
|
|
10
|
+
- Explain WHY this workflow exists
|
|
11
|
+
- Explain WHAT each command does and WHY
|
|
12
|
+
|
|
13
|
+
**PART 2: Real-World Examples** (Section: REAL-WORLD WORKFLOW EXAMPLES)
|
|
14
|
+
- Walk through ALL 5 examples in detail
|
|
15
|
+
- For EACH step in EACH example, explain:
|
|
16
|
+
- PRINCIPLE: Why this step exists
|
|
17
|
+
- WHAT HAPPENS: What the command actually does
|
|
18
|
+
- IF SKIPPED: What goes wrong without it
|
|
19
|
+
|
|
20
|
+
**PART 3: Customize Your Development Guidelines** (Section: CUSTOMIZE YOUR DEVELOPMENT GUIDELINES)
|
|
21
|
+
- Check if project guidelines are still empty templates
|
|
22
|
+
- If empty, guide the developer to fill them with project-specific content
|
|
23
|
+
- Explain the customization workflow
|
|
24
|
+
|
|
25
|
+
DO NOT skip any part. All three parts are essential:
|
|
26
|
+
- Part 1 teaches the concepts
|
|
27
|
+
- Part 2 shows how concepts work in practice
|
|
28
|
+
- Part 3 ensures the project has proper guidelines for AI to follow
|
|
29
|
+
|
|
30
|
+
After completing ALL THREE parts, ask the developer about their first task.
|
|
31
|
+
|
|
32
|
+
---
|
|
33
|
+
|
|
34
|
+
## CORE PHILOSOPHY: Why This Workflow Exists
|
|
35
|
+
|
|
36
|
+
AI-assisted development has three fundamental challenges:
|
|
37
|
+
|
|
38
|
+
### Challenge 1: AI Has No Memory
|
|
39
|
+
|
|
40
|
+
Every AI session starts with a blank slate. Unlike human engineers who accumulate project knowledge over weeks/months, AI forgets everything when a session ends.
|
|
41
|
+
|
|
42
|
+
**The Problem**: Without memory, AI asks the same questions repeatedly, makes the same mistakes, and can't build on previous work.
|
|
43
|
+
|
|
44
|
+
**The Solution**: The `.aim-studio/workspace/` system captures what happened in each session - what was done, what was learned, what problems were solved. The `/aim:start` command reads this history at session start, giving AI "artificial memory."
|
|
45
|
+
|
|
46
|
+
### Challenge 2: AI Has Generic Knowledge, Not Project-Specific Knowledge
|
|
47
|
+
|
|
48
|
+
AI models are trained on millions of codebases - they know general patterns for React, TypeScript, databases, etc. But they don't know YOUR project's conventions.
|
|
49
|
+
|
|
50
|
+
**The Problem**: AI writes code that "works" but doesn't match your project's style. It uses patterns that conflict with existing code. It makes decisions that violate unwritten team rules.
|
|
51
|
+
|
|
52
|
+
**The Solution**: The `.aim-studio/spec/` directory contains project-specific guidelines. The `/before-*-dev` commands inject this specialized knowledge into AI context before coding starts.
|
|
53
|
+
|
|
54
|
+
### Challenge 3: AI Context Window Is Limited
|
|
55
|
+
|
|
56
|
+
Even after injecting guidelines, AI has limited context window. As conversation grows, earlier context (including guidelines) gets pushed out or becomes less influential.
|
|
57
|
+
|
|
58
|
+
**The Problem**: AI starts following guidelines, but as the session progresses and context fills up, it "forgets" the rules and reverts to generic patterns.
|
|
59
|
+
|
|
60
|
+
**The Solution**: The `/check-*` commands re-verify code against guidelines AFTER writing, catching drift that occurred during development. The `/aim:finish-work` command does a final holistic review.
|
|
61
|
+
|
|
62
|
+
---
|
|
63
|
+
|
|
64
|
+
## SYSTEM STRUCTURE
|
|
65
|
+
|
|
66
|
+
```
|
|
67
|
+
.aim-studio/
|
|
68
|
+
|-- .developer # Your identity (gitignored)
|
|
69
|
+
|-- workflow.md # Complete workflow documentation
|
|
70
|
+
|-- workspace/ # "AI Memory" - session history
|
|
71
|
+
| |-- index.md # All developers' progress
|
|
72
|
+
| +-- {developer}/ # Per-developer directory
|
|
73
|
+
| |-- index.md # Personal progress index
|
|
74
|
+
| +-- journal-N.md # Session records (max 2000 lines)
|
|
75
|
+
|-- tasks/ # Task tracking (unified)
|
|
76
|
+
| +-- {MM}-{DD}-{slug}/ # Task directory
|
|
77
|
+
| |-- task.json # Task metadata
|
|
78
|
+
| +-- prd.md # Requirements doc
|
|
79
|
+
|-- spec/ # "AI Training Data" - project knowledge
|
|
80
|
+
| |-- frontend/ # Frontend conventions
|
|
81
|
+
| |-- backend/ # Backend conventions
|
|
82
|
+
| +-- guides/ # Thinking patterns
|
|
83
|
+
+-- scripts/ # Automation tools
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
### Understanding spec/ subdirectories
|
|
87
|
+
|
|
88
|
+
**frontend/** - Single-layer frontend knowledge:
|
|
89
|
+
- Component patterns (how to write components in THIS project)
|
|
90
|
+
- State management rules (Redux? Zustand? Context?)
|
|
91
|
+
- Styling conventions (CSS modules? Tailwind? Styled-components?)
|
|
92
|
+
- Hook patterns (custom hooks, data fetching)
|
|
93
|
+
|
|
94
|
+
**backend/** - Single-layer backend knowledge:
|
|
95
|
+
- API design patterns (REST? GraphQL? tRPC?)
|
|
96
|
+
- Database conventions (query patterns, migrations)
|
|
97
|
+
- Error handling standards
|
|
98
|
+
- Logging and monitoring rules
|
|
99
|
+
|
|
100
|
+
**guides/** - Cross-layer thinking guides:
|
|
101
|
+
- Code reuse thinking guide
|
|
102
|
+
- Cross-layer thinking guide
|
|
103
|
+
- Pre-implementation checklists
|
|
104
|
+
|
|
105
|
+
---
|
|
106
|
+
|
|
107
|
+
## COMMAND DEEP DIVE
|
|
108
|
+
|
|
109
|
+
### /aim:start - Restore AI Memory
|
|
110
|
+
|
|
111
|
+
**WHY IT EXISTS**:
|
|
112
|
+
When a human engineer joins a project, they spend days/weeks learning: What is this project? What's been built? What's in progress? What's the current state?
|
|
113
|
+
|
|
114
|
+
AI needs the same onboarding - but compressed into seconds at session start.
|
|
115
|
+
|
|
116
|
+
**WHAT IT ACTUALLY DOES**:
|
|
117
|
+
1. Reads developer identity (who am I in this project?)
|
|
118
|
+
2. Checks git status (what branch? uncommitted changes?)
|
|
119
|
+
3. Reads recent session history from `workspace/` (what happened before?)
|
|
120
|
+
4. Identifies active features (what's in progress?)
|
|
121
|
+
5. Understands current project state before making any changes
|
|
122
|
+
|
|
123
|
+
**WHY THIS MATTERS**:
|
|
124
|
+
- Without /aim:start: AI is blind. It might work on wrong branch, conflict with others' work, or redo already-completed work.
|
|
125
|
+
- With /aim:start: AI knows project context, can continue where previous session left off, avoids conflicts.
|
|
126
|
+
|
|
127
|
+
---
|
|
128
|
+
|
|
129
|
+
### /aim:before-frontend-dev and /aim:before-backend-dev - Inject Specialized Knowledge
|
|
130
|
+
|
|
131
|
+
**WHY IT EXISTS**:
|
|
132
|
+
AI models have "pre-trained knowledge" - general patterns from millions of codebases. But YOUR project has specific conventions that differ from generic patterns.
|
|
133
|
+
|
|
134
|
+
**WHAT IT ACTUALLY DOES**:
|
|
135
|
+
1. Reads `.aim-studio/spec/frontend/` or `.aim-studio/spec/backend/`
|
|
136
|
+
2. Loads project-specific patterns into AI's working context:
|
|
137
|
+
- Component naming conventions
|
|
138
|
+
- State management patterns
|
|
139
|
+
- Database query patterns
|
|
140
|
+
- Error handling standards
|
|
141
|
+
|
|
142
|
+
**WHY THIS MATTERS**:
|
|
143
|
+
- Without before-*-dev: AI writes generic code that doesn't match project style.
|
|
144
|
+
- With before-*-dev: AI writes code that looks like the rest of the codebase.
|
|
145
|
+
|
|
146
|
+
---
|
|
147
|
+
|
|
148
|
+
### /aim:check-frontend and /aim:check-backend - Combat Context Drift
|
|
149
|
+
|
|
150
|
+
**WHY IT EXISTS**:
|
|
151
|
+
AI context window has limited capacity. As conversation progresses, guidelines injected at session start become less influential. This causes "context drift."
|
|
152
|
+
|
|
153
|
+
**WHAT IT ACTUALLY DOES**:
|
|
154
|
+
1. Re-reads the guidelines that were injected earlier
|
|
155
|
+
2. Compares written code against those guidelines
|
|
156
|
+
3. Runs type checker and linter
|
|
157
|
+
4. Identifies violations and suggests fixes
|
|
158
|
+
|
|
159
|
+
**WHY THIS MATTERS**:
|
|
160
|
+
- Without check-*: Context drift goes unnoticed, code quality degrades.
|
|
161
|
+
- With check-*: Drift is caught and corrected before commit.
|
|
162
|
+
|
|
163
|
+
---
|
|
164
|
+
|
|
165
|
+
### /aim:check-cross-layer - Multi-Dimension Verification
|
|
166
|
+
|
|
167
|
+
**WHY IT EXISTS**:
|
|
168
|
+
Most bugs don't come from lack of technical skill - they come from "didn't think of it":
|
|
169
|
+
- Changed a constant in one place, missed 5 other places
|
|
170
|
+
- Modified database schema, forgot to update the API layer
|
|
171
|
+
- Created a utility function, but similar one already exists
|
|
172
|
+
|
|
173
|
+
**WHAT IT ACTUALLY DOES**:
|
|
174
|
+
1. Identifies which dimensions your change involves
|
|
175
|
+
2. For each dimension, runs targeted checks:
|
|
176
|
+
- Cross-layer data flow
|
|
177
|
+
- Code reuse analysis
|
|
178
|
+
- Import path validation
|
|
179
|
+
- Consistency checks
|
|
180
|
+
|
|
181
|
+
---
|
|
182
|
+
|
|
183
|
+
### /aim:finish-work - Holistic Pre-Commit Review
|
|
184
|
+
|
|
185
|
+
**WHY IT EXISTS**:
|
|
186
|
+
The `/check-*` commands focus on code quality within a single layer. But real changes often have cross-cutting concerns.
|
|
187
|
+
|
|
188
|
+
**WHAT IT ACTUALLY DOES**:
|
|
189
|
+
1. Reviews all changes holistically
|
|
190
|
+
2. Checks cross-layer consistency
|
|
191
|
+
3. Identifies broader impacts
|
|
192
|
+
4. Checks if new patterns should be documented
|
|
193
|
+
|
|
194
|
+
---
|
|
195
|
+
|
|
196
|
+
### /aim:record-session - Persist Memory for Future
|
|
197
|
+
|
|
198
|
+
**WHY IT EXISTS**:
|
|
199
|
+
All the context AI built during this session will be lost when session ends. The next session's `/aim:start` needs this information.
|
|
200
|
+
|
|
201
|
+
**WHAT IT ACTUALLY DOES**:
|
|
202
|
+
1. Records session summary to `workspace/{developer}/journal-N.md`
|
|
203
|
+
2. Captures what was done, learned, and what's remaining
|
|
204
|
+
3. Updates index files for quick lookup
|
|
205
|
+
|
|
206
|
+
---
|
|
207
|
+
|
|
208
|
+
## REAL-WORLD WORKFLOW EXAMPLES
|
|
209
|
+
|
|
210
|
+
### Example 1: Bug Fix Session
|
|
211
|
+
|
|
212
|
+
**[1/8] /aim:start** - AI needs project context before touching code
|
|
213
|
+
**[2/8] python3 ./.aim-studio/scripts/task.py create "Fix bug" --slug fix-bug** - Track work for future reference
|
|
214
|
+
**[3/8] /aim:before-frontend-dev** - Inject project-specific frontend knowledge
|
|
215
|
+
**[4/8] Investigate and fix the bug** - Actual development work
|
|
216
|
+
**[5/8] /aim:check-frontend** - Re-verify code against guidelines
|
|
217
|
+
**[6/8] /aim:finish-work** - Holistic cross-layer review
|
|
218
|
+
**[7/8] Human tests and commits** - Human validates before code enters repo
|
|
219
|
+
**[8/8] /aim:record-session** - Persist memory for future sessions
|
|
220
|
+
|
|
221
|
+
### Example 2: Planning Session (No Code)
|
|
222
|
+
|
|
223
|
+
**[1/4] /aim:start** - Context needed even for non-coding work
|
|
224
|
+
**[2/4] python3 ./.aim-studio/scripts/task.py create "Planning task" --slug planning-task** - Planning is valuable work
|
|
225
|
+
**[3/4] Review docs, create subtask list** - Actual planning work
|
|
226
|
+
**[4/4] /aim:record-session (with --summary)** - Planning decisions must be recorded
|
|
227
|
+
|
|
228
|
+
### Example 3: Code Review Fixes
|
|
229
|
+
|
|
230
|
+
**[1/6] /aim:start** - Resume context from previous session
|
|
231
|
+
**[2/6] /aim:before-backend-dev** - Re-inject guidelines before fixes
|
|
232
|
+
**[3/6] Fix each CR issue** - Address feedback with guidelines in context
|
|
233
|
+
**[4/6] /aim:check-backend** - Verify fixes didn't introduce new issues
|
|
234
|
+
**[5/6] /aim:finish-work** - Document lessons from CR
|
|
235
|
+
**[6/6] Human commits, then /aim:record-session** - Preserve CR lessons
|
|
236
|
+
|
|
237
|
+
### Example 4: Large Refactoring
|
|
238
|
+
|
|
239
|
+
**[1/5] /aim:start** - Clear baseline before major changes
|
|
240
|
+
**[2/5] Plan phases** - Break into verifiable chunks
|
|
241
|
+
**[3/5] Execute phase by phase with /check-* after each** - Incremental verification
|
|
242
|
+
**[4/5] /aim:finish-work** - Check if new patterns should be documented
|
|
243
|
+
**[5/5] Record with multiple commit hashes** - Link all commits to one feature
|
|
244
|
+
|
|
245
|
+
### Example 5: Debug Session
|
|
246
|
+
|
|
247
|
+
**[1/6] /aim:start** - See if this bug was investigated before
|
|
248
|
+
**[2/6] /aim:before-backend-dev** - Guidelines might document known gotchas
|
|
249
|
+
**[3/6] Investigation** - Actual debugging work
|
|
250
|
+
**[4/6] /aim:check-backend** - Verify debug changes don't break other things
|
|
251
|
+
**[5/6] /aim:finish-work** - Debug findings might need documentation
|
|
252
|
+
**[6/6] Human commits, then /aim:record-session** - Debug knowledge is valuable
|
|
253
|
+
|
|
254
|
+
---
|
|
255
|
+
|
|
256
|
+
## KEY RULES TO EMPHASIZE
|
|
257
|
+
|
|
258
|
+
1. **AI NEVER commits** - Human tests and approves. AI prepares, human validates.
|
|
259
|
+
2. **Guidelines before code** - /before-*-dev commands inject project knowledge.
|
|
260
|
+
3. **Check after code** - /check-* commands catch context drift.
|
|
261
|
+
4. **Record everything** - /aim:record-session persists memory.
|
|
262
|
+
|
|
263
|
+
---
|
|
264
|
+
|
|
265
|
+
# PART 3: Customize Your Development Guidelines
|
|
266
|
+
|
|
267
|
+
After explaining Part 1 and Part 2, check if the project's development guidelines need customization.
|
|
268
|
+
|
|
269
|
+
## Step 1: Check Current Guidelines Status
|
|
270
|
+
|
|
271
|
+
Check if `.aim-studio/spec/` contains empty templates or customized guidelines:
|
|
272
|
+
|
|
273
|
+
```bash
|
|
274
|
+
# Check if files are still empty templates (look for placeholder text)
|
|
275
|
+
grep -l "To be filled by the team" .aim-studio/spec/backend/*.md 2>/dev/null | wc -l
|
|
276
|
+
grep -l "To be filled by the team" .aim-studio/spec/frontend/*.md 2>/dev/null | wc -l
|
|
277
|
+
```
|
|
278
|
+
|
|
279
|
+
## Step 2: Determine Situation
|
|
280
|
+
|
|
281
|
+
**Situation A: First-time setup (empty templates)**
|
|
282
|
+
|
|
283
|
+
If guidelines are empty templates (contain "To be filled by the team"), this is the first time using Trellis in this project.
|
|
284
|
+
|
|
285
|
+
Explain to the developer:
|
|
286
|
+
|
|
287
|
+
"I see that the development guidelines in `.aim-studio/spec/` are still empty templates. This is normal for a new Trellis setup!
|
|
288
|
+
|
|
289
|
+
The templates contain placeholder text that needs to be replaced with YOUR project's actual conventions. Without this, `/before-*-dev` commands won't provide useful guidance.
|
|
290
|
+
|
|
291
|
+
**Your first task should be to fill in these guidelines:**
|
|
292
|
+
|
|
293
|
+
1. Look at your existing codebase
|
|
294
|
+
2. Identify the patterns and conventions already in use
|
|
295
|
+
3. Document them in the guideline files
|
|
296
|
+
|
|
297
|
+
For example, for `.aim-studio/spec/backend/database-guidelines.md`:
|
|
298
|
+
- What ORM/query library does your project use?
|
|
299
|
+
- How are migrations managed?
|
|
300
|
+
- What naming conventions for tables/columns?
|
|
301
|
+
|
|
302
|
+
Would you like me to help you analyze your codebase and fill in these guidelines?"
|
|
303
|
+
|
|
304
|
+
**Situation B: Guidelines already customized**
|
|
305
|
+
|
|
306
|
+
If guidelines have real content (no "To be filled" placeholders), this is an existing setup.
|
|
307
|
+
|
|
308
|
+
Explain to the developer:
|
|
309
|
+
|
|
310
|
+
"Great! Your team has already customized the development guidelines. You can start using `/before-*-dev` commands right away.
|
|
311
|
+
|
|
312
|
+
I recommend reading through `.aim-studio/spec/` to familiarize yourself with the team's coding standards."
|
|
313
|
+
|
|
314
|
+
## Step 3: Help Fill Guidelines (If Empty)
|
|
315
|
+
|
|
316
|
+
If the developer wants help filling guidelines, create a feature to track this:
|
|
317
|
+
|
|
318
|
+
```bash
|
|
319
|
+
python3 ./.aim-studio/scripts/task.py create "Fill spec guidelines" --slug fill-spec-guidelines
|
|
320
|
+
```
|
|
321
|
+
|
|
322
|
+
Then systematically analyze the codebase and fill each guideline file:
|
|
323
|
+
|
|
324
|
+
1. **Analyze the codebase** - Look at existing code patterns
|
|
325
|
+
2. **Document conventions** - Write what you observe, not ideals
|
|
326
|
+
3. **Include examples** - Reference actual files in the project
|
|
327
|
+
4. **List forbidden patterns** - Document anti-patterns the team avoids
|
|
328
|
+
|
|
329
|
+
Work through one file at a time:
|
|
330
|
+
- `backend/directory-structure.md`
|
|
331
|
+
- `backend/database-guidelines.md`
|
|
332
|
+
- `backend/error-handling.md`
|
|
333
|
+
- `backend/quality-guidelines.md`
|
|
334
|
+
- `backend/logging-guidelines.md`
|
|
335
|
+
- `frontend/directory-structure.md`
|
|
336
|
+
- `frontend/component-guidelines.md`
|
|
337
|
+
- `frontend/hook-guidelines.md`
|
|
338
|
+
- `frontend/state-management.md`
|
|
339
|
+
- `frontend/quality-guidelines.md`
|
|
340
|
+
- `frontend/type-safety.md`
|
|
341
|
+
|
|
342
|
+
---
|
|
343
|
+
|
|
344
|
+
## Completing the Onboard Session
|
|
345
|
+
|
|
346
|
+
After covering all three parts, summarize:
|
|
347
|
+
|
|
348
|
+
"You're now onboarded to the Trellis workflow system! Here's what we covered:
|
|
349
|
+
- Part 1: Core concepts (why this workflow exists)
|
|
350
|
+
- Part 2: Real-world examples (how to apply the workflow)
|
|
351
|
+
- Part 3: Guidelines status (empty templates need filling / already customized)
|
|
352
|
+
|
|
353
|
+
**Next steps** (tell user):
|
|
354
|
+
1. Run `/aim:record-session` to record this onboard session
|
|
355
|
+
2. [If guidelines empty] Start filling in `.aim-studio/spec/` guidelines
|
|
356
|
+
3. [If guidelines ready] Start your first development task
|
|
357
|
+
|
|
358
|
+
What would you like to do first?"
|
|
@@ -0,0 +1,217 @@
|
|
|
1
|
+
# 多 Agent 并行创作
|
|
2
|
+
|
|
3
|
+
启动多终端并行创作模式,让多个 AI Agent 同时创作不同剧集。
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## ⚠️ 重要安全说明
|
|
8
|
+
|
|
9
|
+
### 不会冲突的情况(安全)
|
|
10
|
+
|
|
11
|
+
| 资源 | 原因 |
|
|
12
|
+
|------|------|
|
|
13
|
+
| **Git Worktree** | 每个 Agent 有独立的工作树目录 |
|
|
14
|
+
| **Git 分支** | 每个 Agent 在独立分支上工作 |
|
|
15
|
+
| **任务目录** | 每个 Agent 有独立的 `.aim-studio/tasks/任务名/` |
|
|
16
|
+
| **进度日志** | 每个 Agent 有独立的日志文件 |
|
|
17
|
+
|
|
18
|
+
### 可能冲突的情况(需要注意)
|
|
19
|
+
|
|
20
|
+
| 资源 | 风险 | 解决方案 |
|
|
21
|
+
|------|------|----------|
|
|
22
|
+
| **创作输出** | 多 Agent 写入同一 workspace | ⚠️ **必须分配不同的剧集** |
|
|
23
|
+
| **角色设定** | 多 Agent 同时修改 character.md | ⚠️ **创作前完成所有角色设定** |
|
|
24
|
+
| **世界观** | 多 Agent 同时修改 world.md | ⚠️ **创作前完成世界观设定** |
|
|
25
|
+
|
|
26
|
+
### 🚨 核心规则
|
|
27
|
+
|
|
28
|
+
```
|
|
29
|
+
✅ 安全:Agent A 写第1集,Agent B 写第2集(不同剧集)
|
|
30
|
+
❌ 危险:Agent A 和 Agent B 同时写第1集(同一剧集)
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
## 使用场景
|
|
36
|
+
|
|
37
|
+
| 场景 | 安全性 | 说明 |
|
|
38
|
+
|------|--------|------|
|
|
39
|
+
| **多剧集并行** | ✅ 安全 | Agent A 写第1集,Agent B 写第2集 |
|
|
40
|
+
| **主线/支线分离** | ✅ 安全 | Agent A 写主线,Agent B 写支线 |
|
|
41
|
+
| **创作+质检** | ⚠️ 需协调 | 质检 Agent 只读,不修改文件 |
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
## 快速开始
|
|
46
|
+
|
|
47
|
+
### 步骤 0:完成共享设定(必须)
|
|
48
|
+
|
|
49
|
+
**在启动多 Agent 之前,必须完成所有角色和世界观设定!**
|
|
50
|
+
|
|
51
|
+
```bash
|
|
52
|
+
# 确保角色设定已完成
|
|
53
|
+
cat .aim-studio/spec/story/character.md
|
|
54
|
+
|
|
55
|
+
# 确保世界观设定已完成
|
|
56
|
+
cat .aim-studio/spec/story/world.md
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
### 步骤 1:创建多个任务
|
|
60
|
+
|
|
61
|
+
```bash
|
|
62
|
+
# 创建任务 A(第1集)
|
|
63
|
+
aim task create "第1集:系统觉醒" --slug 第1集_系统觉醒
|
|
64
|
+
|
|
65
|
+
# 创建任务 B(第2集)
|
|
66
|
+
aim task create "第2集:初入江湖" --slug 第2集_初入江湖
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
### 步骤 2:启动并行 Agent
|
|
70
|
+
|
|
71
|
+
**重要:每个 Agent 必须在不同的终端中运行!**
|
|
72
|
+
|
|
73
|
+
**终端 1:**
|
|
74
|
+
```bash
|
|
75
|
+
python3 ./.aim-studio/scripts/multi_agent/start.py .aim-studio/tasks/第1集_系统觉醒
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
**终端 2:**
|
|
79
|
+
```bash
|
|
80
|
+
python3 ./.aim-studio/scripts/multi_agent/start.py .aim-studio/tasks/第2集_初入江湖
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
### 步骤 3:监控进度
|
|
84
|
+
|
|
85
|
+
```bash
|
|
86
|
+
# 查看所有 Agent 状态
|
|
87
|
+
python3 ./.aim-studio/scripts/multi_agent/status.py
|
|
88
|
+
|
|
89
|
+
# 实时监控
|
|
90
|
+
python3 ./.aim-studio/scripts/multi_agent/status.py --watch
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
---
|
|
94
|
+
|
|
95
|
+
## 隔离机制详解
|
|
96
|
+
|
|
97
|
+
### Git Worktree 隔离
|
|
98
|
+
|
|
99
|
+
每个 Agent 在独立的 Git Worktree 中运行:
|
|
100
|
+
|
|
101
|
+
```
|
|
102
|
+
主仓库 (main)
|
|
103
|
+
├── .aim-studio/
|
|
104
|
+
│ ├── spec/story/ # 共享设定(只读)
|
|
105
|
+
│ ├── tasks/ # 任务目录
|
|
106
|
+
│ │ ├── 第1集_系统觉醒/ # Agent A 的任务
|
|
107
|
+
│ │ └── 第2集_初入江湖/ # Agent B 的任务
|
|
108
|
+
│ └── workspace/ # 创作输出
|
|
109
|
+
│ └── 我的故事/
|
|
110
|
+
│ ├── 第1集_*/ # Agent A 的输出
|
|
111
|
+
│ └── 第2集_*/ # Agent B 的输出
|
|
112
|
+
│
|
|
113
|
+
└── .agents/ # Agent 工作树(自动创建)
|
|
114
|
+
├── registry.json # Agent 注册表
|
|
115
|
+
├── worktree-第1集/ # Agent A 的独立环境
|
|
116
|
+
│ └── .aim-studio/
|
|
117
|
+
│ └── .current-task → 第1集
|
|
118
|
+
└── worktree-第2集/ # Agent B 的独立环境
|
|
119
|
+
└── .aim-studio/
|
|
120
|
+
└── .current-task → 第2集
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
### 数据安全保证
|
|
124
|
+
|
|
125
|
+
| 隔离级别 | 说明 |
|
|
126
|
+
|----------|------|
|
|
127
|
+
| **文件系统隔离** | 每个 Worktree 是独立的文件副本 |
|
|
128
|
+
| **Git 分支隔离** | 每个 Agent 在独立分支上工作 |
|
|
129
|
+
| **任务目录隔离** | 每个 Agent 有独立的任务配置 |
|
|
130
|
+
| **进度追踪隔离** | 每个 Agent 有独立的进度日志 |
|
|
131
|
+
|
|
132
|
+
---
|
|
133
|
+
|
|
134
|
+
## 完成后合并
|
|
135
|
+
|
|
136
|
+
### 步骤 1:确认所有 Agent 完成
|
|
137
|
+
|
|
138
|
+
```bash
|
|
139
|
+
python3 ./.aim-studio/scripts/multi_agent/status.py
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
确保所有 Agent 状态为 `completed` 或 `finished`。
|
|
143
|
+
|
|
144
|
+
### 步骤 2:合并创作内容
|
|
145
|
+
|
|
146
|
+
```bash
|
|
147
|
+
# 将各 Agent 的创作内容合并到主仓库
|
|
148
|
+
# Agent A 的输出
|
|
149
|
+
cp -r .agents/worktree-第1集/.aim-studio/workspace/我的故事/第1集_* .aim-studio/workspace/我的故事/
|
|
150
|
+
|
|
151
|
+
# Agent B 的输出
|
|
152
|
+
cp -r .agents/worktree-第2集/.aim-studio/workspace/我的故事/第2集_* .aim-studio/workspace/我的故事/
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
### 步骤 3:清理 Worktree
|
|
156
|
+
|
|
157
|
+
```bash
|
|
158
|
+
python3 ./.aim-studio/scripts/multi_agent/cleanup.py feature/第1集
|
|
159
|
+
python3 ./.aim-studio/scripts/multi_agent/cleanup.py feature/第2集
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
---
|
|
163
|
+
|
|
164
|
+
## 故障排除
|
|
165
|
+
|
|
166
|
+
### Agent 启动失败
|
|
167
|
+
|
|
168
|
+
```bash
|
|
169
|
+
# 检查任务目录是否存在
|
|
170
|
+
ls .aim-studio/tasks/
|
|
171
|
+
|
|
172
|
+
# 检查 task.json 是否有效
|
|
173
|
+
cat .aim-studio/tasks/<任务名>/task.json
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
### Worktree 冲突
|
|
177
|
+
|
|
178
|
+
```bash
|
|
179
|
+
# 手动清理 Worktree
|
|
180
|
+
git worktree list
|
|
181
|
+
git worktree remove .agents/worktree-<name>
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
### Registry 损坏
|
|
185
|
+
|
|
186
|
+
```bash
|
|
187
|
+
# 重置 Registry
|
|
188
|
+
rm .agents/registry.json
|
|
189
|
+
python3 ./.aim-studio/scripts/multi_agent/status.py
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
---
|
|
193
|
+
|
|
194
|
+
## 最佳实践
|
|
195
|
+
|
|
196
|
+
### ✅ 应该做
|
|
197
|
+
|
|
198
|
+
1. **创作前完成所有共享设定**(角色、世界观)
|
|
199
|
+
2. **为每个 Agent 分配不同的剧集**
|
|
200
|
+
3. **定期检查 Agent 状态**
|
|
201
|
+
4. **完成后及时合并和清理**
|
|
202
|
+
|
|
203
|
+
### ❌ 不应该做
|
|
204
|
+
|
|
205
|
+
1. **不要让多个 Agent 同时创作同一剧集**
|
|
206
|
+
2. **不要在创作过程中修改共享设定**
|
|
207
|
+
3. **不要忘记清理完成的 Worktree**
|
|
208
|
+
|
|
209
|
+
---
|
|
210
|
+
|
|
211
|
+
## 相关命令
|
|
212
|
+
|
|
213
|
+
| 命令 | 说明 |
|
|
214
|
+
|------|------|
|
|
215
|
+
| `/aim:start` | 单 Agent 创作模式 |
|
|
216
|
+
| `/aim:story` | 漫剧创作模式 |
|
|
217
|
+
| `/aim:finish-work` | 完成工作并记录进度 |
|