@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.
Files changed (84) hide show
  1. package/README.md +2 -2
  2. package/dist/cli/index.js +6 -6
  3. package/dist/commands/config.d.ts +4 -12
  4. package/dist/commands/config.js +69 -242
  5. package/dist/core/change-metadata/schema.d.ts +1 -0
  6. package/dist/core/change-metadata/schema.js +1 -0
  7. package/dist/core/{archive.d.ts → complete.d.ts} +2 -2
  8. package/dist/core/{archive.js → complete.js} +28 -5
  9. package/dist/core/completions/command-registry.js +5 -5
  10. package/dist/core/config-schema.d.ts +1 -5
  11. package/dist/core/config-schema.js +2 -5
  12. package/dist/core/global-config.d.ts +1 -3
  13. package/dist/core/global-config.js +1 -1
  14. package/dist/core/init.d.ts +2 -0
  15. package/dist/core/init.js +81 -20
  16. package/dist/core/jira-transition.d.ts +16 -0
  17. package/dist/core/jira-transition.js +29 -0
  18. package/dist/core/migration.d.ts +3 -12
  19. package/dist/core/migration.js +10 -72
  20. package/dist/core/presets/dixi.d.ts +32 -0
  21. package/dist/core/presets/dixi.js +405 -0
  22. package/dist/core/profile-sync-drift.js +9 -1
  23. package/dist/core/profiles.d.ts +23 -21
  24. package/dist/core/profiles.js +28 -24
  25. package/dist/core/shared/skill-generation.js +3 -3
  26. package/dist/core/shared/tool-detection.d.ts +1 -1
  27. package/dist/core/shared/tool-detection.js +1 -1
  28. package/dist/core/templates/skill-templates.d.ts +1 -1
  29. package/dist/core/templates/skill-templates.js +1 -1
  30. package/dist/core/templates/workflows/apply-change.js +3 -3
  31. package/dist/core/templates/workflows/archive-change.d.ts +2 -2
  32. package/dist/core/templates/workflows/archive-change.js +10 -10
  33. package/dist/core/templates/workflows/onboard.js +9 -9
  34. package/dist/core/update.d.ts +1 -6
  35. package/dist/core/update.js +5 -29
  36. package/dist/core/workspace/foundation.d.ts +1 -1
  37. package/dist/core/workspace/foundation.js +1 -1
  38. package/dist/core/workspace/legacy-state.js +1 -1
  39. package/dist/core/workspace/skills.d.ts +4 -3
  40. package/dist/core/workspace/skills.js +3 -3
  41. package/package.json +4 -3
  42. package/pscode/content/dixi/architectures/feature-sliced-react/eslint-architecture.mjs.template +44 -0
  43. package/pscode/content/dixi/architectures/feature-sliced-react/features/README.md.template +30 -0
  44. package/pscode/content/dixi/architectures/feature-sliced-react/skeleton.yaml +8 -0
  45. package/pscode/content/dixi/architectures/hexagonal-spring/ArchitectureTest.java.template +41 -0
  46. package/pscode/content/dixi/architectures/hexagonal-spring/skeleton.yaml +11 -0
  47. package/pscode/content/dixi/claude-runtime/CLAUDE.md.java.template +62 -0
  48. package/pscode/content/dixi/claude-runtime/CLAUDE.md.react.template +74 -0
  49. package/pscode/content/dixi/claude-runtime/commands/adr.md +75 -0
  50. package/pscode/content/dixi/claude-runtime/commands/arch-check.md +64 -0
  51. package/pscode/content/dixi/claude-runtime/commands/dod.md +66 -0
  52. package/pscode/content/dixi/claude-runtime/commands/jira-draft.md +80 -0
  53. package/pscode/content/dixi/claude-runtime/commands/jira-setup.md +105 -0
  54. package/pscode/content/dixi/claude-runtime/commands/jira-sync.md +69 -0
  55. package/pscode/content/dixi/claude-runtime/commands/rfc.md +73 -0
  56. package/pscode/content/dixi/claude-runtime/hooks/arch-guard.mjs +101 -0
  57. package/pscode/content/dixi/claude-runtime/hooks/jira-context.mjs +60 -0
  58. package/pscode/content/dixi/claude-runtime/skills/pstld-arch-guardian.md +101 -0
  59. package/pscode/content/dixi/claude-runtime/skills/pstld-commit-crafter.md +98 -0
  60. package/pscode/content/dixi/claude-runtime/skills/pstld-jira-context.md +64 -0
  61. package/pscode/content/dixi/context/java/architecture.md +143 -0
  62. package/pscode/content/dixi/context/java/naming.md +62 -0
  63. package/pscode/content/dixi/context/java/testing.md +162 -0
  64. package/pscode/content/dixi/context/react/architecture.md +119 -0
  65. package/pscode/content/dixi/context/react/naming.md +129 -0
  66. package/pscode/content/dixi/context/react/testing.md +141 -0
  67. package/pscode/content/dixi/context/shared/commits.md +47 -0
  68. package/pscode/content/dixi/context/shared/dev-flow.md +53 -0
  69. package/pscode/content/dixi/context/shared/dod.md +38 -0
  70. package/pscode/content/dixi/context/shared/pr-flow.md +53 -0
  71. package/pscode/content/dixi/kit/java/.editorconfig +25 -0
  72. package/pscode/content/dixi/kit/java/.github/workflows/ci-java.yml +68 -0
  73. package/pscode/content/dixi/kit/java/.husky/commit-msg +2 -0
  74. package/pscode/content/dixi/kit/react/.editorconfig +20 -0
  75. package/pscode/content/dixi/kit/react/.github/workflows/ci-react.yml +80 -0
  76. package/pscode/content/dixi/kit/react/.husky/commit-msg +2 -0
  77. package/pscode/content/dixi/kit/react/.husky/pre-commit +2 -0
  78. package/pscode/content/dixi/kit/react/lint-staged.config.mjs +4 -0
  79. package/pscode/content/dixi/kit/shared/.commitlintrc.yml +15 -0
  80. package/pscode/content/dixi/kit/shared/.github/pull_request_template.md +24 -0
  81. package/schemas/pstld-workflow/schema.yaml +67 -0
  82. package/schemas/pstld-workflow/templates/design.md +15 -0
  83. package/schemas/pstld-workflow/templates/rfc.md +26 -0
  84. 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,2 @@
1
+ #!/usr/bin/env sh
2
+ npx --no-install commitlint --edit "$1"
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env sh
2
+ npx --no-install lint-staged
@@ -0,0 +1,4 @@
1
+ export default {
2
+ '*.{ts,tsx}': ['eslint --fix', 'prettier --write'],
3
+ '*.{css,scss,md,json}': ['prettier --write'],
4
+ };
@@ -0,0 +1,15 @@
1
+ extends:
2
+ - '@commitlint/config-conventional'
3
+
4
+ plugins:
5
+ - commitlint-plugin-jira-rules
6
+
7
+ rules:
8
+ subject-case:
9
+ - 2
10
+ - always
11
+ - lower-case
12
+ jira-task-id-max-length:
13
+ - 1
14
+ - always
15
+ - 120
@@ -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