gsd-cc 1.2.0 → 1.2.1

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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gsd-cc",
3
- "version": "1.2.0",
3
+ "version": "1.2.1",
4
4
  "description": "Get Shit Done on Claude Code — structured AI development with your Max plan",
5
5
  "author": "Philipp Briese (https://github.com/0ui-labs)",
6
6
  "homepage": "https://github.com/0ui-labs/GSD-CC#readme",
@@ -156,25 +156,31 @@ When running in full-auto mode (`auto_mode_scope: milestone`), Discuss is NOT sk
156
156
 
157
157
  ### How it works
158
158
 
159
- 1. Read `.gsd/PROFILE.md` — this is the user's decision-making profile
160
- 2. For each gray area, simulate a discussion:
161
- - **You (Planner):** Ask the question as you would ask the user
162
- - **Synthetic Stakeholder (Profile):** Answer based on PROFILE.md using their instincts, preferences, strong opinions, and red lines
163
- - The stakeholder MUST cite which part of the profile drives the decision
164
- 3. Write the results to `.gsd/S{nn}-DISCUSS-AUTO.md` with full transparency:
159
+ 1. Read `.gsd/PROFILE.md` — this is the user's decision-making profile (if it exists)
160
+ 2. For each gray area, simulate a real discussion between two roles:
161
+ - **Planner:** Analyzes the technical options. Brings expertise about what works best for THIS project. Considers tradeoffs, risks, maintainability, project requirements.
162
+ - **Stakeholder:** Represents the user's perspective. Influenced by PROFILE.md but not controlled by it. The profile is a **nudge, not a mandate** — it shapes preferences but doesn't override what's technically best for this project.
163
+ 3. The discussion should feel like a real debate, not a rubber stamp:
164
+ - Planner proposes with reasoning
165
+ - Stakeholder reacts based on profile + common sense
166
+ - If they disagree, they work it out with arguments
167
+ - The final decision considers BOTH technical merit AND user preferences
168
+ 4. Write the results to `.gsd/S{nn}-DISCUSS-AUTO.md` with full transparency:
165
169
 
