get-shit-done-cc 1.10.0-experimental.0 → 1.10.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 (61) hide show
  1. package/README.md +16 -17
  2. package/agents/gsd-executor.md +375 -37
  3. package/agents/gsd-planner.md +108 -15
  4. package/bin/install.js +163 -238
  5. package/commands/gsd/help.md +0 -43
  6. package/commands/gsd/new-project.md +8 -94
  7. package/commands/gsd/plan-phase.md +5 -35
  8. package/get-shit-done/references/verification-patterns.md +1 -1
  9. package/get-shit-done/templates/phase-prompt.md +4 -4
  10. package/get-shit-done/templates/state.md +0 -37
  11. package/get-shit-done/workflows/execute-phase.md +1 -44
  12. package/get-shit-done/workflows/execute-plan.md +856 -34
  13. package/hooks/dist/gsd-statusline.js +9 -6
  14. package/package.json +7 -10
  15. package/agents/design-specialist.md +0 -222
  16. package/commands/gsd/autopilot.md +0 -518
  17. package/commands/gsd/checkpoints.md +0 -229
  18. package/commands/gsd/design-system.md +0 -70
  19. package/commands/gsd/discuss-design.md +0 -77
  20. package/commands/gsd/extend.md +0 -80
  21. package/get-shit-done/references/ccr-integration.md +0 -468
  22. package/get-shit-done/references/checkpoint-execution.md +0 -369
  23. package/get-shit-done/references/checkpoint-types.md +0 -728
  24. package/get-shit-done/references/deviation-rules.md +0 -215
  25. package/get-shit-done/references/framework-patterns.md +0 -543
  26. package/get-shit-done/references/ui-principles.md +0 -258
  27. package/get-shit-done/skills/gsd-extend/SKILL.md +0 -154
  28. package/get-shit-done/skills/gsd-extend/references/agent-structure.md +0 -305
  29. package/get-shit-done/skills/gsd-extend/references/extension-anatomy.md +0 -123
  30. package/get-shit-done/skills/gsd-extend/references/reference-structure.md +0 -408
  31. package/get-shit-done/skills/gsd-extend/references/template-structure.md +0 -370
  32. package/get-shit-done/skills/gsd-extend/references/validation-rules.md +0 -140
  33. package/get-shit-done/skills/gsd-extend/references/workflow-structure.md +0 -253
  34. package/get-shit-done/skills/gsd-extend/templates/agent-template.md +0 -234
  35. package/get-shit-done/skills/gsd-extend/templates/reference-template.md +0 -239
  36. package/get-shit-done/skills/gsd-extend/templates/workflow-template.md +0 -169
  37. package/get-shit-done/skills/gsd-extend/workflows/create-approach.md +0 -332
  38. package/get-shit-done/skills/gsd-extend/workflows/list-extensions.md +0 -133
  39. package/get-shit-done/skills/gsd-extend/workflows/remove-extension.md +0 -93
  40. package/get-shit-done/skills/gsd-extend/workflows/validate-extension.md +0 -184
  41. package/get-shit-done/templates/autopilot-script-simple.sh +0 -181
  42. package/get-shit-done/templates/autopilot-script.sh +0 -1142
  43. package/get-shit-done/templates/autopilot-script.sh.backup +0 -1142
  44. package/get-shit-done/templates/design-system.md +0 -238
  45. package/get-shit-done/templates/phase-design.md +0 -205
  46. package/get-shit-done/templates/phase-models-template.json +0 -71
  47. package/get-shit-done/tui/App.tsx +0 -169
  48. package/get-shit-done/tui/README.md +0 -107
  49. package/get-shit-done/tui/build.js +0 -37
  50. package/get-shit-done/tui/components/ActivityFeed.tsx +0 -126
  51. package/get-shit-done/tui/components/PhaseCard.tsx +0 -86
  52. package/get-shit-done/tui/components/StatsBar.tsx +0 -147
  53. package/get-shit-done/tui/dist/index.js +0 -387
  54. package/get-shit-done/tui/index.tsx +0 -12
  55. package/get-shit-done/tui/package-lock.json +0 -1074
  56. package/get-shit-done/tui/package.json +0 -22
  57. package/get-shit-done/tui/utils/pipeReader.ts +0 -129
  58. package/get-shit-done/workflows/design-system.md +0 -245
  59. package/get-shit-done/workflows/discuss-design.md +0 -330
  60. package/get-shit-done/workflows/execute-plan-auth.md +0 -122
  61. package/get-shit-done/workflows/execute-plan-checkpoints.md +0 -541
