symfonia-ai-tools 1.4.2 → 1.5.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 (2) hide show
  1. package/README.md +289 -287
  2. package/package.json +1 -1
package/README.md CHANGED
@@ -1,116 +1,117 @@
1
1
  # symfonia-ai-tools
2
2
 
3
- Interaktywny konfigurator AI toolingu dla projektow. Jeden `npx` — kompletna konfiguracja Claude Code, GitHub Copilot, Cursor, Gemini, Junie i GSD.
3
+ Interactive AI tooling configurator for projects. One `npx` — complete setup for Claude Code, GitHub Copilot, Cursor, Gemini, Junie, and GSD.
4
4
 
5
- ## Instalacja
5
+ ## Installation
6
6
 
7
- Wymagany: Node.js 18+
7
+ Required: Node.js 18+
8
8
 
9
9
  ```bash
10
10
  npx symfonia-ai-tools@latest
11
11
  ```
12
12
 
13
- Mozesz tez zainstalowac globalnie:
13
+ You can also install globally:
14
14
 
15
15
  ```bash
16
16
  npm install -g symfonia-ai-tools
17
17
  symfonia-ai-tools
18
18
  ```
19
19
 
20
- Konfigurator przeprowadzi Cie przez:
21
- 1. Wybor typu projektu, opis, tech stack
22
- 2. Wybor pakietow instrukcji i skilli (checkboxy)
23
- 3. Narzedzia AI do skonfigurowania (checkboxy)
24
- 4. Wybor skilli do zainstalowania (checkboxy — bazowe + z wybranych pakietow)
25
- 5. Sciezki, komendy, CI pipeline, prefix JIRA
26
- 6. Serwery MCP (checkboxy + tokeny)
27
- 7. Instalacje CLI (checkboxy)
20
+ The configurator guides you through:
21
+ 1. Language selection (Polish / English)
22
+ 2. Project type, description, tech stack
23
+ 3. Instruction & skill packs (checkboxes)
24
+ 4. AI tools to configure (checkboxes)
25
+ 5. Skills to install (checkboxes base + from selected packs)
26
+ 6. Paths, commands, CI pipeline, JIRA prefix
27
+ 7. MCP servers (checkboxes + tokens)
28
+ 8. CLI installation (checkboxes)
28
29
 
29
- Caly konfigurator uzywa nawigacji strzalkamizero wpisywania cyferek.
30
+ The entire configurator uses arrow-key navigation no typing numbers.
30
31
 
31
- Na koniec automatycznie uruchamia GSD:
32
- - **Nowy projekt** → `/gsd-new-project`
33
- - **Istniejacy projekt** → `/gsd-map-codebase` → `/gsd-new-project`
32
+ Finally, it automatically runs GSD:
33
+ - **New project** → `/gsd-new-project`
34
+ - **Existing project** → `/gsd-map-codebase` → `/gsd-new-project`
34
35
 
35
- ### Tryby instalacji (istniejacy projekt)
36
+ ### Installation modes (existing project)
36
37
 
37
- | Tryb | Opis |
38
- |------|------|
39
- | **Nadpisz wszystko** | Pelna reinstalacjanadpisuje istniejace pliki |
40
- | **Tylko nowe pliki** | Dodaje brakujace pliki, nie rusza istniejacych |
41
- | **Tylko MCP** | Konfiguruje serwery MCP bez ruszania reszty |
38
+ | Mode | Description |
39
+ |------|-------------|
40
+ | **Overwrite everything** | Full reinstalloverwrites existing files |
41
+ | **Only new files** | Adds missing files, keeps existing ones |
42
+ | **MCP only** | Configures MCP servers without touching the rest |
42
43
 
43
44
  ---
44
45
 
45
- ## Architektura: Single Source of Truth
46
+ ## Architecture: Single Source of Truth
46
47
 
47
- Wszystkie narzedzia AI czytaja te same zasady z jednego miejsca:
48
+ All AI tools read the same rules from one place:
48
49
 
49
50
  ```
50
- .ai/guidelines.md ← JEDYNE ZRODLO PRAWDY
51
+ .ai/guidelines.md ← SINGLE SOURCE OF TRUTH
51
52
 
52
- ├── CLAUDE.md (referencja)
53
+ ├── CLAUDE.md (reference)
53
54
  ├── .github/copilot-instructions.md (pointer)
54
55
  ├── .cursor/rules/global.mdc (pointer)
55
- ├── .gemini/settings.json (referencja)
56
+ ├── .gemini/settings.json (reference)
56
57
  └── .junie/guidelines.md (pointer)
57
58
  ```
58
59
 
59
- Zmien `.ai/guidelines.md` — wszystkie agenty to zobacza.
60
+ Change `.ai/guidelines.md` — all agents will see it.
60
61
 
61
62
  ---
62
63
 
63
- ## Pakiety (packs)
64
+ ## Packs
64
65
 
65
- Zamiast wybierania jednego stacka, wybierasz dowolne pakiety instrukcji i skillicheckboxami. Kazdy pakiet deklaruje swoje instrukcje, skille i wymagane placeholdery w `pack.json`.
66
+ Instead of choosing a single stack, you pick any combination of instruction & skill packs with checkboxes. Each pack declares its instructions, skills, and required placeholders in `pack.json`.
66
67
 
67
- ### Dostepne pakiety
68
+ ### Available packs
68
69
 
69
- | Pakiet | Zawartosc | Domyslny |
70
- |--------|-----------|----------|
71
- | **Vue 3 + TypeScript** | 6 instrukcji, 3 skille | Tak |
72
- | **Vitest** | 1 instrukcja | Tak |
73
- | **Storybook** | 1 instrukcja | Nie |
74
- | **Laravel + PHP** | 4 instrukcje, 7 skilli | Nie |
75
- | **Playwright** | 1 instrukcja, 3 skille | Nie |
76
- | **Docker** | 1 instrukcja | Nie |
70
+ | Pack | Contents | Default |
71
+ |------|----------|---------|
72
+ | **Vue 3 + TypeScript** | 6 instructions, 3 skills | Yes |
73
+ | **Vitest** | 1 instruction | Yes |
74
+ | **Storybook** | 1 instruction | No |
75
+ | **Laravel + PHP** | 4 instructions, 7 skills | No |
76
+ | **Playwright E2E** | 1 instruction, 3 skills | No |
77
+ | **Docker** | 1 instruction | No |
77
78
 
