symfonia-ai-tools 1.3.0 → 1.4.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/README.md
CHANGED
|
@@ -29,8 +29,8 @@ Konfigurator przeprowadzi Cie przez:
|
|
|
29
29
|
Caly konfigurator uzywa nawigacji strzalkami — zero wpisywania cyferek.
|
|
30
30
|
|
|
31
31
|
Na koniec automatycznie uruchamia GSD:
|
|
32
|
-
- **Nowy projekt** → `/gsd
|
|
33
|
-
- **Istniejacy projekt** → `/gsd
|
|
32
|
+
- **Nowy projekt** → `/gsd-new-project`
|
|
33
|
+
- **Istniejacy projekt** → `/gsd-map-codebase` → `/gsd-new-project`
|
|
34
34
|
|
|
35
35
|
### Tryby instalacji (istniejacy projekt)
|
|
36
36
|
|
|
@@ -372,13 +372,13 @@ npx get-shit-done-cc@latest
|
|
|
372
372
|
|
|
373
373
|
| Komenda | Cel |
|
|
374
374
|
|---------|-----|
|
|
375
|
-
| `/gsd
|
|
376
|
-
| `/gsd
|
|
377
|
-
| `/gsd
|
|
378
|
-
| `/gsd
|
|
379
|
-
| `/gsd
|
|
380
|
-
| `/gsd
|
|
381
|
-
| `/gsd
|
|
375
|
+
| `/gsd-new-project` | Inicjalizacja projektu |
|
|
376
|
+
| `/gsd-plan-phase` | Planowanie fazy |
|
|
377
|
+
| `/gsd-execute-phase` | Wykonanie |
|
|
378
|
+
| `/gsd-verify-work` | Weryfikacja UAT |
|
|
379
|
+
| `/gsd-progress` | Status i nastepne kroki |
|
|
380
|
+
| `/gsd-debug` | Systematyczny debugging |
|
|
381
|
+
| `/gsd-map-codebase` | Mapowanie istniejacego kodu |
|
|
382
382
|
|
|
383
383
|
---
|
|
384
384
|
|
package/lib/installer.mjs
CHANGED
|
@@ -456,7 +456,7 @@ function printNextSteps(answers, mode) {
|
|
|
456
456
|
steps.push(` ${boldGreen(`${n++}.`)} ${t('i.done.check_mcp_label')}\n ${gray('claude mcp list')}`);
|
|
457
457
|
}
|
|
458
458
|
if (!answers.toolClaude) {
|
|
459
|
-
steps.push(` ${boldGreen(`${n++}.`)} ${t('i.done.start_gsd')}\n ${gray('/gsd
|
|
459
|
+
steps.push(` ${boldGreen(`${n++}.`)} ${t('i.done.start_gsd')}\n ${gray('/gsd-new-project')}`);
|
|
460
460
|
}
|
|
461
461
|
console.log(` ${bold(t('i.done.next_steps'))}\n`);
|
|
462
462
|
console.log(steps.join('\n\n'));
|
|
@@ -472,8 +472,8 @@ function hasClaudeCli() {
|
|
|
472
472
|
async function bootstrapGsd(targetDir, answers) {
|
|
473
473
|
if (!hasClaudeCli()) {
|
|
474
474
|
console.log(warn(t('i.gsd.no_cli')));
|
|
475
|
-
if (answers.projectType === 'existing') console.log(` ${gray('claude /gsd
|
|
476
|
-
console.log(` ${gray('claude /gsd
|
|
475
|
+
if (answers.projectType === 'existing') console.log(` ${gray('claude /gsd-map-codebase')}`);
|
|
476
|
+
console.log(` ${gray('claude /gsd-new-project')}`);
|
|
477
477
|
console.log('');
|
|
478
478
|
return;
|
|
479
479
|
}
|
|
@@ -481,20 +481,20 @@ async function bootstrapGsd(targetDir, answers) {
|
|
|
481
481
|
if (answers.projectType === 'existing') {
|
|
482
482
|
section(t('i.gsd.section_map'));
|
|
483
483
|
try {
|
|
484
|
-
execSync('claude /gsd
|
|
484
|
+
execSync('claude /gsd-map-codebase', { stdio: 'inherit', cwd: targetDir });
|
|
485
485
|
console.log(success(t('i.gsd.map_ok')));
|
|
486
486
|
} catch {
|
|
487
487
|
console.log(error(t('i.gsd.map_fail')));
|
|
488
|
-
console.log(` ${dim(t('i.cli.try_manual'))} ${gray('claude /gsd
|
|
488
|
+
console.log(` ${dim(t('i.cli.try_manual'))} ${gray('claude /gsd-map-codebase')}`);
|
|
489
489
|
}
|
|
490
490
|
}
|
|
491
491
|
|
|
492
492
|
section(t('i.gsd.section_init'));
|
|
493
493
|
try {
|
|
494
|
-
execSync('claude /gsd
|
|
494
|
+
execSync('claude /gsd-new-project', { stdio: 'inherit', cwd: targetDir });
|
|
495
495
|
console.log(success(t('i.gsd.init_ok')));
|
|
496
496
|
} catch {
|
|
497
497
|
console.log(error(t('i.gsd.init_fail')));
|
|
498
|
-
console.log(` ${dim(t('i.cli.try_manual'))} ${gray('claude /gsd
|
|
498
|
+
console.log(` ${dim(t('i.cli.try_manual'))} ${gray('claude /gsd-new-project')}`);
|
|
499
499
|
}
|
|
500
500
|
}
|
package/lib/questions.mjs
CHANGED
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
section, tableRow, dim, yellow, green, cyan, bold, boldGreen, boldYellow,
|
|
7
7
|
boldCyan, white, gray, info,
|
|
8
8
|
} from './ui.mjs';
|
|
9
|
-
import { t, setLang } from './i18n.mjs';
|
|
9
|
+
import { t, setLang, getLang } from './i18n.mjs';
|
|
10
10
|
|
|
11
11
|
// ─── Skill → MCP/CLI dependencies ───
|
|
12
12
|
|
|
@@ -273,7 +273,8 @@ async function askPackPlaceholders(answers, allPacks) {
|
|
|
273
273
|
section(t('q.section.placeholders'));
|
|
274
274
|
|
|
275
275
|
for (const q of questions) {
|
|
276
|
-
|
|
276
|
+
const label = (getLang() === 'en' && q.question_en) ? q.question_en : q.question;
|
|
277
|
+
answers[placeholderToAnswerKey(q.key)] = await ask(label, q.default);
|
|
277
278
|
}
|
|
278
279
|
}
|
|
279
280
|
|
|
@@ -486,8 +487,8 @@ function printSummary(answers, allPacks) {
|
|
|
486
487
|
|
|
487
488
|
if (answers.toolClaude) {
|
|
488
489
|
const gsdSteps = [];
|
|
489
|
-
if (answers.projectType === 'existing') gsdSteps.push('/gsd
|
|
490
|
-
gsdSteps.push('/gsd
|
|
490
|
+
if (answers.projectType === 'existing') gsdSteps.push('/gsd-map-codebase');
|
|
491
|
+
gsdSteps.push('/gsd-new-project');
|
|
491
492
|
tableRow(t('q.summary.gsd'), cyan(gsdSteps.join(dim(' → '))));
|
|
492
493
|
}
|
|
493
494
|
}
|
package/package.json
CHANGED
package/templates/base/CLAUDE.md
CHANGED
|
@@ -19,11 +19,11 @@ Read and follow `.ai/guidelines.md` as mandatory context for all work.
|
|
|
19
19
|
|
|
20
20
|
## Workflow
|
|
21
21
|
This project uses GSD (Get Shit Done) for structured development.
|
|
22
|
-
- `/gsd
|
|
23
|
-
- `/gsd
|
|
24
|
-
- `/gsd
|
|
25
|
-
- `/gsd
|
|
26
|
-
- `/gsd
|
|
22
|
+
- `/gsd-progress` - Check project status
|
|
23
|
+
- `/gsd-plan-phase` - Plan next phase
|
|
24
|
+
- `/gsd-execute-phase` - Execute current phase
|
|
25
|
+
- `/gsd-verify-work` - Verify completed work
|
|
26
|
+
- `/gsd-debug` - Systematic debugging
|
|
27
27
|
|
|
28
28
|
## Commits
|
|
29
29
|
Extract issue number from branch name and use as prefix.
|
|
@@ -3,6 +3,6 @@
|
|
|
3
3
|
"description": "Docker Compose — komendy w kontenerze",
|
|
4
4
|
"default": false,
|
|
5
5
|
"placeholders": {
|
|
6
|
-
"DOCKER_CONTAINER": { "question": "Nazwa kontenera Docker", "default": "app" }
|
|
6
|
+
"DOCKER_CONTAINER": { "question": "Nazwa kontenera Docker", "question_en": "Docker container name", "default": "app" }
|
|
7
7
|
}
|
|
8
8
|
}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"description": "Testy end-to-end z Page Object Model",
|
|
4
4
|
"default": false,
|
|
5
5
|
"placeholders": {
|
|
6
|
-
"PLAYWRIGHT_DIR": { "question": "Katalog testow Playwright", "default": "tests/e2e" },
|
|
7
|
-
"BASE_URL": { "question": "Base URL aplikacji", "default": "http://localhost:3000" }
|
|
6
|
+
"PLAYWRIGHT_DIR": { "question": "Katalog testow Playwright", "question_en": "Playwright tests directory", "default": "tests/e2e" },
|
|
7
|
+
"BASE_URL": { "question": "Base URL aplikacji", "question_en": "Application base URL", "default": "http://localhost:3000" }
|
|
8
8
|
}
|
|
9
9
|
}
|
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
"description": "Composition API, Pinia, composables, forms, API",
|
|
4
4
|
"default": true,
|
|
5
5
|
"placeholders": {
|
|
6
|
-
"MODULE_PATH": { "question": "Sciezka do modulow", "default": "/src/modules/[feature]/" },
|
|
7
|
-
"COMPONENT_LIB_PATH": { "question": "Sciezka do komponentow UI", "default": "/src/components/" },
|
|
8
|
-
"COMPONENT_LIB_IMPORT": { "question": "Import komponentow", "default": "@/components" },
|
|
9
|
-
"API_BASE_URL": { "question": "Bazowy URL API", "default": "/api/v4" }
|
|
6
|
+
"MODULE_PATH": { "question": "Sciezka do modulow", "question_en": "Modules path", "default": "/src/modules/[feature]/" },
|
|
7
|
+
"COMPONENT_LIB_PATH": { "question": "Sciezka do komponentow UI", "question_en": "UI components path", "default": "/src/components/" },
|
|
8
|
+
"COMPONENT_LIB_IMPORT": { "question": "Import komponentow", "question_en": "Components import path", "default": "@/components" },
|
|
9
|
+
"API_BASE_URL": { "question": "Bazowy URL API", "question_en": "API base URL", "default": "/api/v4" }
|
|
10
10
|
}
|
|
11
11
|
}
|