166
170
  ```markdown
167
- # S{nn} Auto-Discuss — Synthetic Stakeholder Decisions
171
+ # S{nn} Auto-Discuss
168
172
 
169
- > These decisions were made by auto-mode using your decision profile.
170
- > Review after UNIFY. Update your profile with /gsd-cc-profile if
171
- > any decision doesn't match how you'd actually decide.
173
+ > These decisions were made by auto-mode.
174
+ > The user's profile influenced but did not dictate decisions.
175
+ > Review after UNIFY. Update your profile with /gsd-cc-profile if needed.
172
176
 
173
177
  ## Decision 1: {topic}
174
178
  **Question:** {what was ambiguous}
175
- **Stakeholder says:** {decision with reasoning}
176
- **Profile basis:** {which section/quote from PROFILE.md}
177
- **Confidence:** {high|medium|lowhow clearly does the profile cover this?}
179
+ **Planner says:** {technical analysis — options, tradeoffs, recommendation}
180
+ **Stakeholder says:** {reaction based on profile + common sense}
181
+ **Profile influence:** {how the profile shaped this or "N/A" if profile didn't cover this}
182
+ **Final decision:** {what was decided and why}
183
+ **Confidence:** {high|medium|low}
178
184
 
179
185
  ## Decision 2: {topic}
180
186
  ...
@@ -182,17 +188,24 @@ When running in full-auto mode (`auto_mode_scope: milestone`), Discuss is NOT sk
182
188
 
183
189
  ### Confidence levels
184
190
 
185
- - **High:** The profile explicitly covers this (e.g., profile says "always REST for MVPs" and the question is REST vs GraphQL for an MVP)
186
- - **Medium:** The profile gives strong hints but doesn't directly address this (e.g., profile says "simplicity over flexibility" and the question is about a specific pattern choice)
187
- - **Low:** The profile doesn't clearly address this — the stakeholder is guessing. Mark these clearly so the user knows to review them.
191
+ - **High:** Clear technical winner that also aligns with the profile
192
+ - **Medium:** Multiple valid options profile tipped the balance, or technical choice overrode a mild preference with good reason
193
+ - **Low:** Unclear technically AND the profile doesn't help — the decision is a best guess. Mark for user review.
188
194
 
189
- ### Rules for the Synthetic Stakeholder
195
+ ### How the Profile Influences (NOT Controls)
190
196
 
191
- - **Stay in character.** Answer as the user would, not as a senior dev or a textbook.
192
- - **Use their language.** If the profile quotes them saying "I hate ORMs", the stakeholder says "no ORM" — not "consider avoiding object-relational mapping."
193
- - **Respect red lines.** If the profile says "NEVER use MongoDB", the stakeholder never recommends MongoDB, even if it's technically optimal.
194
- - **Be honest about uncertainty.** If the profile doesn't cover a topic, say "the profile doesn't address this, defaulting to {safe choice} review recommended."
195
- - **Capture wildcards.** If the profile has unpopular opinions or unconventional preferences, USE them. That's the whole point.
197
+ The profile is one input among several. The weight depends on the type of decision:
198
+
199
+ - **Taste decisions** (UI style, naming conventions, code style) profile weighs heavily. There's no "right answer", so the user's preference matters most.
200
+ - **Technical decisions** (database choice, API design, auth strategy) → profile is a tiebreaker. If two options are technically equal, pick the one the user would prefer. But don't pick a bad option just because the profile likes it.
201
+ - **Red lines** → always respected. If the profile says "NEVER use X", don't use X. Period. But explain the cost if it matters.
202
+
203
+ ### Rules for Auto-Discuss
204
+
205
+ - **The Planner thinks independently.** Don't just ask "what would the user want?" — first figure out what's technically best, THEN check if the profile agrees.
206
+ - **Disagreements are good.** If the planner thinks X is better but the profile nudges toward Y, document the tension. Don't hide it.
207
+ - **Use the user's language** when representing their perspective. If they said "I hate ORMs", the stakeholder says "no ORM" — not "consider avoiding object-relational mapping."
208
+ - **Be honest about uncertainty.** If neither technical analysis nor the profile gives a clear answer, say so.
196
209
 
197
210
  ### If no PROFILE.md exists
198
211
 
@@ -111,27 +111,31 @@ If their reasoning is sound, support it. If it's risky, explain the risk honestl
111
111
 
112
112
  ### For auto-discuss (synthetic stakeholder):
113
113
 
114
- Read PROFILE.md. The stakeholder discusses each decision:
114
+ Read PROFILE.md (if it exists). For each stack decision, run a real discussion:
115
115
 
116
- ```
117
- ## Stack Discussion (Synthetic Stakeholder)
116
+ ```markdown
117
+ ## Stack Discussion (Auto)
118
118
 
119
119
  ### Language / Runtime
120
- Planner: "The project needs {requirement}. I'd suggest {language}
121
- because {reason}."
122
- Stakeholder: "{Response based on PROFILE.md — e.g. 'Philipp prefers
123
- TypeScript for anything with a frontend. He mentioned strict mode is
124
- worth the overhead.'}"
125
- Profile basis: §Tech Stack Defaults, §Strong Opinions
126
- Decision: {final choice}
127
- Confidence: {high|medium|low}
120
+ **Planner:** "For this project we need {requirement}. The best
121
+ options are {A} and {B}. {A} because {reason}. {B} because {reason}.
122
+ I'd lean toward {A}."
123
+ **Stakeholder:** "{Reaction agrees, disagrees, or adds context.
124
+ Profile is a nudge, not a script. E.g. 'The profile says TypeScript
125
+ for frontend work, and that aligns here. But even without the profile
126
+ TypeScript would be the right call because of {project-specific reason}.'}"
127
+ **Decision:** {final choice}
128
+ **Reasoning:** {why this is right for THIS project — not just because the profile says so}
129
+ **Confidence:** {high|medium|low}
128
130
 
129
131
  ### Framework
130
- Planner: ...
131
- Stakeholder: ...
132
+ **Planner:** ...
133
+ **Stakeholder:** ...
132
134
  ```
133
135
 
134
- **Every decision must be discussed.** Even if the profile clearly says "always use Next.js", the planner should validate that Next.js makes sense for THIS project and the stakeholder should confirm.
136
+ **The profile influences, it doesn't dictate.** The planner should first figure out what's technically best for this specific project, THEN check if the profile agrees. If the profile says "always Next.js" but this project is a CLI tool, don't use Next.js.
137
+
138
+ **Every decision must be discussed.** Even obvious ones. The discussion creates a record of WHY each choice was made.
135
139
 
136
140
  ## Step 4: Research When Needed
137
141