78
- Pakiety sa niezaleznemozesz laczyc np. Vue 3 + Playwright + Docker.
79
+ Packs are independentyou can combine e.g. Vue 3 + Playwright + Docker.
79
80
 
80
81
  ---
81
82
 
82
- ## Co instaluje
83
+ ## What it installs
83
84
 
84
- ### Pliki per narzedzie
85
+ ### Per-tool files
85
86
 
86
- | Narzedzie | Pliki |
87
- |-----------|-------|
87
+ | Tool | Files |
88
+ |------|-------|
88
89
  | **Claude Code** | `CLAUDE.md`, `.claude/settings.local.json` (permissions + deny rules) |
89
90
  | **GitHub Copilot** | `.github/copilot-instructions.md`, `.github/pull_request_template.md`, `.github/instructions/`, `.github/prompts/`, `.github/skills/` |
90
91
  | **Cursor IDE** | `.cursor/rules/global.mdc`, `.cursor/mcp.json` |
91
92
  | **Gemini** | `.gemini/settings.json` |
92
93
  | **JetBrains Junie** | `.junie/guidelines.md` |
93
94
 
94
- ### Pliki wspolne
95
+ ### Shared files
95
96
 
96
- | Plik | Opis |
97
- |------|------|
98
- | `.ai/guidelines.md` | Glowne zasady projektu (source of truth) |
99
- | `.ai/instructions/` | Instrukcje kontekstowe per typ pliku |
100
- | `.ai/prompts/` | Reusable prompty AI |
101
- | `.ai/skills/` | Skillekrok-po-krok workflow |
102
- | `.ai/context/` | Kontekst projektowy (architektura, API spec, slownik) |
97
+ | File | Description |
98
+ |------|-------------|
99
+ | `.ai/guidelines.md` | Main project rules (source of truth) |
100
+ | `.ai/instructions/` | Contextual instructions per file type |
101
+ | `.ai/prompts/` | Reusable AI prompts |
102
+ | `.ai/skills/` | Skillsstep-by-step workflows |
103
+ | `.ai/context/` | Project context (architecture, API spec, glossary) |
103
104
  | `commit-instructions.md` | Commit conventions + branch naming |
104
- | `.gitignore` | Pre-konfigurowany (AI tokeny, .env, IDE) |
105
- | `.editorconfig` | Konsystentne formatowanie (utf-8, lf, spaces) |
105
+ | `.gitignore` | Pre-configured (AI tokens, .env, IDE) |
106
+ | `.editorconfig` | Consistent formatting (utf-8, lf, spaces) |
106
107
 
107
108
  ---
108
109
 
109
- ## Instructions (kontekstowe instrukcje)
110
+ ## Instructions (contextual instructions)
110
111
 
111
- Instructions to pliki z zasadami, ktore AI stosuje automatycznie gdy pracuje z pasujacymi plikami. Kazda instrukcja ma frontmatter `applyTo` z glob pattern.
112
+ Instructions are files with rules that AI applies automatically when working with matching files. Each instruction has an `applyTo` frontmatter with a glob pattern.
112
113
 
113
- ### Jak dzialaja
114
+ ### How they work
114
115
 
115
116
  ```yaml
116
117
  ---
@@ -120,206 +121,206 @@ applyTo: "**/*.vue"
120
121
  ...
121
122
  ```
122
123
 
123
- Gdy AI otwiera/edytuje plik pasujacy do `applyTo`, automatycznie laduje te instrukcje jako kontekst.
124
+ When AI opens/edits a file matching `applyTo`, it automatically loads those instructions as context.
124
125
 
125
- ### Vue 3 + TypeScript (6 instrukcji)
126
+ ### Vue 3 + TypeScript (6 instructions)
126
127
 
127
- | Instrukcja | applyTo | Czego uczy AI |
128
- |-----------|---------|---------------|
128
+ | Instruction | applyTo | What it teaches AI |
129
+ |-------------|---------|-------------------|
129
130
  | `vue.instructions.md` | `**/*.vue` | Composition API, defineProps, withDefaults, template order |
130
- | `store.instructions.md` | `**/*.store.ts, **/stores/**` | Pinia setup syntax, ref/computed, akcje async |
131
- | `api.instructions.md` | `**/*Service*.ts, **/api/**` | useApi singleton, interceptory, error handling |
132
- | `coding-conventions.instructions.md` | `**/*.vue, **/*.ts, **/*.scss` | Naming (camelCase/PascalCase), I/E/T prefixy, CSS single-dash |
131
+ | `store.instructions.md` | `**/*.store.ts, **/stores/**` | Pinia setup syntax, ref/computed, async actions |
132
+ | `api.instructions.md` | `**/*Service*.ts, **/api/**` | useApi singleton, interceptors, error handling |
133
+ | `coding-conventions.instructions.md` | `**/*.vue, **/*.ts, **/*.scss` | Naming (camelCase/PascalCase), I/E/T prefixes, CSS single-dash |
133
134
  | `composables.instructions.md` | `**/composables/**, **/use*.ts` | useAsyncDataLoader, form composable, filter composable |
134
135
  | `forms.instructions.md` | `**/*Form*.vue, **/validation*` | ValidationBuilder, computed validation, 422 handling |
135
136
 
136
- ### Vitest (1 instrukcja)
137
+ ### Vitest (1 instruction)
137
138
 
138
- | Instrukcja | applyTo | Czego uczy AI |
139
- |-----------|---------|---------------|
140
- | `vitest.instructions.md` | `**/*.test.ts, **/*.spec.ts` | mount, shallowMount, mocking, data-testid selektory |
139
+ | Instruction | applyTo | What it teaches AI |
140
+ |-------------|---------|-------------------|
141
+ | `vitest.instructions.md` | `**/*.test.ts, **/*.spec.ts` | mount, shallowMount, mocking, data-testid selectors |
141
142
 
