@thiagodiogo/pscode 1.0.0 → 1.0.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 +2 -2
- package/dist/cli/index.js +6 -6
- 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 -2
- package/dist/core/{archive.js → complete.js} +28 -5
- package/dist/core/completions/command-registry.js +5 -5
- 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 -20
- 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 -1
- package/dist/core/profiles.d.ts +23 -21
- package/dist/core/profiles.js +28 -24
- package/dist/core/shared/skill-generation.js +3 -3
- package/dist/core/shared/tool-detection.d.ts +1 -1
- package/dist/core/shared/tool-detection.js +1 -1
- package/dist/core/templates/skill-templates.d.ts +1 -1
- package/dist/core/templates/skill-templates.js +1 -1
- 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 +4 -3
- 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
|
@@ -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
|