@assistkick/create 1.2.0 → 1.4.0
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/package.json +2 -1
- package/templates/assistkick-product-system/GITHUB_APP_SETUP.md +88 -0
- package/templates/assistkick-product-system/packages/backend/src/routes/git.ts +231 -0
- package/templates/assistkick-product-system/packages/backend/src/routes/kanban.ts +4 -4
- package/templates/assistkick-product-system/packages/backend/src/routes/pipeline.ts +49 -2
- package/templates/assistkick-product-system/packages/backend/src/routes/terminal.ts +82 -0
- package/templates/assistkick-product-system/packages/backend/src/server.ts +19 -6
- package/templates/assistkick-product-system/packages/backend/src/services/github_app_service.ts +146 -0
- package/templates/assistkick-product-system/packages/backend/src/services/init.ts +69 -2
- package/templates/assistkick-product-system/packages/backend/src/services/project_service.ts +71 -0
- package/templates/assistkick-product-system/packages/backend/src/services/project_workspace_service.test.ts +87 -0
- package/templates/assistkick-product-system/packages/backend/src/services/project_workspace_service.ts +194 -0
- package/templates/assistkick-product-system/packages/backend/src/services/pty_session_manager.test.ts +88 -17
- package/templates/assistkick-product-system/packages/backend/src/services/pty_session_manager.ts +114 -39
- package/templates/assistkick-product-system/packages/backend/src/services/terminal_ws_handler.ts +28 -14
- package/templates/assistkick-product-system/packages/frontend/src/App.tsx +1 -1
- package/templates/assistkick-product-system/packages/frontend/src/api/client.ts +151 -0
- package/templates/assistkick-product-system/packages/frontend/src/components/GitRepoModal.tsx +352 -0
- package/templates/assistkick-product-system/packages/frontend/src/components/KanbanView.tsx +208 -95
- package/templates/assistkick-product-system/packages/frontend/src/components/ProjectSelector.tsx +17 -1
- package/templates/assistkick-product-system/packages/frontend/src/components/TerminalView.tsx +238 -105
- package/templates/assistkick-product-system/packages/frontend/src/components/Toolbar.tsx +15 -13
- package/templates/assistkick-product-system/packages/frontend/src/constants/graph.ts +1 -0
- package/templates/assistkick-product-system/packages/frontend/src/hooks/useProjects.ts +4 -0
- package/templates/assistkick-product-system/packages/frontend/src/routes/dashboard.tsx +22 -4
- package/templates/assistkick-product-system/packages/frontend/src/styles/index.css +486 -38
- package/templates/assistkick-product-system/packages/shared/db/migrations/0001_vengeful_wallop.sql +1 -0
- package/templates/assistkick-product-system/packages/shared/db/migrations/0002_greedy_excalibur.sql +4 -0
- package/templates/assistkick-product-system/packages/shared/db/migrations/0003_lonely_cyclops.sql +17 -0
- package/templates/assistkick-product-system/packages/shared/db/migrations/meta/0001_snapshot.json +826 -0
- package/templates/assistkick-product-system/packages/shared/db/migrations/meta/0002_snapshot.json +854 -0
- package/templates/assistkick-product-system/packages/shared/db/migrations/meta/0003_snapshot.json +862 -0
- package/templates/assistkick-product-system/packages/shared/db/migrations/meta/_journal.json +21 -0
- package/templates/assistkick-product-system/packages/shared/db/schema.ts +10 -3
- package/templates/assistkick-product-system/packages/shared/lib/claude-service.ts +54 -1
- package/templates/assistkick-product-system/packages/shared/lib/git_workflow.ts +25 -0
- package/templates/assistkick-product-system/packages/shared/lib/pipeline-state-store.ts +4 -0
- package/templates/assistkick-product-system/packages/shared/lib/pipeline.ts +329 -89
- package/templates/assistkick-product-system/packages/shared/lib/pipeline_orchestrator.ts +186 -0
- package/templates/assistkick-product-system/packages/shared/lib/session.ts +10 -6
- package/templates/assistkick-product-system/packages/shared/tools/db_explorer.ts +275 -0
- package/templates/assistkick-product-system/packages/shared/tools/end_session.ts +2 -2
- package/templates/assistkick-product-system/packages/shared/tools/get_kanban.ts +2 -1
- package/templates/assistkick-product-system/packages/shared/tools/move_card.ts +3 -2
- package/templates/assistkick-product-system/packages/shared/tools/update_node.ts +2 -2
- package/templates/assistkick-product-system/tests/kanban.test.ts +1 -1
- package/templates/assistkick-product-system/tests/pipeline_stats_all_cards.test.ts +1 -1
- package/templates/assistkick-product-system/tests/web_terminal.test.ts +189 -150
- package/templates/skills/assistkick-bootstrap/SKILL.md +33 -25
- package/templates/skills/assistkick-code-reviewer/SKILL.md +23 -15
- package/templates/skills/assistkick-db-explorer/SKILL.md +86 -0
- package/templates/skills/assistkick-debugger/SKILL.md +30 -22
- package/templates/skills/assistkick-developer/SKILL.md +37 -29
- package/templates/skills/assistkick-interview/SKILL.md +34 -26
|
@@ -61,36 +61,44 @@ either the user has no more topics, or you've processed all their answers.
|
|
|
61
61
|
3. Call `end_session` with summary
|
|
62
62
|
4. Summarize what was covered this session in 3-5 sentences
|
|
63
63
|
|
|
64
|
+
## Project ID
|
|
65
|
+
|
|
66
|
+
All tools require `--project-id <project_id>`. Resolve it at session start:
|
|
67
|
+
- If the user passed a project ID in the invocation arguments → use it directly
|
|
68
|
+
- Otherwise → ask the user: "Which project ID should I use?"
|
|
69
|
+
|
|
70
|
+
Use the same `<project_id>` on **every** tool call in this session.
|
|
71
|
+
|
|
64
72
|
## Tool Reference
|
|
65
73
|
|
|
66
74
|
### start_session
|
|
67
75
|
```
|
|
68
|
-
npx tsx packages/shared/tools/start_session.ts
|
|
76
|
+
npx tsx packages/shared/tools/start_session.ts --project-id <project_id>
|
|
69
77
|
```
|
|
70
78
|
|
|
71
79
|
### end_session
|
|
72
80
|
```
|
|
73
|
-
npx tsx packages/shared/tools/end_session.ts --summary "..." --nodes-touched "feat_001,dec_001" --questions-resolved 3
|
|
81
|
+
npx tsx packages/shared/tools/end_session.ts --project-id <project_id> --summary "..." --nodes-touched "feat_001,dec_001" --questions-resolved 3
|
|
74
82
|
```
|
|
75
83
|
|
|
76
84
|
### search_nodes
|
|
77
85
|
```
|
|
78
|
-
npx tsx packages/shared/tools/search_nodes.ts --query "keyword"
|
|
79
|
-
npx tsx packages/shared/tools/search_nodes.ts --type feature
|
|
80
|
-
npx tsx packages/shared/tools/search_nodes.ts --has-open-questions
|
|
81
|
-
npx tsx packages/shared/tools/search_nodes.ts --completeness-below 0.5
|
|
86
|
+
npx tsx packages/shared/tools/search_nodes.ts --project-id <project_id> --query "keyword"
|
|
87
|
+
npx tsx packages/shared/tools/search_nodes.ts --project-id <project_id> --type feature
|
|
88
|
+
npx tsx packages/shared/tools/search_nodes.ts --project-id <project_id> --has-open-questions
|
|
89
|
+
npx tsx packages/shared/tools/search_nodes.ts --project-id <project_id> --completeness-below 0.5
|
|
82
90
|
```
|
|
83
91
|
|
|
84
92
|
### get_node
|
|
85
93
|
```
|
|
86
|
-
npx tsx packages/shared/tools/get_node.ts <node_id>
|
|
87
|
-
npx tsx packages/shared/tools/get_node.ts --name "Node Name"
|
|
94
|
+
npx tsx packages/shared/tools/get_node.ts <node_id> --project-id <project_id>
|
|
95
|
+
npx tsx packages/shared/tools/get_node.ts --name "Node Name" --project-id <project_id>
|
|
88
96
|
```
|
|
89
97
|
Returns full .md content plus a Relations section listing all connected nodes with direction, relation type, name, type, and status.
|
|
90
98
|
|
|
91
99
|
### add_node
|
|
92
100
|
```
|
|
93
|
-
npx tsx packages/shared/tools/add_node.ts --type <type> --name "Name" --description "..."
|
|
101
|
+
npx tsx packages/shared/tools/add_node.ts --project-id <project_id> --type <type> --name "Name" --description "..."
|
|
94
102
|
```
|
|
95
103
|
Valid types: feature, component, data_entity, decision, tech_choice,
|
|
96
104
|
non_functional_requirement, design_token, design_pattern, user_role,
|
|
@@ -98,23 +106,23 @@ flow, assumption, open_question
|
|
|
98
106
|
|
|
99
107
|
### update_node
|
|
100
108
|
```
|
|
101
|
-
npx tsx packages/shared/tools/update_node.ts <id> --add-acceptance-criteria "..."
|
|
102
|
-
npx tsx packages/shared/tools/update_node.ts <id> --add-open-question "..."
|
|
103
|
-
npx tsx packages/shared/tools/update_node.ts <id> --add-note "Session N: ..."
|
|
104
|
-
npx tsx packages/shared/tools/update_node.ts <id> --set-status <draft|partially_defined|defined>
|
|
105
|
-
npx tsx packages/shared/tools/update_node.ts <id> --set-priority <low|medium|high|blocking>
|
|
106
|
-
npx tsx packages/shared/tools/update_node.ts <id> --set-description "..."
|
|
107
|
-
npx tsx packages/shared/tools/update_node.ts <id> --set-section "SectionName=content"
|
|
109
|
+
npx tsx packages/shared/tools/update_node.ts <id> --project-id <project_id> --add-acceptance-criteria "..."
|
|
110
|
+
npx tsx packages/shared/tools/update_node.ts <id> --project-id <project_id> --add-open-question "..."
|
|
111
|
+
npx tsx packages/shared/tools/update_node.ts <id> --project-id <project_id> --add-note "Session N: ..."
|
|
112
|
+
npx tsx packages/shared/tools/update_node.ts <id> --project-id <project_id> --set-status <draft|partially_defined|defined>
|
|
113
|
+
npx tsx packages/shared/tools/update_node.ts <id> --project-id <project_id> --set-priority <low|medium|high|blocking>
|
|
114
|
+
npx tsx packages/shared/tools/update_node.ts <id> --project-id <project_id> --set-description "..."
|
|
115
|
+
npx tsx packages/shared/tools/update_node.ts <id> --project-id <project_id> --set-section "SectionName=content"
|
|
108
116
|
```
|
|
109
117
|
|
|
110
118
|
### resolve_question
|
|
111
119
|
```
|
|
112
|
-
npx tsx packages/shared/tools/resolve_question.ts <id> --question "..." --answer "..."
|
|
120
|
+
npx tsx packages/shared/tools/resolve_question.ts <id> --project-id <project_id> --question "..." --answer "..."
|
|
113
121
|
```
|
|
114
122
|
|
|
115
123
|
### add_edge
|
|
116
124
|
```
|
|
117
|
-
npx tsx packages/shared/tools/add_edge.ts <from_id> <relation> <to_id>
|
|
125
|
+
npx tsx packages/shared/tools/add_edge.ts <from_id> <relation> <to_id> --project-id <project_id>
|
|
118
126
|
```
|
|
119
127
|
Valid relations: contains, depends_on, governed_by, constrained_by,
|
|
120
128
|
implemented_with, reads_writes, exposes, consumes, performed_by,
|
|
@@ -122,25 +130,25 @@ escalates_to, relates_to
|
|
|
122
130
|
|
|
123
131
|
### remove_edge
|
|
124
132
|
```
|
|
125
|
-
npx tsx packages/shared/tools/remove_edge.ts <from_id> <relation> <to_id>
|
|
133
|
+
npx tsx packages/shared/tools/remove_edge.ts <from_id> <relation> <to_id> --project-id <project_id>
|
|
126
134
|
```
|
|
127
135
|
|
|
128
136
|
### get_gaps
|
|
129
137
|
```
|
|
130
|
-
npx tsx packages/shared/tools/get_gaps.ts
|
|
131
|
-
npx tsx packages/shared/tools/get_gaps.ts --blocking-only
|
|
132
|
-
npx tsx packages/shared/tools/get_gaps.ts --type feature
|
|
138
|
+
npx tsx packages/shared/tools/get_gaps.ts --project-id <project_id>
|
|
139
|
+
npx tsx packages/shared/tools/get_gaps.ts --project-id <project_id> --blocking-only
|
|
140
|
+
npx tsx packages/shared/tools/get_gaps.ts --project-id <project_id> --type feature
|
|
133
141
|
```
|
|
134
142
|
|
|
135
143
|
### get_status
|
|
136
144
|
```
|
|
137
|
-
npx tsx packages/shared/tools/get_status.ts
|
|
145
|
+
npx tsx packages/shared/tools/get_status.ts --project-id <project_id>
|
|
138
146
|
```
|
|
139
147
|
|
|
140
148
|
### rebuild_index
|
|
141
149
|
```
|
|
142
|
-
npx tsx packages/shared/tools/rebuild_index.ts
|
|
143
|
-
npx tsx packages/shared/tools/rebuild_index.ts --dry-run
|
|
150
|
+
npx tsx packages/shared/tools/rebuild_index.ts --project-id <project_id>
|
|
151
|
+
npx tsx packages/shared/tools/rebuild_index.ts --project-id <project_id> --dry-run
|
|
144
152
|
```
|
|
145
153
|
|
|
146
154
|
## Search Strategy
|
|
@@ -217,4 +225,4 @@ own codebase that you have full access to.
|
|
|
217
225
|
4. Nodes you create should reflect what the user actually said, not your inferences — use assumption node type for inferences
|
|
218
226
|
5. If the user contradicts something in the graph, update it and add a note
|
|
219
227
|
6. All tool commands must be run from the `assistkick-product-system/` directory
|
|
220
|
-
7. Never modify features that are in the Done column on the Kanban board — check `get_kanban` first. If a Done feature needs changes, create a new feature that `depends_on` the original and place it in
|
|
228
|
+
7. Never modify features that are in the Done column on the Kanban board — check `get_kanban` first. If a Done feature needs changes, create a new feature that `depends_on` the original and place it in Backlog
|