142
- ### Storybook (1 instrukcja)
143
+ ### Storybook (1 instruction)
143
144
 
144
- | Instrukcja | applyTo | Czego uczy AI |
145
- |-----------|---------|---------------|
146
- | `storybook.instructions.md` | `**/*.stories.ts` | Meta + StoryObj, autodocs, argTypes, warianty |
145
+ | Instruction | applyTo | What it teaches AI |
146
+ |-------------|---------|-------------------|
147
+ | `storybook.instructions.md` | `**/*.stories.ts` | Meta + StoryObj, autodocs, argTypes, variants |
147
148
 
148
- ### Laravel + PHP (4 instrukcje)
149
+ ### Laravel + PHP (4 instructions)
149
150
 
150
- | Instrukcja | applyTo | Czego uczy AI |
151
- |-----------|---------|---------------|
152
- | `module.instructions.md` | `**/Modules/**` | Struktura modulu, module.json, ServiceProvider |
151
+ | Instruction | applyTo | What it teaches AI |
152
+ |-------------|---------|-------------------|
153
+ | `module.instructions.md` | `**/Modules/**` | Module structure, module.json, ServiceProvider |
153
154
  | `service-repository.instructions.md` | `**/*Service*.php, **/*Repository*.php` | CQRS (Command/Query repos), readonly services, DTO |
154
- | `api-resource.instructions.md` | `**/*Resource*.php, **/*Request*.php` | Resources z whenLoaded(), Form Requests, Policies |
155
+ | `api-resource.instructions.md` | `**/*Resource*.php, **/*Request*.php` | Resources with whenLoaded(), Form Requests, Policies |
155
156
  | `testing.instructions.md` | `**/*Test*.php, **/tests/**` | PHPUnit, data providers, factories, Laravel fakes |
156
157
 
157
- ### Playwright (1 instrukcja)
158
+ ### Playwright (1 instruction)
158
159
 
159
- | Instrukcja | applyTo | Czego uczy AI |
160
- |-----------|---------|---------------|
161
- | `playwright.instructions.md` | `**/*.spec.ts (e2e)` | Page Object Model, selektory, czekanie na elementy |
160
+ | Instruction | applyTo | What it teaches AI |
161
+ |-------------|---------|-------------------|
162
+ | `playwright.instructions.md` | `**/*.spec.ts (e2e)` | Page Object Model, selectors, waiting for elements |
162
163
 
163
- ### Docker (1 instrukcja)
164
+ ### Docker (1 instruction)
164
165
 
165
- | Instrukcja | applyTo | Czego uczy AI |
166
- |-----------|---------|---------------|
167
- | `docker.instructions.md` | `**/Dockerfile, **/docker-compose*` | Artisan w kontenerze, multi-stage build |
166
+ | Instruction | applyTo | What it teaches AI |
167
+ |-------------|---------|-------------------|
168
+ | `docker.instructions.md` | `**/Dockerfile, **/docker-compose*` | Artisan in container, multi-stage build |
168
169
 
169
- ### Dodawanie wlasnej instrukcji
170
+ ### Adding your own instruction
170
171
 
171
- 1. Utworz plik w `.ai/instructions/`:
172
+ 1. Create a file in `.ai/instructions/`:
172
173
  ```markdown
173
174
  ---
174
175
  applyTo: "**/*.graphql"
175
176
  ---
176
177
  # GraphQL Instructions
177
- Zasady specyficzne dla plikow GraphQL...
178
+ Rules specific to GraphQL files...
178
179
  ```
179
- 2. Mirror do `.github/instructions/` dzieje sie automatycznie jesli Copilot jest wybrany
180
+ 2. Mirror to `.github/instructions/` happens automatically if Copilot is selected
180
181
 
181
182
  ---
182
183
 
183
- ## Guidelines — co zawiera
184
+ ## Guidelines — what it contains
184
185
 
185
- Plik `.ai/guidelines.md` jest skladany automatycznie z:
186
- 1. **Header** — project overview, tech stack, komendy, CI, commit rules, branch naming, sekcja Forbidden, testing strategy
187
- 2. **Sekcje pakietow** — kazdy wybrany pack dolacza swoja sekcje (np. Vue 3 architecture, Laravel conventions)
186
+ The `.ai/guidelines.md` file is assembled automatically from:
187
+ 1. **Header** — project overview, tech stack, commands, CI, commit rules, branch naming, Forbidden section, testing strategy
188
+ 2. **Pack sections** — each selected pack appends its section (e.g. Vue 3 architecture, Laravel conventions)
188
189
 
189
- ### Sekcje w guidelines
190
+ ### Sections in guidelines
190
191
 
191
- | Sekcja | Co zawiera |
192
- |--------|-----------|
193
- | Project Overview | Nazwa, opis, tech stack |
192
+ | Section | Contents |
193
+ |---------|----------|
194
+ | Project Overview | Name, description, tech stack |
194
195
  | Commands | test, build, lint, CI |
195
- | Commits & Branches | Format commitow, branch naming convention |
196
- | CI Pipeline | Komenda ktora musi przejsc przed PR |
197
- | Forbidden | Czego AI NIE wolno robic bez zgody |
198
- | Testing Strategy | Kiedy unit, integration, E2E, regression |
199
- | Skills | Pointer do `.ai/skills/` |
200
- | Instructions | Pointer do `.ai/instructions/` |
201
- | Context | Pointer do `.ai/context/` |
196
+ | Commits & Branches | Commit format, branch naming convention |
197
+ | CI Pipeline | Command that must pass before PR |
198
+ | Forbidden | What AI must NOT do without approval |
199
+ | Testing Strategy | When to use unit, integration, E2E, regression |
200
+ | Skills | Pointer to `.ai/skills/` |
201
+ | Instructions | Pointer to `.ai/instructions/` |
202
+ | Context | Pointer to `.ai/context/` |
202
203
 
203
204
  ---
204
205
 
205
- ## Skills (krok-po-krok workflow)
206
+ ## Skills (step-by-step workflows)
206
207
 
