@hailer/mcp 1.1.12 → 1.1.13
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/CHANGELOG.md +0 -7
- package/{.claude → dist}/CLAUDE.md +2 -2
- package/dist/app.js +18 -5
- package/dist/bot/bot-config.d.ts +10 -1
- package/dist/bot/bot-config.js +64 -3
- package/dist/bot/bot-manager.d.ts +2 -0
- package/dist/bot/bot-manager.js +9 -2
- package/dist/bot/bot.d.ts +33 -0
- package/dist/bot/bot.js +461 -160
- package/dist/bot/services/message-classifier.js +17 -0
- package/dist/bot/services/permission-guard.d.ts +52 -0
- package/dist/bot/services/permission-guard.js +149 -0
- package/dist/bot/services/types.d.ts +5 -0
- package/dist/bot/services/typing-indicator.d.ts +6 -1
- package/dist/bot/services/typing-indicator.js +19 -3
- package/dist/cli.js +0 -0
- package/dist/config.d.ts +6 -1
- package/dist/config.js +43 -0
- package/dist/core.js +3 -6
- package/dist/lib/discussion-lock.d.ts +42 -0
- package/dist/lib/discussion-lock.js +110 -0
- package/dist/mcp/UserContextCache.d.ts +5 -0
- package/dist/mcp/UserContextCache.js +51 -19
- package/dist/mcp/hailer-clients.d.ts +19 -1
- package/dist/mcp/hailer-clients.js +158 -24
- package/dist/mcp/session-store.d.ts +68 -0
- package/dist/mcp/session-store.js +169 -0
- package/dist/mcp/signal-handler.js +2 -0
- package/dist/mcp/tool-registry.d.ts +17 -4
- package/dist/mcp/tool-registry.js +37 -7
- package/dist/mcp/tools/activity.js +99 -7
- package/dist/mcp/tools/app-scaffold.js +304 -336
- package/dist/mcp/tools/bot-config/constants.d.ts +23 -0
- package/dist/mcp/tools/bot-config/constants.js +94 -0
- package/dist/mcp/tools/bot-config/core.d.ts +253 -0
- package/dist/mcp/tools/bot-config/core.js +2456 -0
- package/dist/mcp/tools/bot-config/index.d.ts +10 -0
- package/dist/mcp/tools/bot-config/index.js +59 -0
- package/dist/mcp/tools/bot-config/tools.d.ts +7 -0
- package/dist/mcp/tools/bot-config/tools.js +15 -0
- package/dist/mcp/tools/bot-config/types.d.ts +50 -0
- package/dist/mcp/tools/bot-config/types.js +6 -0
- package/dist/mcp/tools/bug-fixer-tools.d.ts +45 -0
- package/dist/mcp/tools/bug-fixer-tools.js +1096 -0
- package/dist/mcp/tools/company.d.ts +9 -0
- package/dist/mcp/tools/company.js +88 -0
- package/dist/mcp/tools/discussion.js +68 -0
- package/dist/mcp/tools/document.d.ts +11 -0
- package/dist/mcp/tools/document.js +741 -0
- package/dist/mcp/tools/investigate.d.ts +9 -0
- package/dist/mcp/tools/investigate.js +254 -0
- package/dist/mcp/tools/workflow-permissions.d.ts +15 -0
- package/dist/mcp/tools/workflow-permissions.js +204 -0
- package/dist/mcp/tools/workflow.js +57 -18
- package/dist/mcp/utils/index.d.ts +2 -0
- package/dist/mcp/utils/index.js +12 -1
- package/dist/mcp/utils/role-utils.d.ts +74 -0
- package/dist/mcp/utils/role-utils.js +151 -0
- package/dist/mcp/utils/types.d.ts +43 -1
- package/dist/mcp/utils/types.js +14 -0
- package/dist/mcp/webhook-handler.d.ts +4 -0
- package/dist/mcp/webhook-handler.js +8 -0
- package/dist/mcp-server.d.ts +23 -2
- package/dist/mcp-server.js +639 -127
- package/dist/plugins/vipunen/client.d.ts +150 -0
- package/dist/plugins/vipunen/client.js +535 -0
- package/dist/plugins/vipunen/config/schema-config.json +19 -0
- package/dist/plugins/vipunen/config/schema-doc.json +22 -0
- package/dist/plugins/vipunen/index.d.ts +41 -0
- package/dist/plugins/vipunen/index.js +88 -0
- package/dist/plugins/vipunen/tools.d.ts +26 -0
- package/dist/plugins/vipunen/tools.js +501 -0
- package/dist/stdio-server.d.ts +14 -0
- package/dist/stdio-server.js +101 -0
- package/package.json +2 -1
- package/.claude/agents/agent-ada-skill-builder.md +0 -94
- package/.claude/agents/agent-alejandro-function-fields.md +0 -342
- package/.claude/agents/agent-bjorn-config-audit.md +0 -103
- package/.claude/agents/agent-builder-agent-creator.md +0 -130
- package/.claude/agents/agent-code-simplifier.md +0 -53
- package/.claude/agents/agent-dmitri-activity-crud.md +0 -159
- package/.claude/agents/agent-giuseppe-app-builder.md +0 -247
- package/.claude/agents/agent-gunther-mcp-tools.md +0 -39
- package/.claude/agents/agent-helga-workflow-config.md +0 -204
- package/.claude/agents/agent-igor-activity-mover-automation.md +0 -125
- package/.claude/agents/agent-ingrid-doc-templates.md +0 -261
- package/.claude/agents/agent-ivan-monolith.md +0 -154
- package/.claude/agents/agent-kenji-data-reader.md +0 -86
- package/.claude/agents/agent-lars-code-inspector.md +0 -102
- package/.claude/agents/agent-marco-mockup-builder.md +0 -110
- package/.claude/agents/agent-marcus-api-documenter.md +0 -323
- package/.claude/agents/agent-marketplace-publisher.md +0 -280
- package/.claude/agents/agent-marketplace-reviewer.md +0 -309
- package/.claude/agents/agent-permissions-handler.md +0 -208
- package/.claude/agents/agent-simple-writer.md +0 -48
- package/.claude/agents/agent-svetlana-code-review.md +0 -171
- package/.claude/agents/agent-tanya-test-runner.md +0 -333
- package/.claude/agents/agent-ui-designer.md +0 -100
- package/.claude/agents/agent-viktor-sql-insights.md +0 -212
- package/.claude/agents/agent-web-search.md +0 -55
- package/.claude/agents/agent-yevgeni-discussions.md +0 -45
- package/.claude/agents/agent-zara-zapier.md +0 -159
- package/.claude/commands/app-squad.md +0 -135
- package/.claude/commands/audit-squad.md +0 -158
- package/.claude/commands/autoplan.md +0 -563
- package/.claude/commands/cleanup-squad.md +0 -98
- package/.claude/commands/config-squad.md +0 -106
- package/.claude/commands/crud-squad.md +0 -87
- package/.claude/commands/data-squad.md +0 -97
- package/.claude/commands/debug-squad.md +0 -303
- package/.claude/commands/doc-squad.md +0 -65
- package/.claude/commands/handoff.md +0 -137
- package/.claude/commands/health.md +0 -49
- package/.claude/commands/help.md +0 -29
- package/.claude/commands/help:agents.md +0 -151
- package/.claude/commands/help:commands.md +0 -78
- package/.claude/commands/help:faq.md +0 -79
- package/.claude/commands/help:plugins.md +0 -50
- package/.claude/commands/help:skills.md +0 -93
- package/.claude/commands/help:tools.md +0 -75
- package/.claude/commands/hotfix-squad.md +0 -112
- package/.claude/commands/integration-squad.md +0 -82
- package/.claude/commands/janitor-squad.md +0 -167
- package/.claude/commands/learn-auto.md +0 -120
- package/.claude/commands/learn.md +0 -120
- package/.claude/commands/mcp-list.md +0 -27
- package/.claude/commands/onboard-squad.md +0 -140
- package/.claude/commands/plan-workspace.md +0 -732
- package/.claude/commands/prd.md +0 -130
- package/.claude/commands/project-status.md +0 -82
- package/.claude/commands/publish.md +0 -138
- package/.claude/commands/recap.md +0 -69
- package/.claude/commands/restore.md +0 -64
- package/.claude/commands/review-squad.md +0 -152
- package/.claude/commands/save.md +0 -24
- package/.claude/commands/stats.md +0 -19
- package/.claude/commands/swarm.md +0 -210
- package/.claude/commands/tool-builder.md +0 -39
- package/.claude/commands/ws-pull.md +0 -44
- package/.claude/hooks/_shared-memory.cjs +0 -305
- package/.claude/hooks/_utils.cjs +0 -108
- package/.claude/hooks/agent-failure-detector.cjs +0 -383
- package/.claude/hooks/agent-usage-logger.cjs +0 -204
- package/.claude/hooks/app-edit-guard.cjs +0 -494
- package/.claude/hooks/auto-learn.cjs +0 -304
- package/.claude/hooks/bash-guard.cjs +0 -272
- package/.claude/hooks/builder-mode-manager.cjs +0 -354
- package/.claude/hooks/bulk-activity-guard.cjs +0 -271
- package/.claude/hooks/context-watchdog.cjs +0 -230
- package/.claude/hooks/delegation-reminder.cjs +0 -465
- package/.claude/hooks/design-system-lint.cjs +0 -271
- package/.claude/hooks/post-scaffold-hook.cjs +0 -181
- package/.claude/hooks/prompt-guard.cjs +0 -354
- package/.claude/hooks/publish-template-guard.cjs +0 -147
- package/.claude/hooks/session-start.cjs +0 -35
- package/.claude/hooks/shared-memory-writer.cjs +0 -147
- package/.claude/hooks/skill-injector.cjs +0 -140
- package/.claude/hooks/skill-usage-logger.cjs +0 -258
- package/.claude/hooks/src-edit-guard.cjs +0 -240
- package/.claude/hooks/sync-marketplace-agents.cjs +0 -346
- package/.claude/settings.json +0 -257
- package/.claude/skills/SDK-activity-patterns/SKILL.md +0 -428
- package/.claude/skills/SDK-document-templates/SKILL.md +0 -1033
- package/.claude/skills/SDK-function-fields/SKILL.md +0 -542
- package/.claude/skills/SDK-generate-skill/SKILL.md +0 -92
- package/.claude/skills/SDK-init-skill/SKILL.md +0 -127
- package/.claude/skills/SDK-insight-queries/SKILL.md +0 -787
- package/.claude/skills/SDK-ws-config-skill/SKILL.md +0 -1139
- package/.claude/skills/agent-structure/SKILL.md +0 -98
- package/.claude/skills/api-documentation-patterns/SKILL.md +0 -474
- package/.claude/skills/chrome-mcp-reference/SKILL.md +0 -370
- package/.claude/skills/delegation-routing/SKILL.md +0 -202
- package/.claude/skills/frontend-design/SKILL.md +0 -254
- package/.claude/skills/hailer-activity-mover/SKILL.md +0 -213
- package/.claude/skills/hailer-api-client/SKILL.md +0 -518
- package/.claude/skills/hailer-app-builder/SKILL.md +0 -1434
- package/.claude/skills/hailer-apps-pictures/SKILL.md +0 -269
- package/.claude/skills/hailer-design-system/SKILL.md +0 -235
- package/.claude/skills/hailer-monolith-automations/SKILL.md +0 -686
- package/.claude/skills/hailer-permissions-system/SKILL.md +0 -121
- package/.claude/skills/hailer-project-protocol/SKILL.md +0 -488
- package/.claude/skills/hailer-rest-api/SKILL.md +0 -61
- package/.claude/skills/hailer-rest-api/hailer-activities.md +0 -184
- package/.claude/skills/hailer-rest-api/hailer-admin.md +0 -473
- package/.claude/skills/hailer-rest-api/hailer-calendar.md +0 -256
- package/.claude/skills/hailer-rest-api/hailer-feed.md +0 -249
- package/.claude/skills/hailer-rest-api/hailer-insights.md +0 -195
- package/.claude/skills/hailer-rest-api/hailer-messaging.md +0 -276
- package/.claude/skills/hailer-rest-api/hailer-workflows.md +0 -283
- package/.claude/skills/insight-join-patterns/SKILL.md +0 -174
- package/.claude/skills/integration-patterns/SKILL.md +0 -421
- package/.claude/skills/json-only-output/SKILL.md +0 -72
- package/.claude/skills/lsp-setup/SKILL.md +0 -160
- package/.claude/skills/mcp-direct-tools/SKILL.md +0 -153
- package/.claude/skills/optional-parameters/SKILL.md +0 -72
- package/.claude/skills/publish-hailer-app/SKILL.md +0 -244
- package/.claude/skills/testing-patterns/SKILL.md +0 -630
- package/.claude/skills/tool-builder/SKILL.md +0 -250
- package/.claude/skills/tool-parameter-usage/SKILL.md +0 -126
- package/.claude/skills/tool-response-verification/SKILL.md +0 -92
- package/.claude/skills/zapier-hailer-patterns/SKILL.md +0 -581
- package/.mcp.json +0 -13
- package/.opencode/agent/agent-ada-skill-builder.md +0 -35
- package/.opencode/agent/agent-alejandro-function-fields.md +0 -39
- package/.opencode/agent/agent-bjorn-config-audit.md +0 -36
- package/.opencode/agent/agent-builder-agent-creator.md +0 -39
- package/.opencode/agent/agent-code-simplifier.md +0 -31
- package/.opencode/agent/agent-dmitri-activity-crud.md +0 -40
- package/.opencode/agent/agent-giuseppe-app-builder.md +0 -37
- package/.opencode/agent/agent-gunther-mcp-tools.md +0 -39
- package/.opencode/agent/agent-helga-workflow-config.md +0 -203
- package/.opencode/agent/agent-igor-activity-mover-automation.md +0 -46
- package/.opencode/agent/agent-ingrid-doc-templates.md +0 -39
- package/.opencode/agent/agent-ivan-monolith.md +0 -46
- package/.opencode/agent/agent-kenji-data-reader.md +0 -53
- package/.opencode/agent/agent-lars-code-inspector.md +0 -28
- package/.opencode/agent/agent-marco-mockup-builder.md +0 -42
- package/.opencode/agent/agent-marcus-api-documenter.md +0 -53
- package/.opencode/agent/agent-marketplace-publisher.md +0 -44
- package/.opencode/agent/agent-marketplace-reviewer.md +0 -42
- package/.opencode/agent/agent-permissions-handler.md +0 -50
- package/.opencode/agent/agent-simple-writer.md +0 -45
- package/.opencode/agent/agent-svetlana-code-review.md +0 -39
- package/.opencode/agent/agent-tanya-test-runner.md +0 -57
- package/.opencode/agent/agent-ui-designer.md +0 -56
- package/.opencode/agent/agent-viktor-sql-insights.md +0 -34
- package/.opencode/agent/agent-web-search.md +0 -42
- package/.opencode/agent/agent-yevgeni-discussions.md +0 -37
- package/.opencode/agent/agent-zara-zapier.md +0 -53
- package/.opencode/commands/app-squad.md +0 -135
- package/.opencode/commands/audit-squad.md +0 -158
- package/.opencode/commands/autoplan.md +0 -563
- package/.opencode/commands/cleanup-squad.md +0 -98
- package/.opencode/commands/config-squad.md +0 -106
- package/.opencode/commands/crud-squad.md +0 -87
- package/.opencode/commands/data-squad.md +0 -97
- package/.opencode/commands/debug-squad.md +0 -303
- package/.opencode/commands/doc-squad.md +0 -65
- package/.opencode/commands/handoff.md +0 -137
- package/.opencode/commands/health.md +0 -49
- package/.opencode/commands/help-agents.md +0 -151
- package/.opencode/commands/help-commands.md +0 -32
- package/.opencode/commands/help-faq.md +0 -29
- package/.opencode/commands/help-plugins.md +0 -28
- package/.opencode/commands/help-skills.md +0 -7
- package/.opencode/commands/help-tools.md +0 -40
- package/.opencode/commands/help.md +0 -28
- package/.opencode/commands/hotfix-squad.md +0 -112
- package/.opencode/commands/integration-squad.md +0 -82
- package/.opencode/commands/janitor-squad.md +0 -167
- package/.opencode/commands/learn-auto.md +0 -120
- package/.opencode/commands/learn.md +0 -120
- package/.opencode/commands/mcp-list.md +0 -27
- package/.opencode/commands/onboard-squad.md +0 -140
- package/.opencode/commands/plan-workspace.md +0 -732
- package/.opencode/commands/prd.md +0 -131
- package/.opencode/commands/project-status.md +0 -82
- package/.opencode/commands/publish.md +0 -138
- package/.opencode/commands/recap.md +0 -69
- package/.opencode/commands/restore.md +0 -64
- package/.opencode/commands/review-squad.md +0 -152
- package/.opencode/commands/save.md +0 -24
- package/.opencode/commands/stats.md +0 -19
- package/.opencode/commands/swarm.md +0 -210
- package/.opencode/commands/tool-builder.md +0 -39
- package/.opencode/commands/ws-pull.md +0 -44
- package/.opencode/opencode.json +0 -28
- package/SESSION-HANDOFF.md +0 -68
- package/inbox/2026-03-04-bot-config-patterns.md +0 -24
- package/scripts/postinstall.cjs +0 -64
- package/scripts/test-hal-tools.ts +0 -154
|
@@ -1,158 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: Run parallel security and permissions audit with Svetlana, Permissions Handler, and Gunther
|
|
3
|
-
argument-hint: [files, app name, or blank for full audit]
|
|
4
|
-
allowed-tools: Task, Bash
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# Audit Squad
|
|
8
|
-
|
|
9
|
-
Parallel security and permissions audit: code hardening, access control verification, and MCP tool validation.
|
|
10
|
-
|
|
11
|
-
**Agents:**
|
|
12
|
-
- **Svetlana** - Code review (hardcoded secrets, injection vulnerabilities, insecure patterns, OWASP top 10)
|
|
13
|
-
- **Permissions Handler** - Access control audit (effective permissions, team access levels, permission matrix)
|
|
14
|
-
- **Gunther** - MCP tools security (input validation, data exposure, security best practices)
|
|
15
|
-
|
|
16
|
-
**Target:** $ARGUMENTS (if blank, use full project scope)
|
|
17
|
-
|
|
18
|
-
**Scope options:**
|
|
19
|
-
- Specific files or directory path
|
|
20
|
-
- App name (checks that app's code and permissions)
|
|
21
|
-
- Blank for full project audit
|
|
22
|
-
|
|
23
|
-
## Protocol
|
|
24
|
-
|
|
25
|
-
### Step 1: Determine Target
|
|
26
|
-
|
|
27
|
-
If `$ARGUMENTS` has specific files/directories or app name, use those.
|
|
28
|
-
Otherwise, scope is the entire project (workspace/ + apps/ + integrations/).
|
|
29
|
-
|
|
30
|
-
If `$ARGUMENTS` contains `--code-only`:
|
|
31
|
-
- Remove flag from target
|
|
32
|
-
- Skip Permissions Handler and Gunther in Step 2
|
|
33
|
-
|
|
34
|
-
If `$ARGUMENTS` contains `--permissions-only`:
|
|
35
|
-
- Remove flag from target
|
|
36
|
-
- Skip Svetlana and Gunther in Step 2
|
|
37
|
-
|
|
38
|
-
If `$ARGUMENTS` contains `--bg`:
|
|
39
|
-
- Launch all agents in background mode
|
|
40
|
-
|
|
41
|
-
### Step 2: Launch Audit Agents in Parallel
|
|
42
|
-
|
|
43
|
-
Spawn all applicable agents simultaneously using multiple Task tool calls in a single message:
|
|
44
|
-
|
|
45
|
-
**Svetlana:**
|
|
46
|
-
```
|
|
47
|
-
Task(subagent_type="agent-svetlana-code-review", prompt="Security audit of these files: [TARGET]. Focus on: hardcoded secrets, API keys, credentials, injection vulnerabilities (SQL/XSS/Command), insecure crypto usage, missing input validation, OWASP Top 10 issues, unsafe deserialization, missing authentication/authorization checks. Return verdict (PASS/FAIL), critical count, and detailed findings per file.")
|
|
48
|
-
```
|
|
49
|
-
|
|
50
|
-
**Permissions Handler:**
|
|
51
|
-
```
|
|
52
|
-
Task(subagent_type="agent-permissions-handler", prompt="Audit access control for the entire project. Map effective permissions: who has access to which apps, which teams have what access levels, which users are admins, workspace-wide versus app-specific permissions. Produce a permission matrix showing [User/Team] → [App] → [Access Level]. Flag any excessive or unclear permissions.")
|
|
53
|
-
```
|
|
54
|
-
|
|
55
|
-
**Gunther:**
|
|
56
|
-
```
|
|
57
|
-
Task(subagent_type="agent-gunther-mcp-tools", prompt="Security audit of custom MCP tools (if any exist in src/mcp/tools/). Verify: input validation with Zod schemas, no unintended data exposure, proper error handling, rate limiting awareness, secure defaults. Report security posture per tool. If no custom tools exist, report that.")
|
|
58
|
-
```
|
|
59
|
-
|
|
60
|
-
### Step 3: Categorize and Aggregate Results
|
|
61
|
-
|
|
62
|
-
Collect results from all agents. Categorize findings into three tiers:
|
|
63
|
-
|
|
64
|
-
**CRITICAL:**
|
|
65
|
-
- Hardcoded secrets/credentials
|
|
66
|
-
- SQL injection, XSS, command injection vulnerabilities
|
|
67
|
-
- Authentication/authorization bypasses
|
|
68
|
-
- Excessive uncontrolled permissions
|
|
69
|
-
- MCP tools exposing sensitive data
|
|
70
|
-
|
|
71
|
-
**WARNING:**
|
|
72
|
-
- Weak crypto usage
|
|
73
|
-
- Missing input sanitization
|
|
74
|
-
- Unclear permission delegations
|
|
75
|
-
- Unvalidated MCP tool inputs
|
|
76
|
-
- Missing rate limiting on tools
|
|
77
|
-
|
|
78
|
-
**INFO:**
|
|
79
|
-
- Best practice improvements
|
|
80
|
-
- Code hardening suggestions
|
|
81
|
-
- Permission clarity recommendations
|
|
82
|
-
|
|
83
|
-
### Step 4: Report
|
|
84
|
-
|
|
85
|
-
```markdown
|
|
86
|
-
## Audit Squad Report
|
|
87
|
-
|
|
88
|
-
### Scope
|
|
89
|
-
[What was audited]
|
|
90
|
-
|
|
91
|
-
### Overall Security Posture
|
|
92
|
-
[Rating: PASS / WARNING / CRITICAL]
|
|
93
|
-
- Critical findings: X
|
|
94
|
-
- Warnings: X
|
|
95
|
-
- Info items: X
|
|
96
|
-
|
|
97
|
-
### Svetlana (Code Security Review)
|
|
98
|
-
**Verdict:** PASS / FAIL / WARNINGS
|
|
99
|
-
- Critical: X [list]
|
|
100
|
-
- Warnings: X [list]
|
|
101
|
-
- Info: X [list]
|
|
102
|
-
- Files affected: [grouped summary]
|
|
103
|
-
|
|
104
|
-
### Permissions Handler (Access Control)
|
|
105
|
-
**Matrix Status:** [OK / EXCESSIVE / UNCLEAR]
|
|
106
|
-
- Total apps: X
|
|
107
|
-
- Total teams: X
|
|
108
|
-
- Users with admin access: X
|
|
109
|
-
- Flagged permissions: [list]
|
|
110
|
-
- [Permission matrix if findings exist]
|
|
111
|
-
|
|
112
|
-
### Gunther (MCP Tools Security)
|
|
113
|
-
**Status:** [No tools / PASS / WARNINGS / CRITICAL]
|
|
114
|
-
[If tools exist:]
|
|
115
|
-
- Tools audited: X
|
|
116
|
-
- Input validation issues: X
|
|
117
|
-
- Data exposure risks: X
|
|
118
|
-
- Best practice gaps: X
|
|
119
|
-
|
|
120
|
-
### Findings by Severity
|
|
121
|
-
|
|
122
|
-
#### CRITICAL (Require Immediate Action)
|
|
123
|
-
[List all critical findings with file/tool and remediation steps]
|
|
124
|
-
|
|
125
|
-
#### WARNING (Address in Next Sprint)
|
|
126
|
-
[List all warnings with context]
|
|
127
|
-
|
|
128
|
-
#### INFO (Consider for Hardening)
|
|
129
|
-
[List informational recommendations]
|
|
130
|
-
|
|
131
|
-
### Remediation Checklist
|
|
132
|
-
- [ ] [Critical issue 1]: [Action]
|
|
133
|
-
- [ ] [Critical issue 2]: [Action]
|
|
134
|
-
- [ ] [Warning 1]: [Action]
|
|
135
|
-
|
|
136
|
-
### Summary
|
|
137
|
-
[1-2 sentence overall assessment of security posture and next steps]
|
|
138
|
-
```
|
|
139
|
-
|
|
140
|
-
If any agent fails or times out, report partial results from successful agents, note which failed, and offer to re-run individually.
|
|
141
|
-
|
|
142
|
-
## Options
|
|
143
|
-
|
|
144
|
-
| Flag | Effect |
|
|
145
|
-
|------|--------|
|
|
146
|
-
| `--code-only` | Skip permissions and MCP tools (code review only, faster) |
|
|
147
|
-
| `--permissions-only` | Skip code review and MCP tools (permissions matrix only) |
|
|
148
|
-
| `--bg` | Run all agents in background mode |
|
|
149
|
-
|
|
150
|
-
If `--bg` is present, launch all agents with `run_in_background: true` and tell the user they'll be notified when complete.
|
|
151
|
-
|
|
152
|
-
## Notes
|
|
153
|
-
|
|
154
|
-
- Default scope is full project if no arguments provided
|
|
155
|
-
- Svetlana focuses on secrets and injection attacks; general code quality is separate (/review-squad)
|
|
156
|
-
- Permissions Handler is organization-wide - includes team and app-level settings
|
|
157
|
-
- Gunther only validates if custom MCP tools exist in the project
|
|
158
|
-
- Critical findings should block deployment; warnings should be tracked for next sprint
|
|
@@ -1,563 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: Create project plan with workspace structure and PRDs
|
|
3
|
-
argument-hint: <project description>
|
|
4
|
-
---
|
|
5
|
-
# Autoplan Command
|
|
6
|
-
|
|
7
|
-
Create a complete project plan: workspace structure, DEVELOPMENT.md (big picture), and PRDs (feature details).
|
|
8
|
-
|
|
9
|
-
## Usage
|
|
10
|
-
```
|
|
11
|
-
/autoplan "Build a booking system with customer portal and admin dashboard"
|
|
12
|
-
```
|
|
13
|
-
|
|
14
|
-
## Instructions
|
|
15
|
-
|
|
16
|
-
### Phase 1: Understand the Project
|
|
17
|
-
|
|
18
|
-
1. **Parse the prompt** - Identify:
|
|
19
|
-
- Project name/purpose
|
|
20
|
-
- Individual features/apps mentioned
|
|
21
|
-
- Any technical requirements mentioned
|
|
22
|
-
|
|
23
|
-
2. **Detect project state:**
|
|
24
|
-
|
|
25
|
-
| Indicator | State | Action |
|
|
26
|
-
|-----------|-------|--------|
|
|
27
|
-
| Has `workspace/` with workflows | Existing Hailer | Audit first, then plan additions |
|
|
28
|
-
| Has `workspace/` empty/minimal | New Hailer | Plan from scratch |
|
|
29
|
-
| Has `DEVELOPMENT.md` | Existing project | Read it, plan additions |
|
|
30
|
-
| Nothing | New project | Plan from scratch |
|
|
31
|
-
|
|
32
|
-
3. **For EXISTING Hailer projects — audit first:**
|
|
33
|
-
|
|
34
|
-
```bash
|
|
35
|
-
# Read what already exists
|
|
36
|
-
ls workspace/ # List workflows
|
|
37
|
-
ls apps/ 2>/dev/null # List apps (if any)
|
|
38
|
-
ls docs/prd-*.md 2>/dev/null # List existing PRDs
|
|
39
|
-
```
|
|
40
|
-
|
|
41
|
-
Use Kenji agent to read:
|
|
42
|
-
- Existing workflows and their fields/phases
|
|
43
|
-
- Existing insights
|
|
44
|
-
- Existing apps and their purpose
|
|
45
|
-
|
|
46
|
-
**Then ask:**
|
|
47
|
-
- What do you want to ADD to this project?
|
|
48
|
-
- Any existing features need changes?
|
|
49
|
-
|
|
50
|
-
4. **For NEW Hailer projects:**
|
|
51
|
-
- What workflows/data do you need?
|
|
52
|
-
- Need custom apps? (or just use built-in UI)
|
|
53
|
-
- If apps: Public or authenticated?
|
|
54
|
-
|
|
55
|
-
5. **For standard projects:**
|
|
56
|
-
- Tech stack preferences?
|
|
57
|
-
- Any existing codebase to integrate with?
|
|
58
|
-
|
|
59
|
-
6. **Apply design patterns** (see below) when structuring workflows.
|
|
60
|
-
|
|
61
|
-
---
|
|
62
|
-
|
|
63
|
-
## Design Patterns (Quick Reference)
|
|
64
|
-
|
|
65
|
-
### Workflow Structure
|
|
66
|
-
|
|
67
|
-
**Header + Rows (Two Workflows)**
|
|
68
|
-
Any entity with line items needs two workflows:
|
|
69
|
-
- Sales Orders → Order Rows (link to Products, Services)
|
|
70
|
-
- Purchase Orders → PO Rows
|
|
71
|
-
- Invoices → Invoice Rows (or link to existing Order Rows)
|
|
72
|
-
- Quotes → Quote Lines
|
|
73
|
-
|
|
74
|
-
**Row Source Flexibility:** Order rows can link to multiple catalogs (Products, Services, Materials) - use separate row workflows when types differ significantly.
|
|
75
|
-
|
|
76
|
-
**Dataset vs Workflow**
|
|
77
|
-
- **Dataset:** Static/reference data (Products, Customers) - phases are categories, activities don't transition
|
|
78
|
-
- **Workflow:** Lifecycle data (Orders, Invoices) - phases are stages, activities progress through them
|
|
79
|
-
|
|
80
|
-
**Master Data vs Transactional**
|
|
81
|
-
- Master data: `enableUnlinkedMode: true` - Customers, Products, Suppliers
|
|
82
|
-
- Transactional: `enableUnlinkedMode: false` - Orders, Invoices, Rows
|
|
83
|
-
|
|
84
|
-
**Phase-Specific Field Visibility**
|
|
85
|
-
Different phases can show different fields:
|
|
86
|
-
- Workflow: Draft (basic fields) → Confirmed (+ date, by) → Shipped (+ tracking)
|
|
87
|
-
- Dataset: Products (dimensions, weight) vs Services (hourly rate, duration)
|
|
88
|
-
|
|
89
|
-
**Domain Prefixes (30+ workflows):** Use `INV-`, `MYY-`, `OST-`, `VH-` prefixes to organize.
|
|
90
|
-
|
|
91
|
-
---
|
|
92
|
-
|
|
93
|
-
### Row Lifecycle
|
|
94
|
-
|
|
95
|
-
**Pattern A: Rows progress through phases**
|
|
96
|
-
```
|
|
97
|
-
Order Row → "Ordered" → "Shipped" → "Invoiced"
|
|
98
|
-
```
|
|
99
|
-
Use when: Simple 1:1 process, no integrations
|
|
100
|
-
|
|
101
|
-
**Pattern B: Rows generate new activities**
|
|
102
|
-
```
|
|
103
|
-
Order Row → creates → Invoice Row
|
|
104
|
-
```
|
|
105
|
-
Use when: Partial invoicing, consolidated invoicing, accounting integration, different pricing
|
|
106
|
-
|
|
107
|
-
---
|
|
108
|
-
|
|
109
|
-
### Integration Patterns
|
|
110
|
-
|
|
111
|
-
| Need | Solution |
|
|
112
|
-
|------|----------|
|
|
113
|
-
| Phase cascades | Activity Mover |
|
|
114
|
-
| Simple notifications | Zapier webhooks |
|
|
115
|
-
| Complex automations | Project Monolith |
|
|
116
|
-
| No integration | Export insight (CSV) |
|
|
117
|
-
|
|
118
|
-
---
|
|
119
|
-
|
|
120
|
-
### Document Templates
|
|
121
|
-
|
|
122
|
-
For invoices, quotes, order confirmations - pull header + linked rows into PDF.
|
|
123
|
-
|
|
124
|
-
### Phase 2: Create Project Structure
|
|
125
|
-
|
|
126
|
-
**For Hailer projects:**
|
|
127
|
-
|
|
128
|
-
Note: `workspace/` is created by the Hailer SDK, not manually. It starts with one workflow.
|
|
129
|
-
|
|
130
|
-
```bash
|
|
131
|
-
# Only create if custom apps are needed
|
|
132
|
-
mkdir -p apps
|
|
133
|
-
mkdir -p docs
|
|
134
|
-
|
|
135
|
-
# Copy Hailer agents/skills/hooks if not present
|
|
136
|
-
# (suggest running /setup-hailer)
|
|
137
|
-
```
|
|
138
|
-
|
|
139
|
-
**For standard projects:**
|
|
140
|
-
```bash
|
|
141
|
-
mkdir -p docs
|
|
142
|
-
mkdir -p apps # Only if multiple apps mentioned
|
|
143
|
-
```
|
|
144
|
-
|
|
145
|
-
### Phase 3: Create/Update DEVELOPMENT.md
|
|
146
|
-
|
|
147
|
-
**For EXISTING projects:**
|
|
148
|
-
- If DEVELOPMENT.md exists → READ it first, then UPDATE (don't overwrite)
|
|
149
|
-
- Add new features to existing Roadmap table
|
|
150
|
-
- Document existing workflows/apps if not already documented
|
|
151
|
-
- Preserve existing Technical Decisions
|
|
152
|
-
|
|
153
|
-
**For NEW projects:** Create from scratch using templates below.
|
|
154
|
-
|
|
155
|
-
---
|
|
156
|
-
|
|
157
|
-
**For Hailer projects:**
|
|
158
|
-
|
|
159
|
-
```markdown
|
|
160
|
-
# [Project Name]
|
|
161
|
-
|
|
162
|
-
**Type:** Hailer SDK Project
|
|
163
|
-
**Workspace:** [workspace name in Hailer]
|
|
164
|
-
**Run:** `npm run dev` (if apps)
|
|
165
|
-
|
|
166
|
-
---
|
|
167
|
-
|
|
168
|
-
## What This Project Does
|
|
169
|
-
[2-3 sentences from the prompt]
|
|
170
|
-
|
|
171
|
-
---
|
|
172
|
-
|
|
173
|
-
## Data Model (Workflows)
|
|
174
|
-
|
|
175
|
-
| Workflow | Purpose | Key Fields |
|
|
176
|
-
|----------|---------|------------|
|
|
177
|
-
| [Workflow 1] | [What it stores] | [Important fields] |
|
|
178
|
-
| [Workflow 2] | [What it stores] | [Important fields] |
|
|
179
|
-
|
|
180
|
-
---
|
|
181
|
-
|
|
182
|
-
## Apps
|
|
183
|
-
|
|
184
|
-
| App | Type | Description |
|
|
185
|
-
|-----|------|-------------|
|
|
186
|
-
| [app-name] | Public / Authenticated | [What it does] |
|
|
187
|
-
|
|
188
|
-
**Public apps** use public insights (no login required)
|
|
189
|
-
**Authenticated apps** use Hailer user management
|
|
190
|
-
|
|
191
|
-
---
|
|
192
|
-
|
|
193
|
-
## Architecture
|
|
194
|
-
|
|
195
|
-
```
|
|
196
|
-
project/
|
|
197
|
-
├── workspace/ # Data model (SDK-managed)
|
|
198
|
-
│ └── [Workflow]_id/ # Fields, phases, functions
|
|
199
|
-
├── apps/ # Custom frontends (if needed)
|
|
200
|
-
│ └── [app-name]/
|
|
201
|
-
└── docs/
|
|
202
|
-
└── prd-*.md
|
|
203
|
-
```
|
|
204
|
-
|
|
205
|
-
---
|
|
206
|
-
|
|
207
|
-
## Roadmap
|
|
208
|
-
|
|
209
|
-
| Feature | PRD | Status |
|
|
210
|
-
|---------|-----|--------|
|
|
211
|
-
| [Workflow: Name] | [docs/prd-workflow-name.md](docs/prd-workflow-name.md) | Planned |
|
|
212
|
-
| [App: Name] | [docs/prd-app-name.md](docs/prd-app-name.md) | Planned |
|
|
213
|
-
| [Insight: Name] | [docs/prd-insight-name.md](docs/prd-insight-name.md) | Planned |
|
|
214
|
-
|
|
215
|
-
---
|
|
216
|
-
|
|
217
|
-
## Current Status
|
|
218
|
-
**Active:** Planning phase
|
|
219
|
-
**Blocked:** None
|
|
220
|
-
|
|
221
|
-
---
|
|
222
|
-
|
|
223
|
-
## Known Issues
|
|
224
|
-
- [ ] None yet
|
|
225
|
-
|
|
226
|
-
---
|
|
227
|
-
|
|
228
|
-
## Technical Decisions
|
|
229
|
-
| Decision | Rationale | Date |
|
|
230
|
-
|----------|-----------|------|
|
|
231
|
-
```
|
|
232
|
-
|
|
233
|
-
**For standard projects:**
|
|
234
|
-
|
|
235
|
-
```markdown
|
|
236
|
-
# [Project Name]
|
|
237
|
-
|
|
238
|
-
**Stack:** [Detected or asked]
|
|
239
|
-
**Entry:** [Main entry point]
|
|
240
|
-
**Run:** [Dev command]
|
|
241
|
-
|
|
242
|
-
---
|
|
243
|
-
|
|
244
|
-
## What This Project Does
|
|
245
|
-
[2-3 sentences from the prompt]
|
|
246
|
-
|
|
247
|
-
---
|
|
248
|
-
|
|
249
|
-
## Architecture
|
|
250
|
-
|
|
251
|
-
```
|
|
252
|
-
project/
|
|
253
|
-
├── apps/
|
|
254
|
-
│ └── [app-name]/
|
|
255
|
-
├── docs/
|
|
256
|
-
│ └── prd-*.md
|
|
257
|
-
└── [other relevant dirs]
|
|
258
|
-
```
|
|
259
|
-
|
|
260
|
-
---
|
|
261
|
-
|
|
262
|
-
## Roadmap
|
|
263
|
-
|
|
264
|
-
| Feature | PRD | Status |
|
|
265
|
-
|---------|-----|--------|
|
|
266
|
-
| [Feature 1] | [docs/prd-feature-1.md](docs/prd-feature-1.md) | Planned |
|
|
267
|
-
|
|
268
|
-
---
|
|
269
|
-
|
|
270
|
-
## Current Status
|
|
271
|
-
**Active:** Planning phase
|
|
272
|
-
**Blocked:** None
|
|
273
|
-
|
|
274
|
-
---
|
|
275
|
-
|
|
276
|
-
## Known Issues
|
|
277
|
-
- [ ] None yet
|
|
278
|
-
|
|
279
|
-
---
|
|
280
|
-
|
|
281
|
-
## Technical Decisions
|
|
282
|
-
| Decision | Rationale | Date |
|
|
283
|
-
|----------|-----------|------|
|
|
284
|
-
```
|
|
285
|
-
|
|
286
|
-
### Phase 4: Create PRDs for New Features
|
|
287
|
-
|
|
288
|
-
**For EXISTING projects:**
|
|
289
|
-
- Check `docs/prd-*.md` for existing PRDs
|
|
290
|
-
- Only create PRDs for NEW features being added
|
|
291
|
-
- Don't duplicate existing documentation
|
|
292
|
-
- If existing feature needs changes → update existing PRD or create a new one with `-v2` suffix
|
|
293
|
-
|
|
294
|
-
**For Hailer projects, create PRDs by type:**
|
|
295
|
-
|
|
296
|
-
**Workflow PRD** (`docs/prd-workflow-[name].md`):
|
|
297
|
-
```markdown
|
|
298
|
-
# PRD: Workflow - [Name]
|
|
299
|
-
|
|
300
|
-
**Status:** Planned
|
|
301
|
-
**Created:** YYYY-MM-DD
|
|
302
|
-
**Parent:** [DEVELOPMENT.md](../DEVELOPMENT.md)
|
|
303
|
-
|
|
304
|
-
---
|
|
305
|
-
|
|
306
|
-
## Purpose
|
|
307
|
-
[What data this workflow stores and why]
|
|
308
|
-
|
|
309
|
-
---
|
|
310
|
-
|
|
311
|
-
## Fields
|
|
312
|
-
|
|
313
|
-
| Field | Type | Required | Description |
|
|
314
|
-
|-------|------|----------|-------------|
|
|
315
|
-
| [name] | text/date/dropdown/link/etc | Yes/No | [purpose] |
|
|
316
|
-
|
|
317
|
-
---
|
|
318
|
-
|
|
319
|
-
## Phases
|
|
320
|
-
|
|
321
|
-
| Phase | Description | Visible Fields |
|
|
322
|
-
|-------|-------------|----------------|
|
|
323
|
-
| [phase] | [when activity is in this state] | [which fields show] |
|
|
324
|
-
|
|
325
|
-
---
|
|
326
|
-
|
|
327
|
-
## Function Fields (calculated values)
|
|
328
|
-
|
|
329
|
-
| Field | Type | Formula/Logic | Variables |
|
|
330
|
-
|-------|------|---------------|-----------|
|
|
331
|
-
| [total] | function | qty × price | qty, price |
|
|
332
|
-
| [days_open] | function | today - created_date | created_date |
|
|
333
|
-
| [status_text] | function | if priority=high → "🔴" | priority |
|
|
334
|
-
|
|
335
|
-
**Common patterns:**
|
|
336
|
-
- Arithmetic: `qty * price`, `subtotal + tax`
|
|
337
|
-
- Date diff: `Math.floor((new Date() - created) / 86400000)`
|
|
338
|
-
- Conditional: `priority === 'high' ? '🔴 Urgent' : '🟢 Normal'`
|
|
339
|
-
- Backlink count: Count linked activities from another workflow
|
|
340
|
-
|
|
341
|
-
---
|
|
342
|
-
|
|
343
|
-
## Name Function
|
|
344
|
-
|
|
345
|
-
**Pattern:** `[prefix]-[number] [distinctive field]`
|
|
346
|
-
**Example:** `ORD-001 Acme Corp`
|
|
347
|
-
**Key field:** [which field makes activities identifiable]
|
|
348
|
-
|
|
349
|
-
---
|
|
350
|
-
|
|
351
|
-
## Implementation Steps
|
|
352
|
-
1. [ ] Add workflow via SDK
|
|
353
|
-
2. [ ] Define fields in fields.ts
|
|
354
|
-
3. [ ] Define phases in phases.ts
|
|
355
|
-
4. [ ] Push and pull (get IDs) - Helga auto-spawns Alejandro for nameFunction + function fields (if any)
|
|
356
|
-
5. [ ] Verify in Hailer
|
|
357
|
-
|
|
358
|
-
---
|
|
359
|
-
|
|
360
|
-
## Verification
|
|
361
|
-
- [ ] Workflow appears in Hailer
|
|
362
|
-
- [ ] All fields work correctly
|
|
363
|
-
- [ ] Phase transitions work
|
|
364
|
-
```
|
|
365
|
-
|
|
366
|
-
**App PRD** (`docs/prd-app-[name].md`):
|
|
367
|
-
```markdown
|
|
368
|
-
# PRD: App - [Name]
|
|
369
|
-
|
|
370
|
-
**Status:** Planned
|
|
371
|
-
**Created:** YYYY-MM-DD
|
|
372
|
-
**Parent:** [DEVELOPMENT.md](../DEVELOPMENT.md)
|
|
373
|
-
**Type:** Public / Authenticated
|
|
374
|
-
|
|
375
|
-
---
|
|
376
|
-
|
|
377
|
-
## Purpose
|
|
378
|
-
[What this app does for users]
|
|
379
|
-
|
|
380
|
-
---
|
|
381
|
-
|
|
382
|
-
## Data Sources
|
|
383
|
-
- **Workflow:** [which workflow(s) it reads/writes]
|
|
384
|
-
- **Insight:** [which insight(s) power the views]
|
|
385
|
-
- **Public insight?** [Yes = public app possible, No = requires auth]
|
|
386
|
-
|
|
387
|
-
---
|
|
388
|
-
|
|
389
|
-
## Data Access (Phase Rationalization)
|
|
390
|
-
|
|
391
|
-
| View | Phases Fetched | Rationale |
|
|
392
|
-
|------|----------------|-----------|
|
|
393
|
-
| [Main list] | [which phases] | [why these phases for this user] |
|
|
394
|
-
| [Dashboard] | [which phases] | [why] |
|
|
395
|
-
|
|
396
|
-
---
|
|
397
|
-
|
|
398
|
-
## User Stories
|
|
399
|
-
- As a [user type], I want to [action] so that [benefit]
|
|
400
|
-
|
|
401
|
-
---
|
|
402
|
-
|
|
403
|
-
## Screens/Views
|
|
404
|
-
1. [Screen name] - [what it shows]
|
|
405
|
-
2. [Screen name] - [what it shows]
|
|
406
|
-
|
|
407
|
-
---
|
|
408
|
-
|
|
409
|
-
## Implementation Steps
|
|
410
|
-
1. [ ] Create insight for data (if needed)
|
|
411
|
-
2. [ ] Scaffold app with MCP tool
|
|
412
|
-
3. [ ] Build components
|
|
413
|
-
4. [ ] Connect to Hailer data
|
|
414
|
-
5. [ ] Test and deploy
|
|
415
|
-
|
|
416
|
-
---
|
|
417
|
-
|
|
418
|
-
## Verification
|
|
419
|
-
- [ ] App loads correctly
|
|
420
|
-
- [ ] Data displays from Hailer
|
|
421
|
-
- [ ] User actions work (if authenticated)
|
|
422
|
-
```
|
|
423
|
-
|
|
424
|
-
**Insight PRD** (`docs/prd-insight-[name].md`):
|
|
425
|
-
```markdown
|
|
426
|
-
# PRD: Insight - [Name]
|
|
427
|
-
|
|
428
|
-
**Status:** Planned
|
|
429
|
-
**Created:** YYYY-MM-DD
|
|
430
|
-
**Parent:** [DEVELOPMENT.md](../DEVELOPMENT.md)
|
|
431
|
-
**Public:** Yes / No
|
|
432
|
-
|
|
433
|
-
---
|
|
434
|
-
|
|
435
|
-
## Purpose
|
|
436
|
-
[What data this insight provides and for what use]
|
|
437
|
-
|
|
438
|
-
---
|
|
439
|
-
|
|
440
|
-
## Query Design
|
|
441
|
-
- **Source workflow(s):** [which workflows]
|
|
442
|
-
- **Joins:** [if linking workflows]
|
|
443
|
-
- **Filters:** [default filters]
|
|
444
|
-
- **Grouping:** [if aggregating]
|
|
445
|
-
|
|
446
|
-
---
|
|
447
|
-
|
|
448
|
-
## Output Fields
|
|
449
|
-
| Field | Source | Description |
|
|
450
|
-
|-------|--------|-------------|
|
|
451
|
-
| [name] | [workflow.field] | [purpose] |
|
|
452
|
-
|
|
453
|
-
---
|
|
454
|
-
|
|
455
|
-
## Implementation Steps
|
|
456
|
-
1. [ ] Create insight via Viktor agent
|
|
457
|
-
2. [ ] Test query results
|
|
458
|
-
3. [ ] Set public flag (if needed for public app)
|
|
459
|
-
|
|
460
|
-
---
|
|
461
|
-
|
|
462
|
-
## Verification
|
|
463
|
-
- [ ] Insight returns correct data
|
|
464
|
-
- [ ] Performance is acceptable
|
|
465
|
-
```
|
|
466
|
-
|
|
467
|
-
**For standard projects:**
|
|
468
|
-
|
|
469
|
-
```markdown
|
|
470
|
-
# PRD: [Feature Name]
|
|
471
|
-
|
|
472
|
-
**Status:** Planned
|
|
473
|
-
**Created:** YYYY-MM-DD
|
|
474
|
-
**Parent:** [DEVELOPMENT.md](../DEVELOPMENT.md)
|
|
475
|
-
|
|
476
|
-
---
|
|
477
|
-
|
|
478
|
-
## Overview
|
|
479
|
-
[What this feature does, 2-3 sentences]
|
|
480
|
-
|
|
481
|
-
---
|
|
482
|
-
|
|
483
|
-
## User Stories
|
|
484
|
-
- As a [user type], I want to [action] so that [benefit]
|
|
485
|
-
|
|
486
|
-
---
|
|
487
|
-
|
|
488
|
-
## Requirements
|
|
489
|
-
|
|
490
|
-
### Must Have
|
|
491
|
-
- [ ] Requirement 1
|
|
492
|
-
- [ ] Requirement 2
|
|
493
|
-
|
|
494
|
-
### Nice to Have
|
|
495
|
-
- [ ] Optional requirement
|
|
496
|
-
|
|
497
|
-
---
|
|
498
|
-
|
|
499
|
-
## Technical Approach
|
|
500
|
-
[How to implement - key files, patterns, integrations]
|
|
501
|
-
|
|
502
|
-
**Files to create/modify:**
|
|
503
|
-
- `path/to/file` - [purpose]
|
|
504
|
-
|
|
505
|
-
---
|
|
506
|
-
|
|
507
|
-
## Implementation Steps
|
|
508
|
-
1. [ ] Step 1 with file references
|
|
509
|
-
2. [ ] Step 2 with file references
|
|
510
|
-
|
|
511
|
-
---
|
|
512
|
-
|
|
513
|
-
## Verification
|
|
514
|
-
- [ ] How to test this feature works
|
|
515
|
-
|
|
516
|
-
---
|
|
517
|
-
|
|
518
|
-
## Open Questions
|
|
519
|
-
- [Any unresolved decisions]
|
|
520
|
-
```
|
|
521
|
-
|
|
522
|
-
### Phase 5: Report
|
|
523
|
-
|
|
524
|
-
**For NEW projects:**
|
|
525
|
-
```
|
|
526
|
-
## Project Planned: [Name]
|
|
527
|
-
|
|
528
|
-
**Created:**
|
|
529
|
-
- DEVELOPMENT.md (big picture)
|
|
530
|
-
- docs/prd-feature-1.md
|
|
531
|
-
- docs/prd-feature-2.md
|
|
532
|
-
- Directory structure
|
|
533
|
-
|
|
534
|
-
**Next steps:**
|
|
535
|
-
1. Review PRDs and refine requirements
|
|
536
|
-
2. Start building from a PRD: review requirements, then implement
|
|
537
|
-
```
|
|
538
|
-
|
|
539
|
-
**For EXISTING projects:**
|
|
540
|
-
```
|
|
541
|
-
## Project Updated: [Name]
|
|
542
|
-
|
|
543
|
-
**Existing (documented):**
|
|
544
|
-
- [X workflows already in place]
|
|
545
|
-
- [X apps already built]
|
|
546
|
-
- [X existing PRDs]
|
|
547
|
-
|
|
548
|
-
**Added:**
|
|
549
|
-
- Updated DEVELOPMENT.md with current state
|
|
550
|
-
- docs/prd-new-feature.md
|
|
551
|
-
|
|
552
|
-
**Next steps:**
|
|
553
|
-
1. Review new PRDs
|
|
554
|
-
2. Start implementing from the PRD
|
|
555
|
-
```
|
|
556
|
-
|
|
557
|
-
## Important
|
|
558
|
-
|
|
559
|
-
- **Big picture → DEVELOPMENT.md** (architecture, roadmap, status)
|
|
560
|
-
- **Feature details → PRDs** (requirements, steps, verification)
|
|
561
|
-
- PRDs are linked from DEVELOPMENT.md roadmap table
|
|
562
|
-
- Each PRD is self-contained but references parent DEVELOPMENT.md
|
|
563
|
-
- Don't start implementing - only plan
|