@thiagodiogo/pscode 1.0.0 → 2.0.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/README.md +2 -2
- package/bin/pscode.js +0 -0
- package/dist/cli/index.js +6 -7
- package/dist/commands/config.d.ts +4 -12
- package/dist/commands/config.js +69 -242
- package/dist/core/change-metadata/schema.d.ts +1 -0
- package/dist/core/change-metadata/schema.js +1 -0
- package/dist/core/{archive.d.ts → complete.d.ts} +2 -3
- package/dist/core/{archive.js → complete.js} +63 -64
- package/dist/core/completions/command-registry.js +5 -9
- package/dist/core/config-schema.d.ts +1 -5
- package/dist/core/config-schema.js +2 -5
- package/dist/core/global-config.d.ts +1 -3
- package/dist/core/global-config.js +1 -1
- package/dist/core/init.d.ts +2 -0
- package/dist/core/init.js +81 -21
- package/dist/core/jira-transition.d.ts +16 -0
- package/dist/core/jira-transition.js +29 -0
- package/dist/core/migration.d.ts +3 -12
- package/dist/core/migration.js +10 -72
- package/dist/core/presets/dixi.d.ts +32 -0
- package/dist/core/presets/dixi.js +405 -0
- package/dist/core/profile-sync-drift.js +9 -2
- package/dist/core/profiles.d.ts +23 -21
- package/dist/core/profiles.js +28 -25
- package/dist/core/shared/skill-generation.js +3 -5
- package/dist/core/shared/tool-detection.d.ts +2 -2
- package/dist/core/shared/tool-detection.js +1 -3
- package/dist/core/templates/skill-templates.d.ts +1 -2
- package/dist/core/templates/skill-templates.js +1 -2
- package/dist/core/templates/workflows/apply-change.js +3 -3
- package/dist/core/templates/workflows/archive-change.d.ts +2 -2
- package/dist/core/templates/workflows/archive-change.js +10 -10
- package/dist/core/templates/workflows/onboard.js +9 -9
- package/dist/core/update.d.ts +1 -6
- package/dist/core/update.js +5 -29
- package/dist/core/workspace/foundation.d.ts +1 -1
- package/dist/core/workspace/foundation.js +1 -1
- package/dist/core/workspace/legacy-state.js +1 -1
- package/dist/core/workspace/skills.d.ts +4 -3
- package/dist/core/workspace/skills.js +3 -3
- package/package.json +21 -22
- package/pscode/content/dixi/architectures/feature-sliced-react/eslint-architecture.mjs.template +44 -0
- package/pscode/content/dixi/architectures/feature-sliced-react/features/README.md.template +30 -0
- package/pscode/content/dixi/architectures/feature-sliced-react/skeleton.yaml +8 -0
- package/pscode/content/dixi/architectures/hexagonal-spring/ArchitectureTest.java.template +41 -0
- package/pscode/content/dixi/architectures/hexagonal-spring/skeleton.yaml +11 -0
- package/pscode/content/dixi/claude-runtime/CLAUDE.md.java.template +62 -0
- package/pscode/content/dixi/claude-runtime/CLAUDE.md.react.template +74 -0
- package/pscode/content/dixi/claude-runtime/commands/adr.md +75 -0
- package/pscode/content/dixi/claude-runtime/commands/arch-check.md +64 -0
- package/pscode/content/dixi/claude-runtime/commands/dod.md +66 -0
- package/pscode/content/dixi/claude-runtime/commands/jira-draft.md +80 -0
- package/pscode/content/dixi/claude-runtime/commands/jira-setup.md +105 -0
- package/pscode/content/dixi/claude-runtime/commands/jira-sync.md +69 -0
- package/pscode/content/dixi/claude-runtime/commands/rfc.md +73 -0
- package/pscode/content/dixi/claude-runtime/hooks/arch-guard.mjs +101 -0
- package/pscode/content/dixi/claude-runtime/hooks/jira-context.mjs +60 -0
- package/pscode/content/dixi/claude-runtime/skills/pstld-arch-guardian.md +101 -0
- package/pscode/content/dixi/claude-runtime/skills/pstld-commit-crafter.md +98 -0
- package/pscode/content/dixi/claude-runtime/skills/pstld-jira-context.md +64 -0
- package/pscode/content/dixi/context/java/architecture.md +143 -0
- package/pscode/content/dixi/context/java/naming.md +62 -0
- package/pscode/content/dixi/context/java/testing.md +162 -0
- package/pscode/content/dixi/context/react/architecture.md +119 -0
- package/pscode/content/dixi/context/react/naming.md +129 -0
- package/pscode/content/dixi/context/react/testing.md +141 -0
- package/pscode/content/dixi/context/shared/commits.md +47 -0
- package/pscode/content/dixi/context/shared/dev-flow.md +53 -0
- package/pscode/content/dixi/context/shared/dod.md +38 -0
- package/pscode/content/dixi/context/shared/pr-flow.md +53 -0
- package/pscode/content/dixi/kit/java/.editorconfig +25 -0
- package/pscode/content/dixi/kit/java/.github/workflows/ci-java.yml +68 -0
- package/pscode/content/dixi/kit/java/.husky/commit-msg +2 -0
- package/pscode/content/dixi/kit/react/.editorconfig +20 -0
- package/pscode/content/dixi/kit/react/.github/workflows/ci-react.yml +80 -0
- package/pscode/content/dixi/kit/react/.husky/commit-msg +2 -0
- package/pscode/content/dixi/kit/react/.husky/pre-commit +2 -0
- package/pscode/content/dixi/kit/react/lint-staged.config.mjs +4 -0
- package/pscode/content/dixi/kit/shared/.commitlintrc.yml +15 -0
- package/pscode/content/dixi/kit/shared/.github/pull_request_template.md +24 -0
- package/schemas/pstld-workflow/schema.yaml +67 -0
- package/schemas/pstld-workflow/templates/design.md +15 -0
- package/schemas/pstld-workflow/templates/rfc.md +26 -0
- package/schemas/pstld-workflow/templates/tasks.md +15 -0
- package/dist/core/templates/workflows/sync-specs.d.ts +0 -10
- package/dist/core/templates/workflows/sync-specs.js +0 -290
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
# Fluxo de Desenvolvimento
|
|
2
|
+
|
|
3
|
+
## Visão geral
|
|
4
|
+
|
|
5
|
+
```
|
|
6
|
+
RFC → Design → Tasks → Apply → Revisão → Deploy
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
Use `/pstld:rfc` para iniciar o fluxo, `/pstld:dod` para validar antes de abrir o PR.
|
|
10
|
+
|
|
11
|
+
## Quando criar RFC
|
|
12
|
+
|
|
13
|
+
Crie uma RFC quando a mudança:
|
|
14
|
+
|
|
15
|
+
- Afeta a arquitetura de um módulo ou a interface entre módulos
|
|
16
|
+
- Introduz uma nova dependência externa
|
|
17
|
+
- Muda o contrato de uma API pública
|
|
18
|
+
- Demora mais de 1 dia de implementação
|
|
19
|
+
|
|
20
|
+
Vá direto para task quando:
|
|
21
|
+
|
|
22
|
+
- É um bug fix isolado com causa clara
|
|
23
|
+
- É uma tarefa mecânica sem impacto arquitetural (atualização de cópia, ajuste de estilo, etc.)
|
|
24
|
+
- É uma task de refactor de escopo delimitado aprovada previamente
|
|
25
|
+
|
|
26
|
+
## Fase RFC
|
|
27
|
+
|
|
28
|
+
1. Use `/pstld:rfc` para gerar o rascunho da RFC
|
|
29
|
+
2. A RFC deve conter: contexto, problema, solução proposta, alternativas consideradas, trade-offs
|
|
30
|
+
3. Solicite revisão dos tech leads antes de avançar
|
|
31
|
+
4. RFC aprovada → avançar para Design
|
|
32
|
+
|
|
33
|
+
## Fase Design
|
|
34
|
+
|
|
35
|
+
1. Use `/ps:propose` para gerar o design e as specs
|
|
36
|
+
2. O design deve ser revisado antes de iniciar a implementação
|
|
37
|
+
3. Specs descrevem comportamento esperado (não implementação)
|
|
38
|
+
|
|
39
|
+
## Fase Tasks + Apply
|
|
40
|
+
|
|
41
|
+
1. Use `/ps:apply` para iniciar a implementação
|
|
42
|
+
2. Marque cada task como concluída ao terminar
|
|
43
|
+
3. Mantenha o escopo — não adicione tarefas não planejadas sem atualizar o design
|
|
44
|
+
|
|
45
|
+
## Validação antes do PR
|
|
46
|
+
|
|
47
|
+
Execute `/pstld:dod` para verificar o DoD antes de abrir o PR.
|
|
48
|
+
|
|
49
|
+
O slash command verifica automaticamente:
|
|
50
|
+
- Testes passando
|
|
51
|
+
- Cobertura mantida
|
|
52
|
+
- Ticket JIRA referenciado nos commits
|
|
53
|
+
- Checklist de DoD completo
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# Definition of Done
|
|
2
|
+
|
|
3
|
+
## Feature
|
|
4
|
+
|
|
5
|
+
Uma feature está pronta quando:
|
|
6
|
+
|
|
7
|
+
- [ ] RFC aprovada pelos tech leads (quando mudança significativa)
|
|
8
|
+
- [ ] Design revisado e aceito antes da implementação
|
|
9
|
+
- [ ] Todas as tasks do `/ps:apply` marcadas como concluídas
|
|
10
|
+
- [ ] Testes passando (unitários, integração e E2E conforme pirâmide)
|
|
11
|
+
- [ ] Cobertura de testes mantida ou melhorada
|
|
12
|
+
- [ ] PR aprovado por pelo menos 1 revisor
|
|
13
|
+
- [ ] CHANGELOG ou changeset atualizado
|
|
14
|
+
- [ ] Ticket JIRA movido para "Em Teste"
|
|
15
|
+
|
|
16
|
+
## Bug Fix
|
|
17
|
+
|
|
18
|
+
Um bug fix está pronto quando:
|
|
19
|
+
|
|
20
|
+
- [ ] Root cause identificado e documentado no PR ou ticket JIRA
|
|
21
|
+
- [ ] Teste de regressão adicionado que reproduz o bug antes da correção
|
|
22
|
+
- [ ] Correção implementada e testes passando
|
|
23
|
+
- [ ] PR aprovado por pelo menos 1 revisor
|
|
24
|
+
- [ ] Ticket JIRA movido para "Em Teste"
|
|
25
|
+
|
|
26
|
+
## Refactor
|
|
27
|
+
|
|
28
|
+
Um refactor está pronto quando:
|
|
29
|
+
|
|
30
|
+
- [ ] Comportamento externo preservado (testes existentes continuam passando sem modificação)
|
|
31
|
+
- [ ] Cobertura de testes mantida ou melhorada
|
|
32
|
+
- [ ] Nenhuma lógica de negócio foi alterada (se houver, deve virar um `feat` ou `fix`)
|
|
33
|
+
- [ ] PR aprovado por pelo menos 1 revisor
|
|
34
|
+
- [ ] Sem regressões em funcionalidades adjacentes
|
|
35
|
+
|
|
36
|
+
## Critério de "Em Produção"
|
|
37
|
+
|
|
38
|
+
O ciclo só fecha quando a feature ou fix está deployada e monitorada por pelo menos 24h sem alertas.
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
# Fluxo de Pull Request
|
|
2
|
+
|
|
3
|
+
## Template de PR
|
|
4
|
+
|
|
5
|
+
```markdown
|
|
6
|
+
## O que muda
|
|
7
|
+
<!-- Descreva de forma concisa o que este PR altera -->
|
|
8
|
+
|
|
9
|
+
## Por que
|
|
10
|
+
<!-- Explique a motivação. Referencie o ticket JIRA: [PROJ-123] -->
|
|
11
|
+
|
|
12
|
+
## Como testar
|
|
13
|
+
<!-- Passo a passo para o revisor validar manualmente -->
|
|
14
|
+
1.
|
|
15
|
+
2.
|
|
16
|
+
3.
|
|
17
|
+
|
|
18
|
+
## Checklist
|
|
19
|
+
- [ ] Testes adicionados/atualizados
|
|
20
|
+
- [ ] Cobertura mantida ou melhorada
|
|
21
|
+
- [ ] DoD verificado (`/pstld:dod`)
|
|
22
|
+
- [ ] Sem TODOs temporários deixados no código
|
|
23
|
+
- [ ] Documentação atualizada (se aplicável)
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
## Referenciando tickets JIRA
|
|
27
|
+
|
|
28
|
+
- Inclua `[PROJ-123]` no título do PR
|
|
29
|
+
- Use `Closes PROJ-123` ou `Refs PROJ-123` na descrição quando a integração JIRA estiver configurada
|
|
30
|
+
- O ticket deve estar em "Em Revisão" quando o PR for aberto
|
|
31
|
+
|
|
32
|
+
## Processo de revisão
|
|
33
|
+
|
|
34
|
+
1. Abra o PR apontando para a branch de destino (geralmente `main` ou `develop`)
|
|
35
|
+
2. Solicite revisão de pelo menos 1 membro do time
|
|
36
|
+
3. Responda todos os comentários antes de fazer merge
|
|
37
|
+
4. Após aprovação, faça squash merge ou merge commit conforme a convenção do projeto
|
|
38
|
+
|
|
39
|
+
## Critérios de merge
|
|
40
|
+
|
|
41
|
+
Um PR pode ser mergeado quando:
|
|
42
|
+
|
|
43
|
+
- CI passou (build, lint, testes, cobertura)
|
|
44
|
+
- Pelo menos 1 aprovação de revisor
|
|
45
|
+
- Todos os comentários resolvidos
|
|
46
|
+
- Sem conflitos com a branch de destino
|
|
47
|
+
- DoD verificado
|
|
48
|
+
|
|
49
|
+
## Tamanho ideal de PR
|
|
50
|
+
|
|
51
|
+
Prefira PRs com menos de 400 linhas modificadas. PRs grandes aumentam o tempo de revisão e o risco de bugs passarem despercebidos.
|
|
52
|
+
|
|
53
|
+
Se o PR estiver muito grande, considere quebrá-lo em partes menores com dependência sequencial.
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
root = true
|
|
2
|
+
|
|
3
|
+
[*]
|
|
4
|
+
charset = utf-8
|
|
5
|
+
end_of_line = lf
|
|
6
|
+
insert_final_newline = true
|
|
7
|
+
trim_trailing_whitespace = true
|
|
8
|
+
|
|
9
|
+
[*.java]
|
|
10
|
+
indent_style = space
|
|
11
|
+
indent_size = 4
|
|
12
|
+
charset = utf-8
|
|
13
|
+
end_of_line = lf
|
|
14
|
+
|
|
15
|
+
[*.{yml,yaml}]
|
|
16
|
+
indent_style = space
|
|
17
|
+
indent_size = 2
|
|
18
|
+
|
|
19
|
+
[*.xml]
|
|
20
|
+
indent_style = space
|
|
21
|
+
indent_size = 4
|
|
22
|
+
|
|
23
|
+
[*.properties]
|
|
24
|
+
indent_style = space
|
|
25
|
+
indent_size = 4
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
name: CI Java
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches: [main, develop]
|
|
6
|
+
pull_request:
|
|
7
|
+
branches: [main, develop]
|
|
8
|
+
|
|
9
|
+
jobs:
|
|
10
|
+
build:
|
|
11
|
+
name: Build
|
|
12
|
+
runs-on: ubuntu-latest
|
|
13
|
+
steps:
|
|
14
|
+
- uses: actions/checkout@v4
|
|
15
|
+
- uses: actions/setup-java@v4
|
|
16
|
+
with:
|
|
17
|
+
java-version: '21'
|
|
18
|
+
distribution: temurin
|
|
19
|
+
cache: maven
|
|
20
|
+
- name: Compile
|
|
21
|
+
run: mvn compile
|
|
22
|
+
|
|
23
|
+
test:
|
|
24
|
+
name: Test
|
|
25
|
+
runs-on: ubuntu-latest
|
|
26
|
+
needs: build
|
|
27
|
+
steps:
|
|
28
|
+
- uses: actions/checkout@v4
|
|
29
|
+
- uses: actions/setup-java@v4
|
|
30
|
+
with:
|
|
31
|
+
java-version: '21'
|
|
32
|
+
distribution: temurin
|
|
33
|
+
cache: maven
|
|
34
|
+
- name: Run tests
|
|
35
|
+
run: mvn test
|
|
36
|
+
|
|
37
|
+
archunit:
|
|
38
|
+
name: ArchUnit
|
|
39
|
+
runs-on: ubuntu-latest
|
|
40
|
+
needs: build
|
|
41
|
+
steps:
|
|
42
|
+
- uses: actions/checkout@v4
|
|
43
|
+
- uses: actions/setup-java@v4
|
|
44
|
+
with:
|
|
45
|
+
java-version: '21'
|
|
46
|
+
distribution: temurin
|
|
47
|
+
cache: maven
|
|
48
|
+
- name: Run architecture tests
|
|
49
|
+
run: mvn test -Dtest=ArchitectureTest
|
|
50
|
+
|
|
51
|
+
coverage:
|
|
52
|
+
name: Coverage
|
|
53
|
+
runs-on: ubuntu-latest
|
|
54
|
+
needs: test
|
|
55
|
+
steps:
|
|
56
|
+
- uses: actions/checkout@v4
|
|
57
|
+
- uses: actions/setup-java@v4
|
|
58
|
+
with:
|
|
59
|
+
java-version: '21'
|
|
60
|
+
distribution: temurin
|
|
61
|
+
cache: maven
|
|
62
|
+
- name: Generate coverage report
|
|
63
|
+
run: mvn jacoco:report
|
|
64
|
+
- name: Upload coverage artifact
|
|
65
|
+
uses: actions/upload-artifact@v4
|
|
66
|
+
with:
|
|
67
|
+
name: jacoco-report
|
|
68
|
+
path: target/site/jacoco/
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
root = true
|
|
2
|
+
|
|
3
|
+
[*]
|
|
4
|
+
charset = utf-8
|
|
5
|
+
end_of_line = lf
|
|
6
|
+
insert_final_newline = true
|
|
7
|
+
trim_trailing_whitespace = true
|
|
8
|
+
|
|
9
|
+
[*.{ts,tsx,js,jsx}]
|
|
10
|
+
indent_style = space
|
|
11
|
+
indent_size = 2
|
|
12
|
+
charset = utf-8
|
|
13
|
+
|
|
14
|
+
[*.{css,scss}]
|
|
15
|
+
indent_style = space
|
|
16
|
+
indent_size = 2
|
|
17
|
+
|
|
18
|
+
[*.{json,yml,yaml,md}]
|
|
19
|
+
indent_style = space
|
|
20
|
+
indent_size = 2
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
name: CI React
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches: [main, develop]
|
|
6
|
+
pull_request:
|
|
7
|
+
branches: [main, develop]
|
|
8
|
+
|
|
9
|
+
jobs:
|
|
10
|
+
typecheck:
|
|
11
|
+
name: Typecheck
|
|
12
|
+
runs-on: ubuntu-latest
|
|
13
|
+
steps:
|
|
14
|
+
- uses: actions/checkout@v4
|
|
15
|
+
- uses: actions/setup-node@v4
|
|
16
|
+
with:
|
|
17
|
+
node-version: '20'
|
|
18
|
+
cache: npm
|
|
19
|
+
- run: npm ci
|
|
20
|
+
- name: Type check
|
|
21
|
+
run: npx tsc --noEmit
|
|
22
|
+
|
|
23
|
+
lint:
|
|
24
|
+
name: Lint
|
|
25
|
+
runs-on: ubuntu-latest
|
|
26
|
+
needs: typecheck
|
|
27
|
+
steps:
|
|
28
|
+
- uses: actions/checkout@v4
|
|
29
|
+
- uses: actions/setup-node@v4
|
|
30
|
+
with:
|
|
31
|
+
node-version: '20'
|
|
32
|
+
cache: npm
|
|
33
|
+
- run: npm ci
|
|
34
|
+
- name: Lint
|
|
35
|
+
run: npm run lint
|
|
36
|
+
|
|
37
|
+
test:
|
|
38
|
+
name: Test
|
|
39
|
+
runs-on: ubuntu-latest
|
|
40
|
+
needs: typecheck
|
|
41
|
+
steps:
|
|
42
|
+
- uses: actions/checkout@v4
|
|
43
|
+
- uses: actions/setup-node@v4
|
|
44
|
+
with:
|
|
45
|
+
node-version: '20'
|
|
46
|
+
cache: npm
|
|
47
|
+
- run: npm ci
|
|
48
|
+
- name: Run tests
|
|
49
|
+
run: npm test
|
|
50
|
+
|
|
51
|
+
build:
|
|
52
|
+
name: Build
|
|
53
|
+
runs-on: ubuntu-latest
|
|
54
|
+
needs: [lint, test]
|
|
55
|
+
steps:
|
|
56
|
+
- uses: actions/checkout@v4
|
|
57
|
+
- uses: actions/setup-node@v4
|
|
58
|
+
with:
|
|
59
|
+
node-version: '20'
|
|
60
|
+
cache: npm
|
|
61
|
+
- run: npm ci
|
|
62
|
+
- name: Build
|
|
63
|
+
run: npm run build
|
|
64
|
+
|
|
65
|
+
e2e:
|
|
66
|
+
name: E2E
|
|
67
|
+
runs-on: ubuntu-latest
|
|
68
|
+
needs: build
|
|
69
|
+
if: ${{ hashFiles('playwright.config.ts') != '' }}
|
|
70
|
+
steps:
|
|
71
|
+
- uses: actions/checkout@v4
|
|
72
|
+
- uses: actions/setup-node@v4
|
|
73
|
+
with:
|
|
74
|
+
node-version: '20'
|
|
75
|
+
cache: npm
|
|
76
|
+
- run: npm ci
|
|
77
|
+
- name: Install Playwright browsers
|
|
78
|
+
run: npx playwright install --with-deps
|
|
79
|
+
- name: Run E2E tests
|
|
80
|
+
run: npx playwright test
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
## O que muda
|
|
2
|
+
|
|
3
|
+
<!-- Descreva o que esta PR adiciona, modifica ou remove. -->
|
|
4
|
+
|
|
5
|
+
## Por que (contexto + ticket)
|
|
6
|
+
|
|
7
|
+
<!-- Explique a motivação da mudança. Inclua o ticket JIRA no formato: Refs: PROJ-123 -->
|
|
8
|
+
|
|
9
|
+
Refs:
|
|
10
|
+
|
|
11
|
+
## Como testar
|
|
12
|
+
|
|
13
|
+
<!-- Passo a passo para validar a mudança localmente ou em ambiente de teste. -->
|
|
14
|
+
|
|
15
|
+
1.
|
|
16
|
+
2.
|
|
17
|
+
3.
|
|
18
|
+
|
|
19
|
+
## Checklist
|
|
20
|
+
|
|
21
|
+
- [ ] Testes passando (`pnpm test` / `mvn test`)
|
|
22
|
+
- [ ] Sem TODO pendente no código
|
|
23
|
+
- [ ] CHANGELOG / changeset atualizado (se aplicável)
|
|
24
|
+
- [ ] Título da PR em formato conventional commit (`feat(scope): descrição [PROJ-123]`)
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
name: pstld-workflow
|
|
2
|
+
version: 1
|
|
3
|
+
description: Dixi workflow - rfc → design → tasks
|
|
4
|
+
artifacts:
|
|
5
|
+
- id: rfc
|
|
6
|
+
generates: rfc.md
|
|
7
|
+
description: Request for Comments document defining the problem and proposed solution
|
|
8
|
+
template: rfc.md
|
|
9
|
+
instruction: |
|
|
10
|
+
Create the RFC document that establishes WHAT needs to be built and WHY.
|
|
11
|
+
|
|
12
|
+
Sections:
|
|
13
|
+
- **Context**: Background, current state, and constraints that motivate this change
|
|
14
|
+
- **Problem**: Clear statement of the problem being solved
|
|
15
|
+
- **Proposed Solution**: Description of the solution approach at a conceptual level
|
|
16
|
+
- **Alternatives Considered**: Other approaches evaluated and why they were rejected
|
|
17
|
+
- **Architectural Impact**: Effects on existing architecture, dependencies, or interfaces
|
|
18
|
+
- **Acceptance Criteria**: Verifiable conditions that define when this RFC is satisfied
|
|
19
|
+
|
|
20
|
+
Keep the RFC focused on the WHAT and WHY — leave implementation details for design.md.
|
|
21
|
+
Acceptance Criteria should be specific enough to derive test cases.
|
|
22
|
+
requires: []
|
|
23
|
+
|
|
24
|
+
- id: design
|
|
25
|
+
generates: design.md
|
|
26
|
+
description: Technical design document with implementation approach and decisions
|
|
27
|
+
template: design.md
|
|
28
|
+
instruction: |
|
|
29
|
+
Create the design document that explains HOW to implement the RFC.
|
|
30
|
+
|
|
31
|
+
Sections:
|
|
32
|
+
- **Affected Components**: List of modules, services, or layers touched by this change
|
|
33
|
+
- **Interface Contracts**: APIs, function signatures, data shapes, or protocol changes
|
|
34
|
+
- **Test Plan**: What to test, at which layer (unit/integration/e2e), and key scenarios
|
|
35
|
+
- **Security Considerations**: Authentication, authorization, input validation, data exposure risks
|
|
36
|
+
|
|
37
|
+
Reference the RFC for motivation and acceptance criteria.
|
|
38
|
+
Focus on concrete technical decisions and their rationale.
|
|
39
|
+
requires:
|
|
40
|
+
- rfc
|
|
41
|
+
|
|
42
|
+
- id: tasks
|
|
43
|
+
generates: tasks.md
|
|
44
|
+
description: Implementation checklist derived from RFC and design
|
|
45
|
+
template: tasks.md
|
|
46
|
+
instruction: |
|
|
47
|
+
Create the task list that breaks down the implementation work.
|
|
48
|
+
|
|
49
|
+
Guidelines:
|
|
50
|
+
- Group related tasks under ## numbered headings
|
|
51
|
+
- Each task MUST be a checkbox: `- [ ] X.Y Task description`
|
|
52
|
+
- Tasks should be small enough to complete in one session
|
|
53
|
+
- Order tasks by dependency (what must be done first?)
|
|
54
|
+
- End with a Definition of Done section
|
|
55
|
+
|
|
56
|
+
Reference the RFC acceptance criteria and design decisions.
|
|
57
|
+
Each task should be verifiable — you know when it's done.
|
|
58
|
+
requires:
|
|
59
|
+
- rfc
|
|
60
|
+
- design
|
|
61
|
+
|
|
62
|
+
apply:
|
|
63
|
+
requires: [tasks]
|
|
64
|
+
tracks: tasks.md
|
|
65
|
+
instruction: |
|
|
66
|
+
Read context files, work through pending tasks, mark complete as you go.
|
|
67
|
+
Pause if you hit blockers or need clarification.
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
## Affected Components
|
|
2
|
+
|
|
3
|
+
<!-- List of modules, services, or layers touched by this change -->
|
|
4
|
+
|
|
5
|
+
## Interface Contracts
|
|
6
|
+
|
|
7
|
+
<!-- APIs, function signatures, data shapes, or protocol changes -->
|
|
8
|
+
|
|
9
|
+
## Test Plan
|
|
10
|
+
|
|
11
|
+
<!-- What to test, at which layer (unit/integration/e2e), and key scenarios -->
|
|
12
|
+
|
|
13
|
+
## Security Considerations
|
|
14
|
+
|
|
15
|
+
<!-- Authentication, authorization, input validation, data exposure risks -->
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
## Context
|
|
2
|
+
|
|
3
|
+
<!-- Background, current state, and constraints that motivate this change -->
|
|
4
|
+
|
|
5
|
+
## Problem
|
|
6
|
+
|
|
7
|
+
<!-- Clear statement of the problem being solved -->
|
|
8
|
+
|
|
9
|
+
## Proposed Solution
|
|
10
|
+
|
|
11
|
+
<!-- Description of the solution approach at a conceptual level -->
|
|
12
|
+
|
|
13
|
+
## Alternatives Considered
|
|
14
|
+
|
|
15
|
+
<!-- Other approaches evaluated and why they were rejected -->
|
|
16
|
+
|
|
17
|
+
## Architectural Impact
|
|
18
|
+
|
|
19
|
+
<!-- Effects on existing architecture, dependencies, or interfaces -->
|
|
20
|
+
|
|
21
|
+
## Acceptance Criteria
|
|
22
|
+
|
|
23
|
+
<!-- Verifiable conditions that define when this RFC is satisfied -->
|
|
24
|
+
|
|
25
|
+
- [ ] <!-- Criterion 1 -->
|
|
26
|
+
- [ ] <!-- Criterion 2 -->
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
## 1. <!-- Task Group Name -->
|
|
2
|
+
|
|
3
|
+
- [ ] 1.1 <!-- Task description -->
|
|
4
|
+
- [ ] 1.2 <!-- Task description -->
|
|
5
|
+
|
|
6
|
+
## 2. <!-- Task Group Name -->
|
|
7
|
+
|
|
8
|
+
- [ ] 2.1 <!-- Task description -->
|
|
9
|
+
- [ ] 2.2 <!-- Task description -->
|
|
10
|
+
|
|
11
|
+
## Definition of Done
|
|
12
|
+
|
|
13
|
+
- [ ] All acceptance criteria from the RFC are met
|
|
14
|
+
- [ ] Test plan from design is executed
|
|
15
|
+
- [ ] No regressions in existing functionality
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Skill Template Workflow Modules
|
|
3
|
-
*
|
|
4
|
-
* This file is generated by splitting the legacy monolithic
|
|
5
|
-
* templates file into workflow-focused modules.
|
|
6
|
-
*/
|
|
7
|
-
import type { SkillTemplate, CommandTemplate } from '../types.js';
|
|
8
|
-
export declare function getSyncSpecsSkillTemplate(): SkillTemplate;
|
|
9
|
-
export declare function getPsSyncCommandTemplate(): CommandTemplate;
|
|
10
|
-
//# sourceMappingURL=sync-specs.d.ts.map
|