207
- Skills to gotowe procedury, ktore AI wykonuje krok po kroku. Kazdy skill ma trigger, input, steps i verification checklist.
208
+ Skills are ready-made procedures that AI executes step by step. Each skill has a trigger, input, steps, and verification checklist.
208
209
 
209
- ### Jak uzywac
210
+ ### How to use
210
211
 
211
- Powiedz AI:
212
+ Tell the AI:
212
213
 
213
214
  ```
214
- "Uzywajac skilla smf-new-module, stworz modul uzytkownicy"
215
- "Wykonaj skilla smf-debug dla bledu TypeError w UserService"
216
- "Postepuj wedlug skilla smf-pr-prepare"
217
- "wtf" — szybki status sesji
215
+ "Using skill smf-new-module, create a users module"
216
+ "Run skill smf-debug for the TypeError in UserService"
217
+ "Follow skill smf-pr-prepare"
218
+ "wtf" — quick session status
218
219
  ```
219
220
 
220
- AI przeczyta `SKILL.md` i wykona kroki po kolei.
221
-
222
- Wszystkie skille maja prefix `smf-` (Symfonia). Konfigurator pozwala wybrac checkboxami ktore skille zainstalowac.
223
-
224
- ### Skills bazowe (15 skilli)
225
-
226
- | Skill | Cel | Kiedy uzywac | Wymaga |
227
- |-------|-----|-------------|--------|
228
- | `smf-debug` | Systematyczne debugowanie | Bug, blad, nieoczekiwane zachowanie | — |
229
- | `smf-refactor` | Bezpieczny refactoring | Wydzielanie, upraszczanie, przenoszenie kodu | — |
230
- | `smf-write-tests` | Dodanie testow | Istniejacy kod bez pokrycia testami | — |
231
- | `smf-pr-prepare` | Przygotowanie PR | Przed push — self-review, cleanup, opis | — |
232
- | `smf-hotfix` | Szybka poprawka produkcji | Branch z main, minimalny fix, regression test | — |
233
- | `smf-wtf` | Szybki status sesji | "Gdzie bylem?", resume po przerwie | — |
234
- | `smf-babysit-prs` | Monitoring PRow do review | Cykliczne sprawdzanie nowych PRow | gh CLI |
235
- | `smf-my-prs` | Status wlasnych PRow | Sprawdzenie approvals, komentarzy | gh CLI |
236
- | `smf-pr-dashboard` | Dashboard PRow | Combo babysit-prs + my-prs z loopem | gh CLI |
237
- | `smf-jira-task` | Pelny workflow Jira | Ticket → branch → impl → PR → Jira update | Jira MCP + gh CLI |
238
- | `smf-jira-explorer` | Przegladanie Jira | Sprint, epic, backlog, szukanie, statystyki | Jira MCP |
239
- | `smf-fill-worklogs` | Wypelnianie worklogow | Uzupelnianie godzin na bazie commitow git | Jira MCP |
240
- | `smf-grafana-logs` | Logi z Grafany | Debugowanie prodquery Loki, analiza bledow | Grafana MCP |
241
- | `smf-aws-analysis` | Analiza AWS | Dobor serwisow, architektura, koszty | Context7 MCP |
242
- | `smf-figma-analysis` | Analiza mockupu Figma | Link do selekcji Figma specyfikacja UI | Figma MCP |
243
-
244
- ### Skills Vue 3 + TypeScript (3 skille)
245
-
246
- | Skill | Cel | Kiedy uzywac |
247
- |-------|-----|-------------|
248
- | `smf-new-module` | Nowy modul od zera | types → service → store → composables → views → routes → testy |
249
- | `smf-new-component` | Nowy komponent | Komponent + story + test + data-testid |
250
- | `smf-api-integration` | Podlaczenie do API | types + mapper → service → store → composable → widok |
251
-
252
- ### Skills Laravel + PHP (7 skilli)
253
-
254
- | Skill | Cel | Kiedy uzywac |
255
- |-------|-----|-------------|
256
- | `smf-new-module` | Nowy modul od zera | model → migration → CQRS repos → service → DTO → controller → testy |
257
- | `smf-new-endpoint` | Nowy endpoint API | request → controller → DTO → service → resource → policy → route → testy |
258
- | `smf-migration` | Migracja DB | create/modify table → rollback test → model update → factory |
259
- | `smf-queued-job` | Job / Event / Listener | Job class → retry/backoff → failed handler → idempotentnosctesty |
260
- | `smf-testing-feature` | Testy feature (HTTP/DB) | Konwencje testow feature, delta pattern, data resilience |
261
- | `smf-testing-unit` | Testy jednostkowe | Izolowane testy bez DB, PHPUnit mocks, data providers |
262
- | `smf-testing-manual` | Testy manualne HTTP | JetBrains HTTP Client — pliki `.http` do interaktywnego testowania API |
263
-
264
- ### Skills Playwright (3 skille)
265
-
266
- | Skill | Cel | Kiedy uzywac |
267
- |-------|-----|-------------|
268
- | `smf-playwright` | Nowy test E2E | Page Object → scenariuszasercje |
269
- | `smf-playwright-record` | Nagrywanie testu | codegen → cleanup → Page Object |
270
- | `smf-playwright-codereview` | Review testu E2E | Checklist jakosci testu Playwright |
271
-
272
- ### Tworzenie wlasnego skilla
273
-
274
- 1. Utworz katalog w `.ai/skills/smf-nazwa-skilla/`
275
- 2. Skopiuj szablon: `cp .ai/skills/TEMPLATE.md .ai/skills/smf-nazwa-skilla/SKILL.md`
276
- 3. Wypelnij sekcje: Trigger, Input, Steps, Verification checklist
277
- 4. Jesli uzywasz Copilot, skopiuj do `.github/skills/`
221
+ AI reads `SKILL.md` and executes the steps sequentially.
222
+
223
+ All skills have the `smf-` prefix (Symfonia). The configurator lets you choose which skills to install with checkboxes.
224
+
225
+ ### Base skills (15 skills)
226
+
227
+ | Skill | Purpose | When to use | Requires |
228
+ |-------|---------|-------------|----------|
229
+ | `smf-debug` | Systematic debugging | Bug, error, unexpected behavior | — |
230
+ | `smf-refactor` | Safe refactoring | Extracting, simplifying, moving code | — |
231
+ | `smf-write-tests` | Adding tests | Existing code without test coverage | — |
232
+ | `smf-pr-prepare` | PR preparation | Before push — self-review, cleanup, description | — |
233
+ | `smf-hotfix` | Quick production fix | Branch from main, minimal fix, regression test | — |
234
+ | `smf-wtf` | Quick session status | "Where was I?", resume after break | — |
235
+ | `smf-babysit-prs` | PR review monitoring | Periodic checking for new PRs to review | gh CLI |
236
+ | `smf-my-prs` | Own PR status | Check approvals, comments | gh CLI |
237
+ | `smf-pr-dashboard` | PR dashboard | Combo babysit-prs + my-prs with loop | gh CLI |
238
+ | `smf-jira-task` | Full Jira workflow | Ticket → branch → impl → PR → Jira update | Jira MCP + gh CLI |
239
+ | `smf-jira-explorer` | Browse Jira | Sprint, epic, backlog, search, statistics | Jira MCP |
240
+ | `smf-fill-worklogs` | Fill worklogs | Populate hours based on git commits | Jira MCP |
241
+ | `smf-grafana-logs` | Grafana logs | Production debuggingLoki queries, error analysis | Grafana MCP |
242
+ | `smf-aws-analysis` | AWS analysis | Service selection, architecture, costs | Context7 MCP |
243
+ | `smf-figma-analysis` | Figma mockup analysis | Figma selection link → UI specification | Figma MCP |
244
+
245
+ ### Vue 3 + TypeScript skills (3 skills)
246
+
247
+ | Skill | Purpose | When to use |
248
+ |-------|---------|-------------|
249
+ | `smf-new-module` | New module from scratch | types → service → store → composables → views → routes → tests |
250
+ | `smf-new-component` | New component | Component + story + test + data-testid |
251
+ | `smf-api-integration` | API integration | types + mapper → service → store → composable → view |
252
+
253
+ ### Laravel + PHP skills (7 skills)
254
+
255
+ | Skill | Purpose | When to use |
256
+ |-------|---------|-------------|
257
+ | `smf-new-module` | New module from scratch | model → migration → CQRS repos → service → DTO → controller → tests |
258
+ | `smf-new-endpoint` | New API endpoint | request → controller → DTO → service → resource → policy → route → tests |
259
+ | `smf-migration` | DB migration | create/modify table → rollback test → model update → factory |
260
+ | `smf-queued-job` | Job / Event / Listener | Job class → retry/backoff → failed handler → idempotencytests |
261
+ | `smf-testing-feature` | Feature tests (HTTP/DB) | Feature test conventions, delta pattern, data resilience |
262
+ | `smf-testing-unit` | Unit tests | Isolated tests without DB, PHPUnit mocks, data providers |
263
+ | `smf-testing-manual` | Manual HTTP tests | JetBrains HTTP Client — `.http` files for interactive API testing |
264
+
265
+ ### Playwright skills (3 skills)
266
+
267
+ | Skill | Purpose | When to use |
268
+ |-------|---------|-------------|
269
+ | `smf-playwright` | New E2E test | Page Object → scenarioassertions |
270
+ | `smf-playwright-record` | Record test | codegen → cleanup → Page Object |
271
+ | `smf-playwright-codereview` | E2E test review | Playwright test quality checklist |
272
+
273
+ ### Creating your own skill
274
+
275
+ 1. Create a directory in `.ai/skills/smf-your-skill/`
276
+ 2. Copy the template: `cp .ai/skills/TEMPLATE.md .ai/skills/smf-your-skill/SKILL.md`
277
+ 3. Fill in sections: Trigger, Input, Steps, Verification checklist
278
+ 4. If using Copilot, copy to `.github/skills/`
278
279
 
