@vpxa/aikit 0.1.77 → 0.1.79

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.
Files changed (54) hide show
  1. package/README.md +32 -8
  2. package/package.json +3 -5
  3. package/packages/cli/dist/index.js +1 -2
  4. package/packages/flows/dist/index.d.ts +3 -0
  5. package/packages/flows/dist/index.js +1 -1
  6. package/packages/server/dist/index.js +1 -1
  7. package/packages/server/dist/routes-0OCkdgRe.js +5 -0
  8. package/packages/server/dist/{server-CVhVH5cT.js → server-VgZC6Q43.js} +3 -3
  9. package/packages/server/dist/settings-static-BosGZSPf.js +1 -0
  10. package/packages/settings-ui/dist/assets/index-BlJqzH2g.js +10 -0
  11. package/packages/tools/dist/index.d.ts +52 -2
  12. package/packages/tools/dist/index.js +46 -46
  13. package/scaffold/README.md +39 -4
  14. package/scaffold/dist/adapters/flows.mjs +1 -1
  15. package/scaffold/dist/adapters/skills.mjs +1 -1
  16. package/scaffold/dist/definitions/bodies.mjs +1 -0
  17. package/scaffold/dist/{compiled/flows-data.mjs → definitions/flows.mjs} +5 -1
  18. package/packages/tui/dist/App-Bkz0lpCn.js +0 -2
  19. package/packages/tui/dist/App.d.ts +0 -13
  20. package/packages/tui/dist/App.js +0 -2
  21. package/packages/tui/dist/CuratedPanel-DGFKz-fJ.js +0 -2
  22. package/packages/tui/dist/LogPanel-BrBa5xIT.js +0 -17
  23. package/packages/tui/dist/SearchPanel-CDSGcT7M.js +0 -2
  24. package/packages/tui/dist/StatusPanel-yRieSRc3.js +0 -2
  25. package/packages/tui/dist/chunk-DqSKhezp.js +0 -2
  26. package/packages/tui/dist/devtools-6rm8h8Q1.js +0 -7
  27. package/packages/tui/dist/hooks/useKBClient.d.ts +0 -9
  28. package/packages/tui/dist/hooks/useKBClient.js +0 -2
  29. package/packages/tui/dist/hooks/usePolling.d.ts +0 -8
  30. package/packages/tui/dist/hooks/usePolling.js +0 -2
  31. package/packages/tui/dist/index-floZQwfo.d.ts +0 -65
  32. package/packages/tui/dist/index.d.ts +0 -7
  33. package/packages/tui/dist/index.js +0 -2
  34. package/packages/tui/dist/jsx-runtime-CI8Ofr1S.js +0 -294
  35. package/packages/tui/dist/panels/CuratedPanel.d.ts +0 -7
  36. package/packages/tui/dist/panels/CuratedPanel.js +0 -2
  37. package/packages/tui/dist/panels/LogPanel.d.ts +0 -7
  38. package/packages/tui/dist/panels/LogPanel.js +0 -2
  39. package/packages/tui/dist/panels/SearchPanel.d.ts +0 -7
  40. package/packages/tui/dist/panels/SearchPanel.js +0 -2
  41. package/packages/tui/dist/panels/StatusPanel.d.ts +0 -7
  42. package/packages/tui/dist/panels/StatusPanel.js +0 -2
  43. package/packages/tui/dist/react-CKRDn6y3.js +0 -24
  44. package/packages/tui/dist/useKBClient-BACLDL_U.js +0 -2
  45. package/packages/tui/dist/usePolling-D-4v1sTA.js +0 -2
  46. package/scaffold/definitions/agents.mjs +0 -266
  47. package/scaffold/definitions/bodies.mjs +0 -735
  48. package/scaffold/definitions/hooks.mjs +0 -43
  49. package/scaffold/definitions/models.mjs +0 -84
  50. package/scaffold/definitions/plugins.mjs +0 -147
  51. package/scaffold/definitions/prompts.mjs +0 -365
  52. package/scaffold/definitions/protocols.mjs +0 -863
  53. package/scaffold/definitions/tools.mjs +0 -250
  54. /package/scaffold/dist/{compiled/skills-data.mjs → definitions/skills.mjs} +0 -0