@@ -1,238 +0,0 @@
1
- ---
2
- name: design-system-template
3
- description: Template for project-wide design system documentation
4
- used_by:
5
- - design-system
6
- placeholders:
7
- - project_name
8
- - aesthetic_summary
9
- - color_palette
10
- - typography
11
- - spacing
12
- - components
13
- - patterns
14
- ---
15
-
16
- <template>
17
-
18
- # Design System
19
-
20
- **Project:** {project_name}
21
- **Framework:** {framework}
22
- **Created:** {date}
23
-
24
- ## Aesthetic Direction
25
-
26
- {aesthetic_summary}
27
-
28
- {?inspiration}
29
- ### Visual References
30
-
31
- {inspiration_description}
32
-
33
- {/inspiration}
34
-
35
- ---
36
-
37
- ## Color Palette
38
-
39
- ### Brand Colors
40
-
41
- | Name | Value | Usage |
42
- |------|-------|-------|
43
- {brand_colors}
44
-
45
- ### Semantic Colors
46
-
47
- | Purpose | Light Mode | Dark Mode |
48
- |---------|------------|-----------|
49
- | Success | {success_light} | {success_dark} |
50
- | Warning | {warning_light} | {warning_dark} |
51
- | Error | {error_light} | {error_dark} |
52
- | Info | {info_light} | {info_dark} |
53
-
54
- ### Neutral Scale
55
-
56
- ```
57
- {neutral_scale}
58
- ```
59
-
60
- ---
61
-
62
- ## Typography
63
-
64
- ### Font Stack
65
-
66
- **Primary:** {font_primary}
67
- **Monospace:** {font_mono}
68
-
69
- ### Type Scale
70
-
71
- | Name | Size | Weight | Line Height | Usage |
72
- |------|------|--------|-------------|-------|
73
- {type_scale}
74
-
75
- ### Text Styles
76
-
77
- {text_styles}
78
-
79
- ---
80
-
81
- ## Spacing
82
-
83
- ### Base Unit
84
-
85
- {spacing_base}
86
-
87
- ### Scale
88
-
89
- ```
90
- {spacing_scale}
91
- ```
92
-
93
- ### Common Spacing Patterns
94
-
95
- | Context | Value |
96
- |---------|-------|
97
- {spacing_patterns}
98
-
99
- ---
100
-
101
- ## Components
102
-
103
- ### Buttons
104
-
105
- {button_specs}
106
-
107
- ### Inputs
108
-
109
- {input_specs}
110
-
111
- ### Cards
112
-
113
- {card_specs}
114
-
115
- {?additional_components}
116
- ### Additional Components
117
-
118
- {additional_components}
119
- {/additional_components}
120
-
121
- ---
122
-
123
- ## Layout
124
-
125
- ### Breakpoints
126
-
127
- | Name | Width | Usage |
128
- |------|-------|-------|
129
- {breakpoints}
130
-
131
- ### Grid
132
-
133
- {grid_specs}
134
-
135
- ### Content Width
136
-
137
- {content_width}
138
-
139
- ---
140
-
141
- ## Interaction
142
-
143
- ### Transitions
144
-
145
- | Type | Duration | Easing |
146
- |------|----------|--------|
147
- {transitions}
148
-
149
- ### Feedback Patterns
150
-
151
- {feedback_patterns}
152
-
153
- ---
154
-
155
- ## Accessibility
156
-
157
- ### Contrast Requirements
158
-
159
- {contrast_requirements}
160
-
161
- ### Focus States
162
-
163
- {focus_states}
164
-
165
- ### Touch Targets
166
-
167
- {touch_targets}
168
-
169
- ---
170
-
171
- ## Implementation Notes
172
-
173
- {implementation_notes}
174
-
175
- </template>
176
-
177
- <guidelines>
178
-
179
- ## Filling This Template
180
-
181
- **{aesthetic_summary}:** 2-3 sentences describing the overall visual direction. Examples:
182
- - "Clean and minimal with generous whitespace. Emphasis on typography over decoration. Subtle shadows for depth."
183
- - "Bold and energetic with high contrast. Geometric shapes and strong color accents. Modern and confident."
184
-
185
- **{brand_colors}:** Table rows with color name, hex value, and where it's used. Example:
186
- ```
187
- | Primary | #2563EB | Buttons, links, key actions |
188
- | Primary Light | #3B82F6 | Hover states, backgrounds |
189
- | Accent | #8B5CF6 | Highlights, tags, badges |
190
- ```
191
-
192
- **{type_scale}:** Table rows for each heading level and body text. Example:
193
- ```
194
- | H1 | 40px | Bold | 1.2 | Page titles |
195
- | H2 | 32px | Bold | 1.25 | Section headers |
196
- | Body | 16px | Regular | 1.5 | Paragraphs |
197
- | Small | 14px | Regular | 1.4 | Captions, labels |
198
- ```
199
-
200
- **{button_specs}:** Describe button variants with sizes, colors, states. Include code-ready values.
201
-
202
- **{spacing_scale}:** List spacing values. Example:
203
- ```
204
- 4px - xs - Tight spacing, inline elements
205
- 8px - sm - Related items, compact layouts
206
- 16px - md - Standard padding, gaps
207
- 24px - lg - Section spacing
208
- 32px - xl - Major section breaks
209
- 48px - 2xl - Page-level spacing
210
- ```
211
-
212
- </guidelines>
213
-
214
- <examples>
215
-
216
- ## Good Example
217
-
218
- ```markdown
219
- ## Aesthetic Direction
220
-
221
- Professional and trustworthy with a modern edge. Clean layouts with purposeful whitespace. Subtle depth through soft shadows. Typography-driven hierarchy—minimal decorative elements.
222
-
223
- ### Visual References
224
-
225
- Inspired by Linear, Stripe, and Notion. Combines Linear's clean aesthetic with Stripe's attention to detail.
226
- ```
227
-
228
- ## Bad Example
229
-
230
- ```markdown
231
- ## Aesthetic Direction
232
-
233
- Nice looking design.
234
- ```
235
-
236
- The bad example is too vague to guide implementation decisions.
237
-
238
- </examples>
@@ -1,205 +0,0 @@
1
- ---
2
- name: phase-design-template
3
- description: Template for phase-specific UI design documentation
4
- used_by:
5
- - discuss-design
6
- placeholders:
7
- - phase_number
8
- - phase_name
9
- - components
10
- - layouts
11
- - interactions
12
- - mockup_files
13
- ---
14
-
15
- <template>
16
-
17
- # Phase {phase_number}: {phase_name} - Design
18
-
19
- **Created:** {date}
20
- **Design System:** @.planning/DESIGN-SYSTEM.md
21
-
22
- ## Overview
23
-
24
- {design_overview}
25
-
26
- ---
27
-
28
- ## Components
29
-
30
- {?new_components}
31
- ### New Components
32
-
33
- | Component | Purpose | States |
34
- |-----------|---------|--------|
35
- {new_components}
36
-
37
- {/new_components}
38
-
39
- {?modified_components}
40
- ### Modified Components
41
-
42
- | Component | Changes | Reason |
43
- |-----------|---------|--------|
44
- {modified_components}
45
-
46
- {/modified_components}
47
-
48
- ### Component Specifications
49
-
50
- {component_specs}
51
-
52
- ---
53
-
54
- ## Layouts
55
-
56
- ### Screen/Page Layouts
57
-
58
- {layout_descriptions}
59
-
60
- ### Responsive Behavior
61
-
62
- | Breakpoint | Layout Changes |
63
- |------------|----------------|
64
- {responsive_changes}
65
-
66
- ---
67
-
68
- ## Interactions
69
-
70
- ### User Flows
71
-
72
- {user_flows}
73
-
74
- ### States & Transitions
75
-
76
- {state_transitions}
77
-
78
- ### Loading States
79
-
80
- {loading_states}
81
-
82
- ### Error States
83
-
84
- {error_states}
85
-
86
- ---
87
-
88
- ## Mockups
89
-
90
- | File | Description | Status |
91
- |------|-------------|--------|
92
- {mockup_files}
93
-
94
- ### Running Mockups
95
-
96
- ```bash
97
- {mockup_run_command}
98
- ```
99
-
100
- ---
101
-
102
- ## Design Decisions
103
-
104
- | Decision | Rationale |
105
- |----------|-----------|
106
- {design_decisions}
107
-
108
- ---
109
-
110
- ## Implementation Notes
111
-
112
- {implementation_notes}
113
-
114
- ---
115
-
116
- ## Checklist
117
-
118
- - [ ] All new components specified
119
- - [ ] States defined for each component
120
- - [ ] Responsive behavior documented
121
- - [ ] Mockups reviewed and approved
122
- - [ ] Follows design system
123
- - [ ] Accessibility considered
124
-
125
- </template>
126
-
127
- <guidelines>
128
-
129
- ## Filling This Template
130
-
131
- **{design_overview}:** 2-3 sentences summarizing what UI this phase introduces or changes.
132
-
133
- **{new_components}:** Table of components created in this phase:
134
- ```
135
- | PostCard | Displays a social media post | default, loading, error, empty |
136
- | LikeButton | Heart animation on like | idle, hovering, liked, animating |
137
- ```
138
-
139
- **{component_specs}:** Detailed specs for each component. Include:
140
- - Visual description
141
- - Props/parameters
142
- - Variants
143
- - All states with visual differences
144
- - Accessibility requirements
145
-
146
- **{layout_descriptions}:** Describe how screens are structured. Include:
147
- - Grid/flex layout approach
148
- - Content ordering
149
- - Key regions (header, main, sidebar, etc.)
150
-
151
- **{user_flows}:** Describe interaction sequences:
152
- ```
153
- 1. User sees post in feed
154
- 2. Hovers over like button → heart outline highlights
155
- 3. Clicks like → heart fills with animation
156
- 4. Like count increments
157
- ```
158
-
159
- **{mockup_files}:** List of mockup files created:
160
- ```
161
- | mockups/PostCard.tsx | Post card component preview | ✓ Approved |
162
- | mockups/Feed.tsx | Full feed layout | ✓ Approved |
163
- ```
164
-
165
- </guidelines>
166
-
167
- <examples>
168
-
169
- ## Good Component Spec
170
-
171
- ```markdown
172
- ### PostCard
173
-
174
- **Purpose:** Displays a single post in the feed with author info, content, and engagement actions.
175
-
176
- **Structure:**
177
- - Header: Avatar (40px), Author name, Timestamp
178
- - Content: Text (max 280 chars), optional media
179
- - Footer: Like, Comment, Share actions with counts
180
-
181
- **Variants:**
182
- - `default` - Standard post display
183
- - `compact` - Reduced padding for dense feeds
184
- - `featured` - Highlighted border for promoted content
185
-
186
- **States:**
187
- - Loading: Skeleton with pulsing animation
188
- - Error: "Failed to load" with retry button
189
- - Empty media: Placeholder with broken image icon
190
-
191
- **Accessibility:**
192
- - Author name is a link with focus ring
193
- - Action buttons have aria-labels with counts
194
- - Media has alt text from post data
195
- ```
196
-
197
- ## Bad Component Spec
198
-
199
- ```markdown
200
- ### PostCard
201
-
202
- A card for posts. Has a like button.
203
- ```
204
-
205
- </examples>
@@ -1,71 +0,0 @@
1
- {
2
- "description": "Per-phase model configuration for GSD Autopilot",
3
- "default_model": "claude-3-5-sonnet-latest",
4
- "phases": {
5
- "1": {
6
- "model": "claude-3-5-sonnet-latest",
7
- "reasoning": "Initial setup and architecture - Sonnet is cost-effective for routine tasks"
8
- },
9
- "2": {
10
- "model": "claude-3-5-opus-latest",
11
- "reasoning": "Complex implementation requiring deep reasoning"
12
- },
13
- "3": {
14
- "model": "claude-3-5-sonnet-latest",
15
- "reasoning": "Standard development work"
16
- },
17
- "gaps": {
18
- "model": "claude-3-5-sonnet-latest",
19
- "reasoning": "Gap closure typically involves straightforward fixes"
20
- },
21
- "continuation": {
22
- "model": "claude-3-5-sonnet-latest",
23
- "reasoning": "Checkpoint continuations need context but not deep reasoning"
24
- },
25
- "verification": {
26
- "model": "claude-3-5-sonnet-latest",
27
- "reasoning": "Verification is systematic testing, not complex reasoning"
28
- },
29
- "milestone_complete": {
30
- "model": "claude-3-5-sonnet-latest",
31
- "reasoning": "Completion task is straightforward"
32
- }
33
- },
34
- "provider_routing": {
35
- "claude-3-5-sonnet-latest": {
36
- "provider": "anthropic",
37
- "base_url": "https://api.anthropic.com"
38
- },
39
- "claude-3-5-opus-latest": {
40
- "provider": "anthropic",
41
- "base_url": "https://api.anthropic.com"
42
- },
43
- "glm-4.7": {
44
- "provider": "z-ai",
45
- "base_url": "https://open.bigmodel.cn/api/paas/v4/",
46
- "auth_header": "Authorization"
47
- },
48
- "gpt-4o": {
49
- "provider": "openai",
50
- "base_url": "https://api.openai.com/v1"
51
- },
52
- "deepseek-reasoner": {
53
- "provider": "openrouter",
54
- "model_name": "deepseek/deepseek-reasoner",
55
- "base_url": "https://openrouter.ai/api/v1/chat/completions"
56
- }
57
- },
58
- "cost_optimization": {
59
- "enabled": true,
60
- "auto_downgrade_on_budget": {
61
- "threshold_percent": 80,
62
- "fallback_model": "claude-3-5-haiku-latest"
63
- },
64
- "task_type_routing": {
65
- "research": "claude-3-5-sonnet-latest",
66
- "planning": "claude-3-5-haiku-latest",
67
- "coding": "claude-3-5-sonnet-latest",
68
- "verification": "claude-3-5-haiku-latest"
69
- }
70
- }
71
- }
@@ -1,169 +0,0 @@
1
- import React, { useState, useEffect, useMemo } from 'react';
2
- import { Box, Text } from 'ink';
3
- import { PhaseCard } from './components/PhaseCard.js';
4
- import { ActivityFeed } from './components/ActivityFeed.js';
5
- import { StatsBar } from './components/StatsBar.js';
6
- import { ActivityPipeReader, ActivityMessage } from './utils/pipeReader.js';
7
-
8
- interface Stage {
9
- name: string;
10
- elapsed: string;
11
- completed: boolean;
12
- }
13
-
14
- const App: React.FC = () => {
15
- const [activities, setActivities] = useState<Array<ActivityMessage & { detail: string }>>([]);
16
- const [currentStage, setCurrentStage] = useState<{
17
- stage: string;
18
- stageDesc: string;
19
- elapsed: string;
20
- } | null>(null);
21
- const [completedStages, setCompletedStages] = useState<Array<{ name: string; elapsed: string }>>([]);
22
- const [currentPhase, setCurrentPhase] = useState<string>('1');
23
- const [phaseName, setPhaseName] = useState<string>('Initializing...');
24
- const [totalPhases] = useState<number>(3);
25
- const [completedPhases, setCompletedPhases] = useState<number>(0);
26
- const [startTime] = useState<Date>(new Date());
27
- const [tokens, setTokens] = useState<number>(0);
28
- const [cost, setCost] = useState<string>('0.00');
29
- const [budget] = useState<{ used: number; limit: number } | undefined>(undefined);
30
-
31
- useEffect(() => {
32
- const pipePath = process.env.GSD_ACTIVITY_PIPE || '.planning/logs/activity.pipe';
33
- const reader = new ActivityPipeReader(pipePath);
34
-
35
- reader.onMessage((msg) => {
36
- setActivities((prev) => [...prev, msg]);
37
-
38
- // Handle stage messages
39
- if (msg.type === 'stage') {
40
- const [stageType, ...descParts] = msg.detail.split(':');
41
- const description = descParts.join(':');
42
-
43
- // Add to completed stages
44
- if (currentStage && currentStage.stage !== stageType) {
45
- setCompletedStages((prev) => [
46
- ...prev,
47
- { name: currentStage.stage, elapsed: currentStage.elapsed },
48
- ]);
49
- }
50
-
51
- setCurrentStage({
52
- stage: stageType,
53
- stageDesc: description,
54
- elapsed: '0:00',
55
- });
56
- }
57
-
58
- // Handle file messages
59
- if (msg.type === 'file') {
60
- // Already added to activities
61
- }
62
-
63
- // Handle commit messages
64
- if (msg.type === 'commit') {
65
- // Already added to activities
66
- }
67
- });
68
-
69
- reader.start();
70
-
71
- return () => {
72
- // Cleanup handled by pipe reader
73
- };
74
- }, []);
75
-
76
- // Calculate elapsed time
77
- const elapsedTime = useMemo(() => {
78
- const diff = Math.floor((Date.now() - startTime.getTime()) / 1000);
79
- const hrs = Math.floor(diff / 3600);
80
- const mins = Math.floor((diff % 3600) / 60);
81
- const secs = diff % 60;
82
-
83
- if (hrs > 0) {
84
- return `${hrs}h ${mins}m ${secs}s`;
85
- } else if (mins > 0) {
86
- return `${mins}m ${secs}s`;
87
- } else {
88
- return `${secs}s`;
89
- }
90
- }, [startTime]);
91
-
92
- // Build stages array
93
- const stages: Stage[] = useMemo(() => {
94
- const stages: Stage[] = [
95
- ...completedStages.map((s) => ({ ...s, completed: true })),
96
- ];
97
-
98
- if (currentStage) {
99
- stages.push({
100
- name: currentStage.stage,
101
- elapsed: currentStage.elapsed,
102
- completed: false,
103
- });
104
- }
105
-
106
- return stages;
107
- }, [completedStages, currentStage]);
108
-
109
- // Calculate progress
110
- const progress = useMemo(() => {
111
- if (stages.length === 0) return 0;
112
- const completed = stages.filter((s) => s.completed).length;
113
- return (completed / (stages.length + 3)) * 100; // +3 for planned future stages
114
- }, [stages]);
115
-
116
- return (
117
- <Box flexDirection="column" padding={1}>
118
- <Box justifyContent="center" marginBottom={1}>
119
- <Text bold color="cyan">
120
- ╔═══╗ ╔╗ ╔╗ ╔══╗
121
- ║╔══╝ ║║ ║║ ║╔╗║
122
- ║╚══╗ ║║ ║║ ║╚╝║
123
- ║╔══╝ ║║ ║║ ║╔╗║
124
- ║╚══╗ ║╚══╗║╚══╗ ║╚╝║
125
- ╚═══╝ ╚═══╝╚═══╝ ╚══╝
126
- </Text>
127
- </Box>
128
-
129
- <Text bold color="cyan">
130
- GET SHIT DONE - AUTOPILOT
131
- </Text>
132
-
133
- <Box marginY={1}>
134
- <Text dimColor>
135
- {'─'.repeat(60)}
136
- </Text>
137
- </Box>
138
-
139
- <Box flexDirection="row" gap={1} flexGrow={1}>
140
- <Box flexDirection="column" flexGrow={1}>
141
- <PhaseCard
142
- phase={currentPhase}
143
- phaseName={phaseName}
144
- totalPhases={totalPhases}
145
- currentPhaseIndex={completedPhases}
146
- stages={stages}
147
- description={currentStage?.stageDesc}
148
- progress={progress}
149
- />
150
- </Box>
151
-
152
- <Box flexDirection="column" flexGrow={1}>
153
- <ActivityFeed activities={activities} />
154
- </Box>
155
- </Box>
156
-
157
- <StatsBar
158
- totalPhases={totalPhases}
159
- completedPhases={completedPhases}
160
- elapsedTime={elapsedTime}
161
- tokens={tokens}
162
- cost={cost}
163
- budget={budget}
164
- />
165
- </Box>
166
- );
167
- };
168
-
169
- export default App;