279
280
  ---
280
281
 
281
- ## Prompts (reusable prompty)
282
+ ## Prompts (reusable prompts)
282
283
 
283
- Prompty to gotowe polecenia dla AI do wykonania zlozonych zadan jednym wywolaniem.
284
+ Prompts are ready-made commands for AI to execute complex tasks in a single invocation.
284
285
 
285
- ### Dostepne prompty
286
+ ### Available prompts
286
287
 
287
- | Prompt | Cel | Jak uzyc |
288
- |--------|-----|----------|
289
- | `codereview.prompt.md` | Kompleksowy code review brancha | "Wykonaj code review wg `.ai/prompts/codereview.prompt.md`" |
290
- | `security-review.prompt.md` | Audyt bezpieczenstwa (OWASP Top 10) | "Wykonaj security review wg `.ai/prompts/security-review.prompt.md`" |
291
- | `duplicate-code-analysis.prompt.md` | Wykrywanie duplikatow kodu | "Znajdz duplikaty wg `.ai/prompts/duplicate-code-analysis.prompt.md`" |
288
+ | Prompt | Purpose | How to use |
289
+ |--------|---------|------------|
290
+ | `codereview.prompt.md` | Comprehensive branch code review | "Run code review per `.ai/prompts/codereview.prompt.md`" |
291
+ | `security-review.prompt.md` | Security audit (OWASP Top 10) | "Run security review per `.ai/prompts/security-review.prompt.md`" |
292
+ | `duplicate-code-analysis.prompt.md` | Code duplication detection | "Find duplicates per `.ai/prompts/duplicate-code-analysis.prompt.md`" |
292
293
 
293
- ### Uzycie w roznych narzedziach
294
+ ### Usage across tools
294
295
 
295
296
  **Claude Code:**
296
297
  ```
297
- Przeczytaj .ai/prompts/codereview.prompt.md i wykonaj review tego brancha
298
+ Read .ai/prompts/codereview.prompt.md and review this branch
298
299
  ```
299
300
 
300
301
  **GitHub Copilot Chat:**
301
302
  ```
302
- @workspace Wykonaj code review zgodnie z .github/prompts/codereview.prompt.md
303
+ @workspace Run code review per .github/prompts/codereview.prompt.md
303
304
  ```