@@ -1,43 +0,0 @@
1
- /**
2
- * Hook definitions — lifecycle events that agents can respond to.
3
- *
4
- * Not all IDEs support hooks natively:
5
- * - Copilot: No native hook support (hooks are documented in instructions only)
6
- * - Claude Code: Maps to hooks config in settings.json
7
- * - Claude Code: Supports hooks via settings.json
8
- *
9
- * Each adapter decides how to surface these:
10
- * - Copilot adapter: Embeds as rules in copilot-instructions.md
11
- * - Claude Code adapter: Generates hooks config [future]
12
- */
13
-
14
- export const HOOKS = {
15
- sessionStart: {
16
- description: 'Run at the start of every agent session',
17
- actions: ['status({})', 'list()', 'search({ query: "SESSION CHECKPOINT", origin: "curated" })'],
18
- rationale: 'Resume prior work, load existing knowledge',
19
- },
20
-
21
- sessionEnd: {
22
- description: 'Run at the end of every agent session',
23
- actions: [
24
- 'remember({ title: "Session checkpoint: <topic>", content: "<decisions, next steps>", category: "conventions" })',
25
- ],
26
- rationale: 'Persist decisions for future sessions',
27
- },
28
-
29
- beforeCodeChange: {
30
- description: 'Run before modifying any code',
31
- actions: [
32
- 'search({ query: "<what you are changing>" })',
33
- 'scope_map({ task: "<description>" })',
34
- ],
35
- rationale: 'Check for prior decisions and understand impact',
36
- },
37
-
38
- beforeCommit: {
39
- description: 'Run before committing changes',
40
- actions: ['check({})', 'test_run({})', 'blast_radius({ changed_files: ["..."] })'],
41
- rationale: 'Validate changes before they enter version control',
42
- },
43
- };
@@ -1,84 +0,0 @@
1
- /**
2
- * Centralized model assignments — THE SINGLE FILE to update when models change.
3
- *
4
- * Keys are agent names (stable, model-agnostic).
5
- * COPILOT_MODELS keeps the full fallback list in Copilot format.
6
- * CLAUDE_MODELS maps each agent to its primary model as a single plain string.
7
- *
8
- * Naming convention for variants: {Role}-Alpha, {Role}-Beta, {Role}-Gamma, {Role}-Delta
9
- * These are abstract labels — the actual model behind each is defined HERE.
10
- *
11
- * NOTE (Experimental): VS Code supports a model array syntax (e.g. [model1, model2])
12
- * for agent files, but it requires an experiment flag to be enabled. Until the flag
13
- * is generally available, adapters should emit only the first (primary) model as a
14
- * plain string. The full fallback arrays are retained here so adapters can switch to
15
- * array output when the flag is GA.
16
- */
17
-
18
- export const COPILOT_MODELS = {
19
- // ─── Single-role agents ───────────────────────────────────────────────
20
- Orchestrator: ['Claude Opus 4.6 (copilot)', 'GPT-5.4 (copilot)', 'Auto (copilot)'],
21
- Planner: ['Claude Opus 4.6 (copilot)', 'GPT-5.4 (copilot)', 'Auto (copilot)'],
22
- Implementer: [
23
- 'GPT-5.4 (copilot)',
24
- 'Gemini 3.1 Pro (Preview) (copilot)',
25
- 'GPT-5.3-Codex (copilot)',
26
- 'Auto (copilot)',
27
- ],
28
- Frontend: [
29
- 'Gemini 3.1 Pro (Preview) (copilot)',
30
- 'GPT-5.4 (copilot)',
31
- 'GPT-5.3-Codex (copilot)',
32
- 'Auto (copilot)',
33
- ],
34
- Debugger: [
35
- 'Claude Opus 4.6 (copilot)',
36
- 'GPT-5.4 (copilot)',
37
- 'GPT-5.3-Codex (copilot)',
38
- 'Auto (copilot)',
39
- ],
40
- Refactor: ['GPT-5.4 (copilot)', 'GPT-5.3-Codex (copilot)', 'Auto (copilot)'],
41
- Security: ['Claude Opus 4.6 (copilot)', 'GPT-5.4 (copilot)', 'Auto (copilot)'],
42
- Documenter: ['GPT-5.4 (copilot)', 'Gemini 3.1 Pro (Preview) (copilot)', 'Auto (copilot)'],
43
- Explorer: ['Gemini 3 Flash (Preview) (copilot)', 'Claude Haiku 4.5 (copilot)', 'Auto (copilot)'],
44
-
45
- // ─── Researcher variants (4 models for multi-model decision protocol) ────────────
46
- 'Researcher-Alpha': ['Claude Opus 4.6 (copilot)', 'Auto (copilot)'],
47
- 'Researcher-Beta': ['Claude Sonnet 4.6 (copilot)', 'Auto (copilot)'],
48
- 'Researcher-Gamma': ['GPT-5.4 (copilot)', 'Auto (copilot)'],
49
- 'Researcher-Delta': ['Gemini 3.1 Pro (Preview) (copilot)', 'Auto (copilot)'],
50
-
51
- // ─── Code-Reviewer variants (2 models for dual review) ───────────────
52
- 'Code-Reviewer-Alpha': ['GPT-5.4 (copilot)', 'Auto (copilot)'],
53
- 'Code-Reviewer-Beta': ['Claude Opus 4.6 (copilot)', 'Auto (copilot)'],
54
-
55
- // ─── Architect-Reviewer variants (2 models for dual review) ──────────
56
- 'Architect-Reviewer-Alpha': ['GPT-5.4 (copilot)', 'Auto (copilot)'],
57
- 'Architect-Reviewer-Beta': ['Claude Opus 4.6 (copilot)', 'Auto (copilot)'],
58
- };
59
-
60
- export const CLAUDE_MODELS = Object.fromEntries(
61
- Object.entries(COPILOT_MODELS).map(([agentName, models]) => {
62
- const primaryModel = Array.isArray(models) ? models[0] : models;
63
- return [agentName, primaryModel?.replace(/ \(copilot\)$/, '') || 'Auto'];
64
- }),
65
- );
66
-
67
- /**
68
- * Variant group definitions — maps role to variant suffixes.
69
- * Used by adapters to know which agents are variants of the same role.
70
- */
71
- export const VARIANT_GROUPS = {
72
- Researcher: ['Alpha', 'Beta', 'Gamma', 'Delta'],
73
- 'Code-Reviewer': ['Alpha', 'Beta'],
74
- 'Architect-Reviewer': ['Alpha', 'Beta'],
75
- };
76
-
77
- /**
78
- * Primary variant per role — the "default" one for single-agent invocation.
79
- */
80
- export const PRIMARY_VARIANT = {
81
- Researcher: 'Alpha',
82
- 'Code-Reviewer': 'Alpha',
83
- 'Architect-Reviewer': 'Alpha',
84
- };
@@ -1,147 +0,0 @@
1
- /**
2
- * Plugin/skill definitions — packages of domain knowledge for agents.
3
- *
4
- * Copilot: .github/skills/{name}/SKILL.md
5
- * Claude Code: Maps to tool_use permissions and MCP config
6
- * Claude Code: Referenced via CLAUDE.md or MCP
7
- *
8
- * Skills are NOT generated — they live in scaffold/skills/.
9
- * This file defines WHICH skills to copy and their metadata.
10
- */
11
-
12
- export const PLUGINS = {
13
- aikit: {
14
- description: 'AI Kit search, analysis, memory, and developer tools',
15
- source: 'scaffold/skills/aikit/SKILL.md',
16
- required: true,
17
- },
18
-
19
- brainstorming: {
20
- description: 'Brainstorming & design exploration workflow',
21
- source: 'scaffold/skills/brainstorming/SKILL.md',
22
- required: true,
23
- sidecars: ['scaffold/skills/brainstorming/spec-document-reviewer-prompt.md'],
24
- },
25
-
26
- 'multi-agents-development': {
27
- description:
28
- 'Multi-agent orchestration, task decomposition, parallel dispatch, and review pipeline patterns',
29
- source: 'scaffold/skills/multi-agents-development/SKILL.md',
30
- required: true,
31
- sidecars: [
32
- 'scaffold/skills/multi-agents-development/implementer-prompt.md',
33
- 'scaffold/skills/multi-agents-development/spec-review-prompt.md',
34
- 'scaffold/skills/multi-agents-development/code-quality-review-prompt.md',
35
- 'scaffold/skills/multi-agents-development/architecture-review-prompt.md',
36
- 'scaffold/skills/multi-agents-development/parallel-dispatch-example.md',
37
- ],
38
- },
39
-
40
- 'adr-skill': {
41
- description:
42
- 'Architecture Decision Records — create, maintain, and review ADRs for significant technical decisions',
43
- source: 'scaffold/skills/adr-skill/SKILL.md',
44
- required: true,
45
- sidecars: [
46
- 'scaffold/skills/adr-skill/assets/templates/adr-madr.md',
47
- 'scaffold/skills/adr-skill/assets/templates/adr-readme.md',
48
- 'scaffold/skills/adr-skill/assets/templates/adr-simple.md',
49
- 'scaffold/skills/adr-skill/references/adr-conventions.md',
50
- 'scaffold/skills/adr-skill/references/examples.md',
51
- 'scaffold/skills/adr-skill/references/review-checklist.md',
52
- 'scaffold/skills/adr-skill/references/template-variants.md',
53
- 'scaffold/skills/adr-skill/scripts/bootstrap_adr.js',
54
- 'scaffold/skills/adr-skill/scripts/new_adr.js',
55
- 'scaffold/skills/adr-skill/scripts/set_adr_status.js',
56
- ],
57
- },
58
-
59
- 'c4-architecture': {
60
- description:
61
- 'C4 model architecture diagrams using Mermaid — system context, container, component, and deployment views',
62
- source: 'scaffold/skills/c4-architecture/SKILL.md',
63
- required: true,
64
- sidecars: [
65
- 'scaffold/skills/c4-architecture/references/advanced-patterns.md',
66
- 'scaffold/skills/c4-architecture/references/c4-syntax.md',
67
- 'scaffold/skills/c4-architecture/references/common-mistakes.md',
68
- ],
69
- },
70
-
71
- 'frontend-design': {
72
- description:
73
- 'Frontend design system — visual design thinking, typography, color, layout, motion, accessibility, and anti-pattern detection',
74
- source: 'scaffold/skills/frontend-design/SKILL.md',
75
- required: false,
76
- },
77
-
78
- 'lesson-learned': {
79
- description: 'Extract engineering lessons from recent code changes via git history analysis',
80
- source: 'scaffold/skills/lesson-learned/SKILL.md',
81
- required: true,
82
- sidecars: [
83
- 'scaffold/skills/lesson-learned/references/anti-patterns.md',
84
- 'scaffold/skills/lesson-learned/references/se-principles.md',
85
- ],
86
- },
87
-
88
- present: {
89
- description:
90
- 'Rich interactive dashboards, charts, tables, timelines, and data visualizations via the present MCP tool',
91
- source: 'scaffold/skills/present/SKILL.md',
92
- required: true,
93
- },
94
-
95
- react: {
96
- description:
97
- 'React development patterns — component architecture, React 19 APIs, Server Components, TypeScript integration',
98
- source: 'scaffold/skills/react/SKILL.md',
99
- required: false,
100
- },
101
-
102
- 'requirements-clarity': {
103
- description:
104
- 'Clarify ambiguous requirements through focused dialogue — score 0-100 until ≥90 before implementation',
105
- source: 'scaffold/skills/requirements-clarity/SKILL.md',
106
- required: true,
107
- },
108
-
109
- 'session-handoff': {
110
- description:
111
- 'Comprehensive handoff documents for seamless AI agent session transfers and context preservation',
112
- source: 'scaffold/skills/session-handoff/SKILL.md',
113
- required: true,
114
- sidecars: [
115
- 'scaffold/skills/session-handoff/references/handoff-template.md',
116
- 'scaffold/skills/session-handoff/references/resume-checklist.md',
117
- 'scaffold/skills/session-handoff/scripts/check_staleness.js',
118
- 'scaffold/skills/session-handoff/scripts/create_handoff.js',
119
- 'scaffold/skills/session-handoff/scripts/list_handoffs.js',
120
- 'scaffold/skills/session-handoff/scripts/validate_handoff.js',
121
- ],
122
- },
123
-
124
- typescript: {
125
- description:
126
- 'TypeScript development patterns — type system, compiler config, advanced types, async patterns, module organization',
127
- source: 'scaffold/skills/typescript/SKILL.md',
128
- required: false,
129
- },
130
- docs: {
131
- description:
132
- 'Living documentation management — Diátaxis framework, docs/ convention, staleness detection, integration with adr-skill and c4-architecture',
133
- source: 'scaffold/skills/docs/SKILL.md',
134
- required: true,
135
- },
136
-
137
- 'repo-access': {
138
- description:
139
- 'Progressive repository access recovery for private and enterprise git repos — strategy ladder from HTTPS to SSH to CLI OAuth to PAT to local clone',
140
- source: 'scaffold/skills/repo-access/SKILL.md',
141
- required: true,
142
- sidecars: [
143
- 'scaffold/skills/repo-access/references/platform-matrix.md',
144
- 'scaffold/skills/repo-access/references/error-patterns.md',
145
- ],
146
- },
147
- };
@@ -1,365 +0,0 @@
1
- /**
2
- * Prompt/command definitions — IDE-agnostic workflow triggers.
3
- *
4
- * Copilot: .prompt.md files in .github/prompts/
5
- * Claude Code: Maps to CLAUDE.md slash commands
6
- * Claude Code: Slash commands
7
- *
8
- * Each prompt defines: description, target agent, required tools, and content.
9
- */
10
-
11
- export const PROMPTS = {
12
- ask: {
13
- description: 'Quick research question — find answer using AI Kit + web search',
14
- agent: 'Researcher-Alpha',
15
- tools: ['search', 'web_search', 'web_fetch', 'compact', 'file_summary', 'remember', 'present'],
16
- content: `## Quick Research
17
-
18
- 1. **AI Kit Recall** — Search knowledge base for existing answers
19
- 2. **Web Search** — If AI Kit has no relevant results, search the web
20
- 3. **Synthesize** — Combine findings into a clear, concise answer
21
- 4. **Remember** — If the answer is broadly useful, persist it to KB
22
-
23
- **Always cite sources** — AI Kit entries, file paths, or URLs.`,
24
- },
25
-
26
- debug: {
27
- description: 'Systematic error diagnosis: reproduce → trace → diagnose → fix → verify',
28
- agent: 'Debugger',
29
- tools: [
30
- 'search',
31
- 'symbol',
32
- 'trace',
33
- 'blast_radius',
34
- 'check',
35
- 'test_run',
36
- 'parse_output',
37
- 'compact',
38
- 'remember',
39
- 'present',
40
- ],
41
- content: `## Debug Workflow
42
-
43
- 1. **Parse Error** — Use \`parse_output\` on the error message/stack trace
44
- 2. **AI Kit Recall** — Search for known issues matching this pattern
45
- 3. **Reproduce** — Run the failing command/test to confirm
46
- 4. **Trace** — Use \`symbol\` and \`trace\` to follow the call chain
47
- 5. **Diagnose** — Form hypothesis, gather evidence
48
- 6. **Fix** — Implement minimal fix
49
- 7. **Verify** — \`check\` + \`test_run\` to confirm fix and no regressions
50
- 8. **Remember** — Persist the fix with category \`troubleshooting\``,
51
- },
52
-
53
- implement: {
54
- description: 'Full lifecycle implementation: plan → build → review → commit',
55
- agent: 'Orchestrator',
56
- tools: [
57
- 'search',
58
- 'scope_map',
59
- 'forge_ground',
60
- 'check',
61
- 'test_run',
62
- 'blast_radius',
63
- 'remember',
64
- 'audit',
65
- 'present',
66
- ],
67
- content: `## Implementation Pipeline
68
-
69
- Follow the Orchestrator's full workflow:
70
-
71
- 1. **Phase 0: Design Gate** — Orchestrator checks if design is needed. Creative/additive work triggers brainstorming first. Use \`/design\` if you want to start with design explicitly.
72
- 2. **Phase 1: Planning** — Research, draft plan, present to user for approval
73
- 3. **Phase 2: Implementation** — Execute phases in parallel batches
74
- 4. **Phase 3: Completion** — Final review, docs, persist learnings
75
-
76
- **🛑 MANDATORY STOPS** — After plan, after each batch, after completion.
77
-
78
- Refer to the Orchestrator agent's full instructions for the detailed workflow.`,
79
- },
80
-
81
- plan: {
82
- description: 'Create a detailed TDD implementation plan without executing it',
83
- agent: 'Planner',
84
- tools: [
85
- 'search',
86
- 'scope_map',
87
- 'forge_ground',
88
- 'forge_classify',
89
- 'file_summary',
90
- 'analyze_structure',
91
- 'analyze_dependencies',
92
- 'remember',
93
- 'present',
94
- ],
95
- content: `## Planning Workflow
96
-
97
- 1. **AI Kit Recall** — Search for past plans, architecture decisions
98
- 2. **FORGE Ground** — Classify tier, scope map, seed unknowns
99
- 3. **Research** — Explore codebase, understand subsystems
100
- 4. **Draft Plan** — 3-10 phases with agent assignments, TDD steps
101
- 5. **Dependency Graph** — Group into parallel batches
102
- 6. **Present** — Show plan with open questions
103
-
104
- **🛑 MANDATORY STOP** — Wait for user approval. Do NOT implement.`,
105
- },
106
-
107
- design: {
108
- description:
109
- 'Collaborative design session — explore ideas, refine requirements, produce a design spec',
110
- agent: 'Orchestrator',
111
- tools: [
112
- 'search',
113
- 'scope_map',
114
- 'file_summary',
115
- 'compact',
116
- 'remember',
117
- 'forge_classify',
118
- 'present',
119
- ],
120
- content: `## Design Session
121
-
122
- Enter Phase 0 (Design Gate) directly — the user is requesting a design session.
123
-
124
- 1. **Invoke the brainstorming skill** — interactive design dialogue with user
125
- 2. Follow the skill's full process (auto-selects Simple or Advanced mode)
126
- 3. If Advanced Mode, use Decision Protocol for unresolved technical choices
127
- 4. Terminal state: brainstorming skill invokes writing-plans skill
128
-
129
- **🛑 HARD GATE** — Do NOT skip brainstorming. Do NOT write code. Design first.`,
130
- },
131
-
132
- review: {
133
- description: 'Dual-model code + architecture review pipeline',
134
- agent: 'Orchestrator',
135
- tools: [
136
- 'search',
137
- 'blast_radius',
138
- 'check',
139
- 'test_run',
140
- 'analyze_dependencies',
141
- 'remember',
142
- 'present',
143
- ],
144
- content: `## Review Pipeline
145
-
146
- ### Step 1: Scope
147
- Identify changed files and their blast radius.
148
-
149
- ### Step 2: Code Review (parallel)
150
- Launch Code-Reviewer-Alpha and Code-Reviewer-Beta on the same changeset.
151
-
152
- ### Step 3: Architecture Review (if needed)
153
- If changes cross service boundaries or modify interfaces, launch Architect-Reviewer-Alpha and Architect-Reviewer-Beta.
154
-
155
- ### Step 4: Synthesis
156
- Merge findings from both reviewers:
157
- - **Agreements**: Both found same issue → HIGH confidence
158
- - **Unique findings**: One found, other didn't → verify
159
- - **Disagreements**: Contradicting verdicts → present both to user
160
-
161
- ### Step 5: Report
162
- Present unified review with: verdict, findings by severity, recommended actions.`,
163
- },
164
-
165
- 'flow-add': {
166
- description:
167
- 'Install a new flow from a git URL or local path — with interactive error recovery',
168
- agent: 'Orchestrator',
169
- tools: ['flow_add', 'flow_list', 'flow_info', 'search', 'compact', 'file_summary', 'present'],
170
- content: `## Flow Installation Assistant
171
-
172
- Install a development flow from a git repository or local directory.
173
-
174
- ### Usage
175
- Provide a git URL or local path:
176
- - \`https://github.com/org/my-flow.git\`
177
- - \`git@github.com:org/my-flow.git\`
178
- - \`./path/to/local/flow\`
179
- - \`C:\\Users\\name\\flows\\my-flow\`
180
-
181
- ### Workflow
182
-
183
- 1. **Attempt Install** — Call \`flow_add\` with the provided source
184
- 2. **On Success** — Show installed flow info with \`flow_info\`, present summary to user
185
- 3. **On Failure** — Classify the error and enter the appropriate recovery path:
186
-
187
- ### Error Recovery Paths
188
-
189
- #### Git Authentication Failure
190
- If the error mentions authentication, credentials, 401, 403, permission denied, or SAML:
191
-
192
- 1. Present the error clearly to the user
193
- 2. Ask which auth method they prefer:
194
- - **SSH key**: Walk through \`ssh-keygen -t ed25519\`, adding the public key to their git host, and retrying with the SSH URL
195
- - **Personal Access Token (PAT)**: Guide them to create a PAT in their git host settings, configure \`git credential.helper store\`, and retry
196
- - **Git Credential Manager**: Check if GCM is installed, help install if needed, then retry (GCM opens a browser for auth)
197
- 3. After credentials are configured, retry \`flow_add\`
198
-
199
- #### Network / Connectivity Failure
200
- If the error mentions timeout, host not found, SSL, or proxy:
201
-
202
- 1. Present diagnostics: Is VPN needed? Is the URL correct? Is there a proxy?
203
- 2. Guide the user through resolution
204
- 3. Retry after the issue is resolved
205
-
206
- #### Format Not Recognized
207
- If \`flow_add\` succeeds cloning but returns a format/structure error:
208
-
209
- 1. Explain that the source was fetched but doesn't match any supported format
210
- 2. List the 3 supported formats:
211
- - **Native**: Has a \`flow.json\` manifest in the root
212
- - **Claude Plugin**: Has \`.claude-plugin/plugin.json\` with skills as steps
213
- - **Copilot Agents**: Has \`.github/agents/\` with agent .md files as steps
214
- 3. Analyze the source structure to understand what's there
215
- 4. Offer to help migrate:
216
- - If it has README files or markdown docs → propose creating a \`flow.json\` that maps them as steps
217
- - If it has a different workflow format → propose conversion
218
- - If it's missing key parts → guide user to fill them in
219
- 5. Create the missing \`flow.json\` manifest and step structure
220
- 6. Retry \`flow_add\` with the fixed source
221
-
222
- ### Native flow.json Format Reference
223
- \`\`\`json
224
- {
225
- "name": "my-flow",
226
- "version": "1.0.0",
227
- "description": "Description of the flow",
228
- "steps": [
229
- {
230
- "id": "step-id",
231
- "name": "Step Name",
232
- "instruction": "steps/step-id/README.md",
233
- "produces": ["output.md"],
234
- "requires": [],
235
- "agents": [],
236
- "description": "What this step does"
237
- }
238
- ],
239
- "agents": [],
240
- "artifacts_dir": ".spec",
241
- "install": []
242
- }
243
- \`\`\`
244
-
245
- ### Post-Install
246
- After successful installation:
247
- - Show the flow name, steps, and description via \`present\`
248
- - Remind user they can start it with \`flow_start\``,
249
- },
250
-
251
- 'flow-manage': {
252
- description: 'List, inspect, update, and remove installed flows',
253
- agent: 'Orchestrator',
254
- tools: [
255
- 'flow_list',
256
- 'flow_info',
257
- 'flow_status',
258
- 'flow_update',
259
- 'flow_remove',
260
- 'flow_start',
261
- 'flow_reset',
262
- 'present',
263
- ],
264
- content: `## Flow Management
265
-
266
- Manage your installed development flows.
267
-
268
- ### Available Actions
269
-
270
- 1. **List flows** — \`flow_list\` to see all installed flows with status
271
- 2. **Inspect a flow** — \`flow_info\` to see detailed steps, agents, and artifacts
272
- 3. **Check status** — \`flow_status\` to see the active flow and current step
273
- 4. **Update a flow** — \`flow_update\` to pull latest changes for git-installed flows
274
- 5. **Remove a flow** — \`flow_remove\` to uninstall (builtin flows cannot be removed)
275
- 6. **Start a flow** — \`flow_start\` to begin executing a flow
276
- 7. **Reset active flow** — \`flow_reset\` to clear active flow state
277
-
278
- ### Workflow
279
- 1. If no specific action requested, start with \`flow_list\` and present overview
280
- 2. Use \`present\` to display flow information in a clear table/card format
281
- 3. For updates, warn if there's an active flow that might be affected
282
- 4. For removals, confirm with user before proceeding`,
283
- },
284
-
285
- 'flow-create': {
286
- description: 'Create a new flow from scratch or migrate an existing workflow to aikit format',
287
- agent: 'Orchestrator',
288
- tools: ['flow_add', 'flow_list', 'flow_info', 'search', 'compact', 'file_summary', 'present'],
289
- content: `## Flow Creation Assistant
290
-
291
- Create a new development flow or migrate an existing workflow to the aikit flow format.
292
-
293
- ### Mode 1: Create from Scratch
294
-
295
- Guide the user through building a complete flow:
296
-
297
- 1. **Define the workflow** — Ask what the flow should accomplish (e.g., "TDD workflow", "documentation pipeline", "migration process")
298
- 2. **Design steps** — Break the workflow into sequential steps (3-8 is ideal)
299
- 3. **For each step**:
300
- - Define the step id, name, and description
301
- - Write the instruction (README.md content — what the agent should do)
302
- - Identify what it produces (output artifacts)
303
- - Identify what it requires (which previous steps must complete first)
304
- - Optionally assign preferred agents
305
- 4. **Generate flow.json** — Create the manifest with all steps
306
- 5. **Write step READMEs** — Create instruction files for each step
307
- 6. **Install** — Use \`flow_add\` to install from the local directory
308
-
309
- ### Mode 2: Migrate Existing Workflow
310
-
311
- If the user has an existing workflow (scripts, docs, runbooks) that they want to convert:
312
-
313
- 1. **Analyze the source** — Read the existing workflow files to understand the process
314
- 2. **Map to steps** — Identify discrete steps with clear inputs/outputs
315
- 3. **Identify gaps** — What's missing for a complete flow? (instructions? ordering? agents?)
316
- 4. **Fill gaps with user** — Ask user to clarify any ambiguous parts
317
- 5. **Generate the flow** — Create flow.json + step READMEs
318
- 6. **Install and validate** — Use \`flow_add\` and \`flow_info\` to verify
319
-
320
- ### Flow Structure
321
-
322
- \`\`\`
323
- my-flow/
324
- flow.json — Flow manifest (name, version, steps, agents)
325
- steps/
326
- step-1/
327
- README.md — Step instructions (what the agent should do)
328
- step-2/
329
- README.md
330
- references/ — Optional reference files for the step
331
- ...
332
- \`\`\`
333
-
334
- ### flow.json Format
335
- \`\`\`json
336
- {
337
- "name": "my-flow",
338
- "version": "1.0.0",
339
- "description": "What this flow does",
340
- "steps": [
341
- {
342
- "id": "step-id",
343
- "name": "Human-readable Step Name",
344
- "instruction": "steps/step-id/README.md",
345
- "produces": ["artifact-name.md"],
346
- "requires": [],
347
- "agents": ["Preferred-Agent"],
348
- "description": "Brief description of this step"
349
- }
350
- ],
351
- "agents": [],
352
- "artifacts_dir": ".spec",
353
- "install": []
354
- }
355
- \`\`\`
356
-
357
- ### Step README Format
358
- Each step README should include:
359
- - **Goal** — What this step accomplishes
360
- - **Inputs** — What context/artifacts from prior steps are needed
361
- - **Instructions** — Detailed steps for the agent to follow
362
- - **Output** — What artifact(s) to produce and where to save them
363
- - **Acceptance criteria** — How to know the step is complete`,
364
- },
365
- };