gsd-cc 0.3.1 → 0.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/bin/install.js +40 -3
- package/package.json +1 -1
- package/skills/gsd/SKILL.md +3 -3
- package/skills/gsd/seed/SKILL.md +8 -10
package/bin/install.js
CHANGED
|
@@ -156,9 +156,43 @@ function install(isGlobal) {
|
|
|
156
156
|
}
|
|
157
157
|
|
|
158
158
|
console.log(` ${green}✓${reset} Installed ${fileCount} files to ${label}`);
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
/**
|
|
162
|
+
* Write language config
|
|
163
|
+
*/
|
|
164
|
+
function writeLanguageConfig(isGlobal, language) {
|
|
165
|
+
const skillsBase = getSkillsBase(isGlobal);
|
|
166
|
+
const configDir = path.join(skillsBase, 'gsd-cc-shared');
|
|
167
|
+
fs.mkdirSync(configDir, { recursive: true });
|
|
168
|
+
const configPath = path.join(configDir, 'config.json');
|
|
169
|
+
fs.writeFileSync(configPath, JSON.stringify({ language }, null, 2) + '\n');
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
/**
|
|
173
|
+
* Prompt for language, then finish
|
|
174
|
+
*/
|
|
175
|
+
function promptLanguage(isGlobal) {
|
|
176
|
+
const rl = readline.createInterface({
|
|
177
|
+
input: process.stdin,
|
|
178
|
+
output: process.stdout,
|
|
179
|
+
});
|
|
180
|
+
|
|
159
181
|
console.log(`
|
|
160
|
-
${
|
|
182
|
+
${yellow}Which language should GSD-CC use?${reset}
|
|
183
|
+
${dim}(e.g. English, Deutsch, Français, Español, ...)${reset}
|
|
184
|
+
${dim}You can change this later per project in .gsd/STATE.md${reset}
|
|
161
185
|
`);
|
|
186
|
+
|
|
187
|
+
rl.question(` Language ${dim}[English]${reset}: `, (answer) => {
|
|
188
|
+
rl.close();
|
|
189
|
+
const language = answer.trim() || 'English';
|
|
190
|
+
writeLanguageConfig(isGlobal, language);
|
|
191
|
+
console.log(` ${green}✓${reset} Language set to ${cyan}${language}${reset}
|
|
192
|
+
`);
|
|
193
|
+
console.log(` ${green}Done.${reset} Open Claude Code and type ${cyan}/gsd-cc${reset} to start.
|
|
194
|
+
`);
|
|
195
|
+
});
|
|
162
196
|
}
|
|
163
197
|
|
|
164
198
|
/**
|
|
@@ -232,8 +266,9 @@ function promptLocation() {
|
|
|
232
266
|
rl.question(` Choice ${dim}[1]${reset}: `, (answer) => {
|
|
233
267
|
rl.close();
|
|
234
268
|
console.log();
|
|
235
|
-
const
|
|
236
|
-
install(
|
|
269
|
+
const isGlobal = (answer.trim() || '1') !== '2';
|
|
270
|
+
install(isGlobal);
|
|
271
|
+
promptLanguage(isGlobal);
|
|
237
272
|
});
|
|
238
273
|
}
|
|
239
274
|
|
|
@@ -245,8 +280,10 @@ if (hasUninstall) {
|
|
|
245
280
|
process.exit(1);
|
|
246
281
|
} else if (hasGlobal) {
|
|
247
282
|
install(true);
|
|
283
|
+
promptLanguage(true);
|
|
248
284
|
} else if (hasLocal) {
|
|
249
285
|
install(false);
|
|
286
|
+
promptLanguage(false);
|
|
250
287
|
} else {
|
|
251
288
|
promptLocation();
|
|
252
289
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "gsd-cc",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
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",
|
package/skills/gsd/SKILL.md
CHANGED
|
@@ -14,7 +14,7 @@ You are the GSD-CC router. Your job is to read the current project state and sug
|
|
|
14
14
|
|
|
15
15
|
## Language
|
|
16
16
|
|
|
17
|
-
Read the `language` field from `.gsd/STATE.md`. All output — messages, suggestions, file content — must use that language. If
|
|
17
|
+
Read the `language` field from `.gsd/STATE.md`. If no STATE.md exists, read from `~/.claude/skills/gsd-cc-shared/config.json` (or `./.claude/skills/gsd-cc-shared/config.json`). All output — messages, suggestions, file content — must use that language. If neither is found, default to English.
|
|
18
18
|
|
|
19
19
|
## Step 1: Detect State
|
|
20
20
|
|
|
@@ -50,8 +50,8 @@ IF .gsd/auto.lock exists:
|
|
|
50
50
|
### No Project
|
|
51
51
|
```
|
|
52
52
|
IF .gsd/ does not exist:
|
|
53
|
-
→
|
|
54
|
-
|
|
53
|
+
→ Delegate to /gsd-cc-seed immediately. Do NOT ask your own question first.
|
|
54
|
+
Seed handles the welcome message, language selection, and first question.
|
|
55
55
|
```
|
|
56
56
|
|
|
57
57
|
### Ideation Done, No Roadmap
|
package/skills/gsd/seed/SKILL.md
CHANGED
|
@@ -14,20 +14,18 @@ You are a project coach. You think WITH the user, not interrogate them. Your job
|
|
|
14
14
|
|
|
15
15
|
## Behavior
|
|
16
16
|
|
|
17
|
-
### Step 0: Language
|
|
17
|
+
### Step 0: Load Language
|
|
18
18
|
|
|
19
|
-
|
|
19
|
+
Read the language config from `~/.claude/skills/gsd-cc-shared/config.json` (or `./.claude/skills/gsd-cc-shared/config.json`). Use the `language` field.
|
|
20
20
|
|
|
21
|
-
|
|
22
|
-
No .gsd/ directory found. Let's start a new project.
|
|
23
|
-
|
|
24
|
-
Which language should I use? (e.g. English, Deutsch, Français, ...)
|
|
25
|
-
Default: English
|
|
26
|
-
```
|
|
21
|
+
If the file doesn't exist, default to English.
|
|
27
22
|
|
|
28
|
-
|
|
23
|
+
**All communication, generated files, plans, acceptance criteria, UNIFY reports, and status output must use this language.**
|
|
29
24
|
|
|
30
|
-
|
|
25
|
+
Tell the user which language you're using:
|
|
26
|
+
```
|
|
27
|
+
Language: {language} (change anytime in .gsd/STATE.md)
|
|
28
|
+
```
|
|
31
29
|
|
|
32
30
|
### Step 1: Ask What They're Building
|
|
33
31
|
|