304
305
 
305
306
  ---
306
307
 
307
- ## Serwery MCP
308
+ ## MCP Servers
308
309
 
309
- MCP (Model Context Protocol) pozwala AI na komunikacje z zewnetrznymi systemami.
310
+ MCP (Model Context Protocol) allows AI to communicate with external systems.
310
311
 
311
- | Serwer | Do czego | Wymaga tokena |
312
- |--------|----------|---------------|
313
- | **Jira Cloud** | Pobieranie ticketow do kontekstu AI | Tak |
314
- | **Bitbucket Cloud** | Integracja z repozytorium | Tak |
315
- | **Figma** | Analiza mockupow UI | Tak |
316
- | **Grafana** | Logi aplikacji (Loki) | Tak |
317
- | **Context7** | Dokumentacja bibliotek | Nie |
312
+ | Server | Purpose | Requires token |
313
+ |--------|---------|----------------|
314
+ | **Jira Cloud** | Fetch tickets for AI context | Yes |
315
+ | **Bitbucket Cloud** | Repository integration | Yes |
316
+ | **Figma** | UI mockup analysis | Yes |
317
+ | **Grafana** | Application logs (Loki) | Yes |
318
+ | **Context7** | Library documentation | No |
318
319
 
319
- ### Gdzie wygenerowac tokeny
320
+ ### Where to generate tokens
320
321
 
321
- | Serwis | Link |
322
- |--------|------|
322
+ | Service | Link |
323
+ |---------|------|
323
324
  | Jira API Token | https://id.atlassian.com/manage-profile/security/api-tokens |
324
325
  | Bitbucket App Password | https://bitbucket.org/account/settings/app-passwords/ |
325
326
  | Figma Access Token | Figma → Settings → Personal access tokens |
@@ -327,10 +328,10 @@ MCP (Model Context Protocol) pozwala AI na komunikacje z zewnetrznymi systemami.
327
328
 
328
329
  ### MCP pre-selection
329
330
 
330
- Skille deklaruja wymagane serwery MCP. Gdy wybierzesz np. `smf-jira-task`, Jira Cloud zostanie automatycznie zaznaczony w kroku MCP z informacja ktore skille go wymagaja.
331
+ Skills declare required MCP servers. When you select e.g. `smf-jira-task`, Jira Cloud will be automatically checked in the MCP step with information about which skills require it.
331
332
 
332
- | Skill | Wymaga MCP |
333
- |-------|-----------|
333
+ | Skill | Requires MCP |
334
+ |-------|-------------|
334
335
  | `smf-jira-task`, `smf-jira-explorer`, `smf-fill-worklogs` | Jira Cloud |
335
336
  | `smf-grafana-logs` | Grafana |
336
337
  | `smf-aws-analysis` | Context7 |
@@ -338,66 +339,66 @@ Skille deklaruja wymagane serwery MCP. Gdy wybierzesz np. `smf-jira-task`, Jira
338
339
 
339
340
  ### Auto-detect
340
341
 
341
- Konfigurator automatycznie wykrywa z repozytorium git:
342
- - **Platforme** — GitHub / Bitbucket / GitLab (z `git remote`)
343
- - **JIRA prefix** — z nazw branchy (np. `feature/PROJ-123` → `PROJ`)
342
+ The configurator automatically detects from the git repository:
343
+ - **Platform** — GitHub / Bitbucket / GitLab (from `git remote`)
344
+ - **JIRA prefix** — from branch names (e.g. `feature/PROJ-123` → `PROJ`)
344
345
  - **Base branch** — develop / main / master
345
346
 
346
- Wykryte wartosci sa proponowane jako domyslnemozesz je zmienic.
347
+ Detected values are suggested as defaultsyou can change them.
347
348
 
348
- ### Konfiguracja automatyczna
349
+ ### Automatic configuration
349
350
 
350
- Instalator automatycznie:
351
- - Zapisuje config do `.claude/settings.local.json` i `.cursor/mcp.json`
352
- - Rejestruje serwery w Claude CLI (`claude mcp add -s project`)
353
- - Weryfikacja: `claude mcp list`
351
+ The installer automatically:
352
+ - Saves config to `.claude/settings.local.json` and `.cursor/mcp.json`
353
+ - Registers servers in Claude CLI (`claude mcp add -s project`)
354
+ - Verification: `claude mcp list`
354
355
 
355
356
  ---
356
357
 
357
358
  ## GSD (Get Shit Done)
358
359
 
359
- GSD to system do strukturyzacji pracy z AI planowanie, wykonanie i weryfikacja w powtarzalnym procesie.
360
+ GSD is a system for structuring AI workplanning, execution, and verification in a repeatable process.
360
361
 
361
- ### Dlaczego wymagany
362
+ ### Why it's required
362
363
 
363
- - Zapobiega **context rot** (degradacji jakosci AI po dlugiej sesji)
364
- - Strukturyzuje prace w fazy z checkpointami
365
- - Automatycznie mapuje codebase w istniejacych projektach
364
+ - Prevents **context rot** (AI quality degradation during long sessions)
365
+ - Structures work into phases with checkpoints
366
+ - Automatically maps the codebase in existing projects
366
367
 
367
- ### Instalacja
368
+ ### Installation
368
369
 
369
370
  ```bash
370
371
  npx get-shit-done-cc@latest
371
372
  ```
372
373
 
373
- ### Kluczowe komendy
374
+ ### Key commands
374
375
 
375
- | Komenda | Cel |
376
- |---------|-----|
377
- | `/gsd-new-project` | Inicjalizacja projektu |
378
- | `/gsd-plan-phase` | Planowanie fazy |
379
- | `/gsd-execute-phase` | Wykonanie |
380
- | `/gsd-verify-work` | Weryfikacja UAT |
381
- | `/gsd-progress` | Status i nastepne kroki |
382
- | `/gsd-debug` | Systematyczny debugging |
383
- | `/gsd-map-codebase` | Mapowanie istniejacego kodu |
376
+ | Command | Purpose |
377
+ |---------|---------|
378
+ | `/gsd-new-project` | Project initialization |
379
+ | `/gsd-plan-phase` | Phase planning |
380
+ | `/gsd-execute-phase` | Execution |
381
+ | `/gsd-verify-work` | UAT verification |
382
+ | `/gsd-progress` | Status and next steps |
383
+ | `/gsd-debug` | Systematic debugging |
384
+ | `/gsd-map-codebase` | Existing code mapping |
384
385
 
