@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,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. Run `/yolo docs/prd-feature-1.md` to start building
|
|
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. Run `/yolo docs/prd-new-feature.md` to implement
|
|
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
|
|
@@ -1,98 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: Clean up codebase with Bjorn, Code Simplifier, and Lars
|
|
3
|
-
argument-hint: [files, directory, or blank for recent changes]
|
|
4
|
-
allowed-tools: Task, Bash
|
|
5
|
-
---
|
|
6
|
-
# Cleanup Squad
|
|
7
|
-
|
|
8
|
-
Run parallel codebase cleanup using three agents simultaneously.
|
|
9
|
-
|
|
10
|
-
**Agents:**
|
|
11
|
-
- **Bjorn** - Configuration audit (verify CLAUDE.md, hooks, workspace structure)
|
|
12
|
-
- **Code Simplifier** - Refactor (improve code clarity and maintainability)
|
|
13
|
-
- **Lars** - Dead code detection (find unused imports, dead code, type errors)
|
|
14
|
-
|
|
15
|
-
**Target:** $ARGUMENTS (if blank, use recent git changes)
|
|
16
|
-
|
|
17
|
-
**Changed files (auto-injected):**
|
|
18
|
-
!git diff --name-only HEAD
|
|
19
|
-
|
|
20
|
-
## Protocol
|
|
21
|
-
|
|
22
|
-
### Step 1: Determine Target
|
|
23
|
-
|
|
24
|
-
If `$ARGUMENTS` has specific files/directories, use those.
|
|
25
|
-
Otherwise, use the changed files list above as the target.
|
|
26
|
-
|
|
27
|
-
If `$ARGUMENTS` contains `--skip-config`:
|
|
28
|
-
- Remove flag from target
|
|
29
|
-
- Skip Bjorn in Step 2
|
|
30
|
-
|
|
31
|
-
If `$ARGUMENTS` contains `--skip-dead-code`:
|
|
32
|
-
- Remove flag from target
|
|
33
|
-
- Skip Lars in Step 2
|
|
34
|
-
|
|
35
|
-
### Step 2: Launch Agents in Parallel
|
|
36
|
-
|
|
37
|
-
Spawn all agents simultaneously using multiple Task tool calls in a single message:
|
|
38
|
-
|
|
39
|
-
**Bjorn:**
|
|
40
|
-
```
|
|
41
|
-
Task(subagent_type="agent-bjorn-config-audit", prompt="Audit codebase configuration for: [TARGET]. Check:\n- CLAUDE.md accuracy and completeness\n- Hook configurations\n- Workspace structure\n- Agent definitions\n\nReturn list of issues found with severity levels.")
|
|
42
|
-
```
|
|
43
|
-
|
|
44
|
-
**Code Simplifier:**
|
|
45
|
-
```
|
|
46
|
-
Task(subagent_type="agent-code-simplifier", prompt="Refactor these files for clarity and maintainability: [TARGET]. Focus on:\n- Variable naming\n- Function complexity\n- Comment clarity\n- Code organization\n\nReturn refactoring suggestions with before/after examples.")
|
|
47
|
-
```
|
|
48
|
-
|
|
49
|
-
**Lars:**
|
|
50
|
-
```
|
|
51
|
-
Task(subagent_type="agent-lars-code-inspector", prompt="Inspect these files for dead code: [TARGET]. Find:\n- Unused imports\n- Unreachable code\n- Unused variables\n- Type errors\n\nUse LSP if available. Return detailed list grouped by file.")
|
|
52
|
-
```
|
|
53
|
-
|
|
54
|
-
### Step 3: Aggregate Results
|
|
55
|
-
|
|
56
|
-
Compile a unified cleanup report:
|
|
57
|
-
|
|
58
|
-
```markdown
|
|
59
|
-
## Cleanup Squad Report
|
|
60
|
-
|
|
61
|
-
### Bjorn (Config Audit)
|
|
62
|
-
- Issues found: X
|
|
63
|
-
- Critical: X
|
|
64
|
-
- Warnings: X
|
|
65
|
-
- [Issues grouped by category]
|
|
66
|
-
|
|
67
|
-
### Code Simplifier (Refactoring)
|
|
68
|
-
- Files analyzed: X
|
|
69
|
-
- Refactoring suggestions: X
|
|
70
|
-
- [Suggestions grouped by file]
|
|
71
|
-
|
|
72
|
-
### Lars (Dead Code)
|
|
73
|
-
- Unused imports: X
|
|
74
|
-
- Dead code blocks: X
|
|
75
|
-
- Type errors: X
|
|
76
|
-
- [Details grouped by file]
|
|
77
|
-
|
|
78
|
-
### Summary
|
|
79
|
-
[Overall assessment of codebase health]
|
|
80
|
-
[Prioritized action items]
|
|
81
|
-
|
|
82
|
-
### Recommended Order
|
|
83
|
-
1. [Fix critical config issues first]
|
|
84
|
-
2. [Remove dead code]
|
|
85
|
-
3. [Apply refactoring suggestions]
|
|
86
|
-
```
|
|
87
|
-
|
|
88
|
-
If any agent fails or times out, report partial results from successful agents, note which failed, and offer to re-run individually.
|
|
89
|
-
|
|
90
|
-
## Options
|
|
91
|
-
|
|
92
|
-
| Flag | Effect |
|
|
93
|
-
|------|--------|
|
|
94
|
-
| `--skip-config` | Skip Bjorn (faster, no config validation) |
|
|
95
|
-
| `--skip-dead-code` | Skip Lars (when LSP not configured) |
|
|
96
|
-
| `--bg` | Run all agents in background mode |
|
|
97
|
-
|
|
98
|
-
If `--bg` is present, launch all agents with `run_in_background: true` and tell the user they'll be notified when complete.
|