@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.
Files changed (54) hide show
  1. package/package.json +2 -1
  2. package/templates/assistkick-product-system/GITHUB_APP_SETUP.md +88 -0
  3. package/templates/assistkick-product-system/packages/backend/src/routes/git.ts +231 -0
  4. package/templates/assistkick-product-system/packages/backend/src/routes/kanban.ts +4 -4
  5. package/templates/assistkick-product-system/packages/backend/src/routes/pipeline.ts +49 -2
  6. package/templates/assistkick-product-system/packages/backend/src/routes/terminal.ts +82 -0
  7. package/templates/assistkick-product-system/packages/backend/src/server.ts +19 -6
  8. package/templates/assistkick-product-system/packages/backend/src/services/github_app_service.ts +146 -0
  9. package/templates/assistkick-product-system/packages/backend/src/services/init.ts +69 -2
  10. package/templates/assistkick-product-system/packages/backend/src/services/project_service.ts +71 -0
  11. package/templates/assistkick-product-system/packages/backend/src/services/project_workspace_service.test.ts +87 -0
  12. package/templates/assistkick-product-system/packages/backend/src/services/project_workspace_service.ts +194 -0
  13. package/templates/assistkick-product-system/packages/backend/src/services/pty_session_manager.test.ts +88 -17
  14. package/templates/assistkick-product-system/packages/backend/src/services/pty_session_manager.ts +114 -39
  15. package/templates/assistkick-product-system/packages/backend/src/services/terminal_ws_handler.ts +28 -14
  16. package/templates/assistkick-product-system/packages/frontend/src/App.tsx +1 -1
  17. package/templates/assistkick-product-system/packages/frontend/src/api/client.ts +151 -0
  18. package/templates/assistkick-product-system/packages/frontend/src/components/GitRepoModal.tsx +352 -0
  19. package/templates/assistkick-product-system/packages/frontend/src/components/KanbanView.tsx +208 -95
  20. package/templates/assistkick-product-system/packages/frontend/src/components/ProjectSelector.tsx +17 -1
  21. package/templates/assistkick-product-system/packages/frontend/src/components/TerminalView.tsx +238 -105
  22. package/templates/assistkick-product-system/packages/frontend/src/components/Toolbar.tsx +15 -13
  23. package/templates/assistkick-product-system/packages/frontend/src/constants/graph.ts +1 -0
  24. package/templates/assistkick-product-system/packages/frontend/src/hooks/useProjects.ts +4 -0
  25. package/templates/assistkick-product-system/packages/frontend/src/routes/dashboard.tsx +22 -4
  26. package/templates/assistkick-product-system/packages/frontend/src/styles/index.css +486 -38
  27. package/templates/assistkick-product-system/packages/shared/db/migrations/0001_vengeful_wallop.sql +1 -0
  28. package/templates/assistkick-product-system/packages/shared/db/migrations/0002_greedy_excalibur.sql +4 -0
  29. package/templates/assistkick-product-system/packages/shared/db/migrations/0003_lonely_cyclops.sql +17 -0
  30. package/templates/assistkick-product-system/packages/shared/db/migrations/meta/0001_snapshot.json +826 -0
  31. package/templates/assistkick-product-system/packages/shared/db/migrations/meta/0002_snapshot.json +854 -0
  32. package/templates/assistkick-product-system/packages/shared/db/migrations/meta/0003_snapshot.json +862 -0
  33. package/templates/assistkick-product-system/packages/shared/db/migrations/meta/_journal.json +21 -0
  34. package/templates/assistkick-product-system/packages/shared/db/schema.ts +10 -3
  35. package/templates/assistkick-product-system/packages/shared/lib/claude-service.ts +54 -1
  36. package/templates/assistkick-product-system/packages/shared/lib/git_workflow.ts +25 -0
  37. package/templates/assistkick-product-system/packages/shared/lib/pipeline-state-store.ts +4 -0
  38. package/templates/assistkick-product-system/packages/shared/lib/pipeline.ts +329 -89
  39. package/templates/assistkick-product-system/packages/shared/lib/pipeline_orchestrator.ts +186 -0
  40. package/templates/assistkick-product-system/packages/shared/lib/session.ts +10 -6
  41. package/templates/assistkick-product-system/packages/shared/tools/db_explorer.ts +275 -0
  42. package/templates/assistkick-product-system/packages/shared/tools/end_session.ts +2 -2
  43. package/templates/assistkick-product-system/packages/shared/tools/get_kanban.ts +2 -1
  44. package/templates/assistkick-product-system/packages/shared/tools/move_card.ts +3 -2
  45. package/templates/assistkick-product-system/packages/shared/tools/update_node.ts +2 -2
  46. package/templates/assistkick-product-system/tests/kanban.test.ts +1 -1
  47. package/templates/assistkick-product-system/tests/pipeline_stats_all_cards.test.ts +1 -1
  48. package/templates/assistkick-product-system/tests/web_terminal.test.ts +189 -150
  49. package/templates/skills/assistkick-bootstrap/SKILL.md +33 -25
  50. package/templates/skills/assistkick-code-reviewer/SKILL.md +23 -15
  51. package/templates/skills/assistkick-db-explorer/SKILL.md +86 -0
  52. package/templates/skills/assistkick-debugger/SKILL.md +30 -22
  53. package/templates/skills/assistkick-developer/SKILL.md +37 -29
  54. 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 Todo
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