385
386
  ---
386
387
 
387
- ## Struktura zainstalowanych plikow
388
+ ## Installed file structure
388
389
 
389
390
  ```
390
- projekt/
391
+ project/
391
392
  ├── .ai/
392
- │ ├── guidelines.md # Source of truth (header + wybrane pakiety)
393
- │ ├── instructions/ # Kontekstowe instrukcje (applyTo)
393
+ │ ├── guidelines.md # Source of truth (header + selected packs)
394
+ │ ├── instructions/ # Contextual instructions (applyTo)
394
395
  │ │ ├── vue.instructions.md
395
396
  │ │ └── ...
396
- │ ├── prompts/ # Reusable prompty
397
+ │ ├── prompts/ # Reusable prompts
397
398
  │ │ ├── codereview.prompt.md
398
399
  │ │ ├── security-review.prompt.md
399
400
  │ │ └── duplicate-code-analysis.prompt.md
400
- │ ├── skills/ # Workflow skille
401
+ │ ├── skills/ # Workflow skills
401
402
  │ │ ├── smf-debug/SKILL.md
402
403
  │ │ ├── smf-refactor/SKILL.md
403
404
  │ │ ├── smf-write-tests/SKILL.md
@@ -414,16 +415,16 @@ projekt/
414
415
  │ │ ├── smf-aws-analysis/SKILL.md
415
416
  │ │ ├── smf-figma-analysis/SKILL.md
416
417
  │ │ └── [smf-pack-specific]/SKILL.md
417
- │ └── context/ # Kontekst projektowy
418
- │ └── README.md # (tu dodaj architecture.md, api-spec.md, etc.)
418
+ │ └── context/ # Project context
419
+ │ └── README.md # (add architecture.md, api-spec.md, etc. here)
419
420
  ├── .claude/
420
421
  │ └── settings.local.json # Permissions (allow/deny) + MCP servers
421
422
  ├── .github/
422
423
  │ ├── copilot-instructions.md # Pointer → .ai/guidelines.md
423
- │ ├── pull_request_template.md # Szablon PR
424
- │ ├── instructions/ # Mirror z .ai/instructions/
425
- │ ├── prompts/ # Mirror z .ai/prompts/
426
- │ └── skills/ # Mirror z .ai/skills/
424
+ │ ├── pull_request_template.md # PR template
425
+ │ ├── instructions/ # Mirror from .ai/instructions/
426
+ │ ├── prompts/ # Mirror from .ai/prompts/
427
+ │ └── skills/ # Mirror from .ai/skills/
427
428
  ├── .cursor/
428
429
  │ ├── rules/global.mdc # Pointer → .ai/guidelines.md
429
430
  │ └── mcp.json # MCP servers
@@ -431,101 +432,102 @@ projekt/
431
432
  │ └── settings.json # Pointer → .ai/guidelines.md
432
433
  ├── .junie/
433
434
  │ └── guidelines.md # Pointer → .ai/guidelines.md
434
- ├── .editorconfig # Formatowanie (utf-8, lf, spaces)
435
- ├── .gitignore # Pre-konfigurowany (AI tokeny, .env)
435
+ ├── .editorconfig # Formatting (utf-8, lf, spaces)
436
+ ├── .gitignore # Pre-configured (AI tokens, .env)
436
437
  ├── CLAUDE.md # Claude Code entry point
437
438
  └── commit-instructions.md # Commit conventions + branch naming
438
439
  ```
439
440
 
440
- > **Mirror**: `.ai/instructions/`, `.ai/prompts/` i `.ai/skills/` sa automatycznie kopiowane do `.github/` jesli wybrany jest GitHub Copilot.
441
+ > **Mirror**: `.ai/instructions/`, `.ai/prompts/`, and `.ai/skills/` are automatically copied to `.github/` if GitHub Copilot is selected.
441
442
 
442
443
  ---
443
444
 
444
- ## Rozwoj pakietu
445
+ ## Package development
445
446
 
446
- ### Dodanie nowego packa
447
+ ### Adding a new pack
447
448
 
448
- 1. Utworz `templates/packs/nazwa-packa/`
449
- 2. Dodaj `pack.json`:
449
+ 1. Create `templates/packs/pack-name/`
450
+ 2. Add `pack.json`:
450
451
  ```json
451
452
  {
452
- "name": "Nazwa Packa",
453
- "description": "Opis co zawiera",
453
+ "name": "Pack Name",
454
+ "description": "What it contains",
454
455
  "default": false,
455
456
  "placeholders": {
456
457
  "MY_PLACEHOLDER": {
457
- "question": "Pytanie wyswietlane uzytkownikowi",
458
- "default": "wartosc domyslna"
458
+ "question": "Question displayed to user (Polish)",
459
+ "question_en": "Question displayed to user (English)",
460
+ "default": "default value"
459
461
  }
460
462
  }
461
463
  }
462
464
  ```
463
- 3. Dodaj instrukcje w `_ai/instructions/` (z frontmatter `applyTo`)
464
- 4. Dodaj skille w `_ai/skills/`
465
- 5. Opcjonalnie dodaj `_guidelines.md` — sekcja dolaczana do guidelines.md
466
-
467
- ### Dodanie nowego skilla
468
-
469
- 1. Utworz `templates/[base|packs/pack]/_ai/skills/nazwa/SKILL.md`
470
- 2. Uzyj struktury: Trigger → Input → Steps → Verification checklist
471
- 3. Uzywaj `{{PLACEHOLDER}}` dla wartosci zastepowanych podczas instalacji
472
-
473
- ### Dostepne placeholdery
474
-
475
- | Placeholder | Opis |
476
- |-------------|------|
477
- | `{{PROJECT_NAME}}` | Nazwa projektu |
478
- | `{{PROJECT_DESCRIPTION}}` | Krotki opis projektu |
479
- | `{{TECH_STACK}}` | Tech stack (wolny tekst) |
480
- | `{{CI_COMMAND}}` | Komenda CI (wszystkie checki) |
481
- | `{{MODULE_PATH}}` | Sciezka do modulow |
482
- | `{{COMPONENT_LIB_PATH}}` | Sciezka do komponentow UI |
483
- | `{{COMPONENT_LIB_IMPORT}}` | Import komponentow |
484
- | `{{API_BASE_URL}}` | Bazowy URL API |
485
- | `{{TEST_COMMAND}}` | Komenda testow |
486
- | `{{BUILD_COMMAND}}` | Komenda builda |
487
- | `{{LINT_COMMAND}}` | Komenda lintera |
488
- | `{{DOCKER_CONTAINER}}` | Nazwa kontenera Docker |
489
- | `{{JIRA_PREFIX}}` | Prefix taskow JIRA |
490
- | `{{PLAYWRIGHT_DIR}}` | Katalog Playwright |
491
- | `{{BASE_URL}}` | Base URL aplikacji |
492
-
493
- ### Struktura templates
465
+ 3. Add instructions in `_ai/instructions/` (with `applyTo` frontmatter)
466
+ 4. Add skills in `_ai/skills/`
467
+ 5. Optionally add `_guidelines.md` — section appended to guidelines.md
468
+
469
+ ### Adding a new skill
470
+
471
+ 1. Create `templates/[base|packs/pack]/_ai/skills/name/SKILL.md`
472
+ 2. Use the structure: Trigger → Input → Steps → Verification checklist
473
+ 3. Use `{{PLACEHOLDER}}` for values replaced during installation
474
+
475
+ ### Available placeholders
476
+
477
+ | Placeholder | Description |
478
+ |-------------|-------------|
479
+ | `{{PROJECT_NAME}}` | Project name |
480
+ | `{{PROJECT_DESCRIPTION}}` | Short project description |
481
+ | `{{TECH_STACK}}` | Tech stack (free text) |
482
+ | `{{CI_COMMAND}}` | CI command (all checks) |
483
+ | `{{MODULE_PATH}}` | Modules path |
484
+ | `{{COMPONENT_LIB_PATH}}` | UI components path |
485
+ | `{{COMPONENT_LIB_IMPORT}}` | Components import path |
486
+ | `{{API_BASE_URL}}` | API base URL |
487
+ | `{{TEST_COMMAND}}` | Test command |
488
+ | `{{BUILD_COMMAND}}` | Build command |
489
+ | `{{LINT_COMMAND}}` | Lint command |
490
+ | `{{DOCKER_CONTAINER}}` | Docker container name |
491
+ | `{{JIRA_PREFIX}}` | JIRA task prefix |
492
+ | `{{PLAYWRIGHT_DIR}}` | Playwright directory |
493
+ | `{{BASE_URL}}` | Application base URL |
494
+
495
+ ### Templates structure
494
496
 
495
497
  ```
496
498
  templates/
497
- ├── base/ # Wspolne dla wszystkich pakietow
499
+ ├── base/ # Shared across all packs
498
500
  │ ├── CLAUDE.md
499
501
  │ ├── commit-instructions.md
500
502
  │ ├── _gitignore # → .gitignore
501
503
  │ ├── _editorconfig # → .editorconfig
502
504
  │ ├── _ai/ # → .ai/
503
- │ │ ├── _guidelines_header.md # Naglowek guidelines
504
- │ │ ├── context/ # Kontekst projektowy
505
- │ │ ├── prompts/ # codereview, security-review, figma, duplicates
506
- │ │ └── skills/ # 15 skilli bazowych (smf-*)
505
+ │ │ ├── _guidelines_header.md # Guidelines header
506
+ │ │ ├── context/ # Project context
507
+ │ │ ├── prompts/ # codereview, security-review, duplicates
508
+ │ │ └── skills/ # 15 base skills (smf-*)
507
509
  │ ├── _claude/ # → .claude/ (permissions + deny)
508
510
  │ ├── _github/ # → .github/ (copilot pointer + PR template)
509
511
  │ ├── _cursor/ # → .cursor/
510
512
  │ ├── _gemini/ # → .gemini/
511
513
  │ └── _junie/ # → .junie/
512
514
  └── packs/
513
- ├── vue3/ # 6 instr. · 3 skille
515
+ ├── vue3/ # 6 instr. · 3 skills
514
516
  │ ├── pack.json
515
- │ ├── _guidelines.md # Sekcja dolaczana do guidelines
517
+ │ ├── _guidelines.md # Section appended to guidelines
516
518
  │ └── _ai/instructions/
517
519
  ├── vitest/ # 1 instr.
518
520
  ├── storybook/ # 1 instr.
519
- ├── laravel/ # 4 instr. · 7 skilli
520
- ├── playwright/ # 1 instr. · 3 skille
521
+ ├── laravel/ # 4 instr. · 7 skills
522
+ ├── playwright/ # 1 instr. · 3 skills
521
523
  └── docker/ # 1 instr.
522
524
  ```
523
525
 
524
- > Katalogi z prefixem `_` sa zamieniane na `.` podczas instalacji.
525
- > Katalogi per narzedzie (`_claude/`, `_github/`, etc.) sa kopiowane tylko jesli to narzedzie zostalo wybrane.
526
+ > Directories with `_` prefix are converted to `.` during installation.
527
+ > Per-tool directories (`_claude/`, `_github/`, etc.) are only copied if the tool is selected.
526
528
 
527
529
  ---
528
530
 
529
- ## Licencja
531
+ ## License
530
532
 
531
533
  MIT
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "symfonia-ai-tools",
3
- "version": "1.4.2",
3
+ "version": "1.5.0",
4
4
  "description": "AI tooling setup for your project - Claude Code, GitHub Copilot, Cursor, Gemini, Junie, GSD",
5
5
  "type": "module",
6
6
  "bin": {