@polymorphism-tech/morph-spec 4.10.0 → 4.10.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/claude-plugin.json +1 -1
- package/docs/CHEATSHEET.md +1 -1
- package/docs/QUICKSTART.md +1 -1
- package/framework/CLAUDE.md +5 -69
- package/framework/agents/backend/api-designer.md +3 -0
- package/framework/agents/backend/dotnet-senior.md +3 -0
- package/framework/agents/backend/ef-modeler.md +2 -0
- package/framework/agents/backend/hangfire-orchestrator.md +2 -0
- package/framework/agents/backend/ms-agent-expert.md +2 -0
- package/framework/agents/frontend/blazor-builder.md +2 -0
- package/framework/agents/frontend/nextjs-expert.md +2 -0
- package/framework/agents/infrastructure/azure-architect.md +2 -0
- package/framework/agents/infrastructure/azure-deploy-specialist.md +2 -0
- package/framework/agents/infrastructure/bicep-architect.md +2 -0
- package/framework/agents/infrastructure/container-specialist.md +2 -0
- package/framework/agents/infrastructure/devops-engineer.md +3 -0
- package/framework/agents/infrastructure/infra-architect.md +3 -0
- package/framework/agents/integrations/asaas-financial.md +2 -0
- package/framework/agents/integrations/azure-identity.md +2 -0
- package/framework/agents/integrations/clerk-auth.md +3 -0
- package/framework/agents/integrations/hangfire-integration.md +2 -0
- package/framework/agents/integrations/resend-email.md +2 -0
- package/framework/commands/morph-apply.md +151 -161
- package/framework/commands/morph-archive.md +28 -28
- package/framework/commands/morph-infra.md +79 -79
- package/framework/commands/morph-preflight.md +92 -56
- package/framework/commands/morph-proposal.md +94 -70
- package/framework/commands/morph-status.md +31 -31
- package/framework/commands/morph-troubleshoot.md +63 -60
- package/framework/rules/csharp-standards.md +3 -0
- package/framework/rules/frontend-standards.md +2 -0
- package/framework/rules/infrastructure-standards.md +3 -0
- package/framework/rules/morph-workflow.md +57 -2
- package/framework/rules/nextjs-standards.md +2 -0
- package/framework/rules/testing-standards.md +3 -0
- package/framework/skills/level-0-meta/morph-brainstorming/SKILL.md +54 -49
- package/framework/skills/level-0-meta/morph-checklist/SKILL.md +42 -19
- package/framework/skills/level-0-meta/morph-code-review/SKILL.md +8 -5
- package/framework/skills/level-0-meta/morph-code-review-nextjs/SKILL.md +7 -5
- package/framework/skills/level-0-meta/morph-frontend-review/SKILL.md +139 -136
- package/framework/skills/level-0-meta/morph-init/SKILL.md +42 -13
- package/framework/skills/level-0-meta/morph-post-implementation/SKILL.md +130 -130
- package/framework/skills/level-0-meta/morph-replicate/SKILL.md +95 -87
- package/framework/skills/level-0-meta/morph-simulation-checklist/SKILL.md +24 -0
- package/framework/skills/level-0-meta/morph-tool-usage-guide/SKILL.md +42 -41
- package/framework/skills/level-0-meta/morph-verification-before-completion/SKILL.md +22 -11
- package/framework/skills/level-1-workflows/morph-phase-clarify/SKILL.md +123 -114
- package/framework/skills/level-1-workflows/morph-phase-codebase-analysis/SKILL.md +120 -102
- package/framework/skills/level-1-workflows/morph-phase-design/SKILL.md +206 -214
- package/framework/skills/level-1-workflows/morph-phase-implement/.morph/logs/activity.json +38 -0
- package/framework/skills/level-1-workflows/morph-phase-implement/SKILL.md +241 -360
- package/framework/skills/level-1-workflows/morph-phase-plan/SKILL.md +107 -115
- package/framework/skills/level-1-workflows/morph-phase-setup/SKILL.md +135 -135
- package/framework/skills/level-1-workflows/morph-phase-tasks/.morph/logs/activity.json +14 -0
- package/framework/skills/level-1-workflows/morph-phase-tasks/SKILL.md +143 -139
- package/framework/skills/level-1-workflows/morph-phase-uiux/SKILL.md +168 -165
- package/framework/skills/level-1-workflows/morph-scope-escalation/SKILL.md +57 -8
- package/package.json +3 -3
- package/src/commands/project/doctor.js +7 -2
- package/src/commands/project/update.js +4 -4
- package/src/lib/stack-filter.js +58 -0
- package/src/scripts/setup-infra.js +53 -18
- package/src/utils/agents-installer.js +19 -5
- package/src/utils/claude-md-injector.js +90 -0
- package/src/utils/hooks-installer.js +1 -4
- package/src/utils/skills-installer.js +67 -7
- package/CLAUDE.md +0 -98
- package/framework/memory/patterns-learned.md +0 -766
- package/framework/skills/level-0-meta/morph-terminal-title/SKILL.md +0 -61
- package/framework/skills/level-0-meta/morph-terminal-title/scripts/set_title.sh +0 -65
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
---
|
|
2
|
+
stacks:
|
|
3
|
+
- "*"
|
|
4
|
+
---
|
|
5
|
+
|
|
1
6
|
# MORPH-SPEC Workflow Rules
|
|
2
7
|
|
|
3
8
|
> Always-active rules for all MORPH-SPEC managed projects.
|
|
@@ -18,16 +23,58 @@ UI-heavy features also include **UI/UX** phase (`2-ui/`) between Design and Task
|
|
|
18
23
|
|
|
19
24
|
---
|
|
20
25
|
|
|
26
|
+
## Phase Sequence
|
|
27
|
+
|
|
28
|
+
```
|
|
29
|
+
proposal → setup → [uiux] → design → clarify → plan → tasks → implement → [sync]
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
Use `morph-spec status {feature}` to see current phase and pending approval gates.
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
21
36
|
## Phase Commands
|
|
22
37
|
|
|
23
38
|
| Command | Purpose |
|
|
24
39
|
|---------|---------|
|
|
25
|
-
| `/morph-proposal {feature}` | Full spec pipeline (phases 1
|
|
40
|
+
| `/morph-proposal {feature}` | Full spec pipeline (phases 1-4, pauses for approval) |
|
|
26
41
|
| `/morph-apply {feature}` | Implement feature (phase 5) |
|
|
27
42
|
| `/morph-status` | Feature dashboard |
|
|
28
43
|
|
|
29
44
|
---
|
|
30
45
|
|
|
46
|
+
## State & Outputs
|
|
47
|
+
|
|
48
|
+
| Path | Notes |
|
|
49
|
+
|------|-------|
|
|
50
|
+
| `.morph/state.json` | **READ-ONLY** — use `morph-spec` CLI to update |
|
|
51
|
+
| `.morph/features/{feature}/{phase}/` | Feature outputs organized by phase |
|
|
52
|
+
| `.morph/framework/` | **READ-ONLY** — framework files managed by morph-spec |
|
|
53
|
+
| `.morph/config/config.json` | Project configuration (editable) |
|
|
54
|
+
|
|
55
|
+
### mark-output types
|
|
56
|
+
|
|
57
|
+
Use `morph-spec state mark-output <feature> <type>` with one of these exact type names:
|
|
58
|
+
|
|
59
|
+
| Type | Phase | kebab alias |
|
|
60
|
+
|------|-------|-------------|
|
|
61
|
+
| `proposal` | proposal | — |
|
|
62
|
+
| `schemaAnalysis` | design | `schema-analysis` |
|
|
63
|
+
| `spec` | design | — |
|
|
64
|
+
| `contracts` | design | — |
|
|
65
|
+
| `contractsVsa` | design | `contracts-vsa` |
|
|
66
|
+
| `decisions` | design | — |
|
|
67
|
+
| `clarifications` | clarify | — |
|
|
68
|
+
| `plan` | plan | — |
|
|
69
|
+
| `tasks` | tasks | — |
|
|
70
|
+
| `uiDesignSystem` | uiux | `ui-design-system` |
|
|
71
|
+
| `uiMockups` | uiux | `ui-mockups` |
|
|
72
|
+
| `uiComponents` | uiux | `ui-components` |
|
|
73
|
+
| `uiFlows` | uiux | `ui-flows` |
|
|
74
|
+
| `recap` | implement | — |
|
|
75
|
+
|
|
76
|
+
---
|
|
77
|
+
|
|
31
78
|
## Output Paths
|
|
32
79
|
|
|
33
80
|
All outputs go in `.morph/features/{feature}/`:
|
|
@@ -57,7 +104,8 @@ Run a checkpoint every 3 completed tasks:
|
|
|
57
104
|
|
|
58
105
|
## Approval Gates
|
|
59
106
|
|
|
60
|
-
**Design Gate:** Before moving from Design →
|
|
107
|
+
**Design Gate:** Before moving from Design → Plan, spec must be approved.
|
|
108
|
+
**Plan Gate:** Before moving from Plan → Tasks, plan must be approved.
|
|
61
109
|
**Implementation Gate:** Before starting implementation, task list must be approved.
|
|
62
110
|
|
|
63
111
|
Check approval status: `morph-spec approval-status {feature}`
|
|
@@ -85,4 +133,11 @@ Do not modify test files to make a failing test pass when the implementation is
|
|
|
85
133
|
|
|
86
134
|
---
|
|
87
135
|
|
|
136
|
+
## Context Window Tip
|
|
137
|
+
|
|
138
|
+
When using 3+ MCPs, add `"experimental": { "mcpCliMode": true }` to `.claude/settings.json`.
|
|
139
|
+
MCP tools load on-demand instead of all at startup — keeps context clean for actual work.
|
|
140
|
+
|
|
141
|
+
---
|
|
142
|
+
|
|
88
143
|
*MORPH-SPEC by Polymorphism Tech*
|
|
@@ -3,6 +3,7 @@ name: morph:brainstorming
|
|
|
3
3
|
description: Morph-spec-aware brainstorming that loads project context, explores multiple design approaches, asks clarifying questions, and produces proposal.md or decisions.md. Use before designing a feature, when facing architectural decisions with multiple valid approaches, or when a feature needs requirements exploration before committing to a direction.
|
|
4
4
|
user-invocable: true
|
|
5
5
|
argument-hint: "[feature-name or topic]"
|
|
6
|
+
allowed-tools: Read, Bash, Glob, Grep, AskUserQuestion
|
|
6
7
|
---
|
|
7
8
|
|
|
8
9
|
# Brainstorming — MORPH-SPEC Integrated
|
|
@@ -17,20 +18,16 @@ argument-hint: "[feature-name or topic]"
|
|
|
17
18
|
- **Phase 2 (Design):** Explore architectural alternatives before writing `spec.md`
|
|
18
19
|
- **Any phase:** When facing a decision with multiple valid approaches
|
|
19
20
|
|
|
20
|
-
##
|
|
21
|
+
## Recommended Tools
|
|
21
22
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
# Read existing proposal (if Phase 2)
|
|
32
|
-
Read: .morph/features/{feature}/0-proposal/proposal.md
|
|
33
|
-
```
|
|
23
|
+
| Action | Tool | Alternative |
|
|
24
|
+
|--------|------|-------------|
|
|
25
|
+
| Load feature state | **Bash** `npx morph-spec state get $ARGUMENTS` | — |
|
|
26
|
+
| Read project config | **Read** `.morph/config/config.json` | — |
|
|
27
|
+
| Scan existing code | **Glob** / **Grep** | — |
|
|
28
|
+
| Research libraries | **Context7 MCP** `query_docs()` | **WebSearch** |
|
|
29
|
+
| Ask clarifying questions | **AskUserQuestion** (never plain text) | — |
|
|
30
|
+
| Render proposal template | **Bash** `npx morph-spec template render docs/proposal ...` | — |
|
|
34
31
|
|
|
35
32
|
---
|
|
36
33
|
|
|
@@ -38,38 +35,35 @@ Read: .morph/features/{feature}/0-proposal/proposal.md
|
|
|
38
35
|
|
|
39
36
|
### Step 1: Explore Context
|
|
40
37
|
|
|
41
|
-
|
|
38
|
+
Gather information before generating ideas. This step is what makes morph-aware brainstorming different from generic brainstorming — it grounds your thinking in the actual project state and constraints.
|
|
42
39
|
|
|
43
|
-
1. **Read state
|
|
44
|
-
2. **Read config
|
|
45
|
-
3. **
|
|
46
|
-
4. **
|
|
47
|
-
5. **Check
|
|
48
|
-
|
|
49
|
-
**
|
|
50
|
-
- **Context7** → look up library capabilities relevant to the feature
|
|
51
|
-
- **Supabase** → check existing schema for data-related features
|
|
52
|
-
- **GitHub** → check existing issues/PRs for related work
|
|
40
|
+
1. **Read state** — `npx morph-spec state get $ARGUMENTS` → current phase, active agents, existing outputs, task history
|
|
41
|
+
2. **Read config** — `.morph/config/config.json` → stack, architecture style (VSA vs standard), project name, integrations
|
|
42
|
+
3. **Check architecture** — `cat .morph/config/config.json | grep -A3 architecture` → determines which agents and patterns apply
|
|
43
|
+
4. **Read existing outputs** — proposal.md, spec.md, decisions.md (if they exist from prior work)
|
|
44
|
+
5. **Check active agents** — `npx morph-spec dispatch-agents $ARGUMENTS design --table` → which specialists are available
|
|
45
|
+
6. **Scan codebase** — use Glob/Grep to understand existing patterns, domain models, and service boundaries relevant to the feature
|
|
46
|
+
7. **Check MCP tools** — if Context7, GitHub, or other MCPs are available, use them for research
|
|
53
47
|
|
|
54
48
|
### Step 2: Ask Clarifying Questions
|
|
55
49
|
|
|
56
50
|
Use `AskUserQuestion` to collect responses — **NEVER list questions as plain text**.
|
|
57
51
|
|
|
58
|
-
-
|
|
59
|
-
-
|
|
60
|
-
- **
|
|
52
|
+
- Maximum 4 questions per call. If you need 5+, make sequential calls (Q1-Q4, then Q5).
|
|
53
|
+
- Each question needs 2-4 representative options (the user can type a free response via "Other").
|
|
54
|
+
- **Wait for the tool response before proceeding to Step 3.**
|
|
61
55
|
|
|
62
|
-
|
|
56
|
+
Starter questions to adapt to the feature context:
|
|
63
57
|
|
|
64
|
-
| Header (
|
|
58
|
+
| Header (<=12 chars) | Question | Suggested Options |
|
|
65
59
|
|--------------------|----------|------------------|
|
|
66
|
-
| `
|
|
67
|
-
| `Constraints` |
|
|
68
|
-
| `
|
|
69
|
-
| `
|
|
70
|
-
| `
|
|
60
|
+
| `Scope` | What's the minimum viable version of this feature? | Basic MVP / Full version / Open-ended |
|
|
61
|
+
| `Constraints` | Any performance, budget, or timeline constraints? | No constraints / Performance-critical / Budget-limited |
|
|
62
|
+
| `Integration` | Does this need to integrate with existing features/systems? | Yes, integrates with X / Isolated feature / TBD |
|
|
63
|
+
| `Users` | Who are the primary users? | End-users / Admins / Internal system |
|
|
64
|
+
| `Success` | How will we know this feature works correctly? | Defined metrics / Acceptance tests / User feedback |
|
|
71
65
|
|
|
72
|
-
>
|
|
66
|
+
> Adapt the options to the actual feature context — these are starting points, not a fixed template.
|
|
73
67
|
|
|
74
68
|
### Step 3: Generate 2-3 Approaches
|
|
75
69
|
|
|
@@ -95,16 +89,27 @@ For each approach, document:
|
|
|
95
89
|
|
|
96
90
|
### Step 4: Recommend and Document
|
|
97
91
|
|
|
98
|
-
1. **Recommend** the best approach with reasoning
|
|
99
|
-
2. **Write output** to the appropriate location:
|
|
100
|
-
- Phase 0 → render `docs/proposal` template → `.morph/features/{feature}/0-proposal/proposal.md`
|
|
101
|
-
- Phase 2 → document in `decisions.md` as an ADR
|
|
92
|
+
1. **Recommend** the best approach with clear reasoning
|
|
93
|
+
2. **Write output** to the appropriate location based on the current phase:
|
|
102
94
|
|
|
103
|
-
|
|
104
|
-
```bash
|
|
105
|
-
npx morph-spec
|
|
106
|
-
|
|
107
|
-
|
|
95
|
+
**Phase 0 (Proposal):**
|
|
96
|
+
```bash
|
|
97
|
+
npx morph-spec template render docs/proposal ".morph/features/$ARGUMENTS/0-proposal/proposal.md" '{"FEATURE_NAME":"...", "DATE":"..."}'
|
|
98
|
+
```
|
|
99
|
+
Then edit the rendered file to add the brainstorming results.
|
|
100
|
+
|
|
101
|
+
**Phase 2 (Design):**
|
|
102
|
+
Write the decision as an ADR (Architecture Decision Record) in `.morph/features/$ARGUMENTS/1-design/decisions.md`.
|
|
103
|
+
|
|
104
|
+
3. **Update state** (mandatory — do not skip):
|
|
105
|
+
```bash
|
|
106
|
+
npx morph-spec state mark-output $ARGUMENTS proposal # Phase 0
|
|
107
|
+
npx morph-spec state mark-output $ARGUMENTS decisions # Phase 2
|
|
108
|
+
```
|
|
109
|
+
Then verify the output was recorded:
|
|
110
|
+
```bash
|
|
111
|
+
npx morph-spec state get $ARGUMENTS
|
|
112
|
+
```
|
|
108
113
|
|
|
109
114
|
---
|
|
110
115
|
|
|
@@ -116,7 +121,7 @@ This skill replaces `superpowers:brainstorming` within morph-spec workflows. It
|
|
|
116
121
|
- Automatic context loading from `.morph/` state and config
|
|
117
122
|
- Template rendering for outputs (proposal.md, decisions.md)
|
|
118
123
|
- State tracking via `morph-spec state mark-output`
|
|
119
|
-
- MCP integration for research (Context7,
|
|
124
|
+
- MCP integration for research (Context7, GitHub)
|
|
120
125
|
|
|
121
126
|
For brainstorming **outside** morph-spec workflows, the original `superpowers:brainstorming` skill remains available.
|
|
122
127
|
|
|
@@ -124,10 +129,10 @@ For brainstorming **outside** morph-spec workflows, the original `superpowers:br
|
|
|
124
129
|
|
|
125
130
|
## Anti-patterns
|
|
126
131
|
|
|
127
|
-
-
|
|
128
|
-
-
|
|
129
|
-
-
|
|
130
|
-
-
|
|
132
|
+
- Skipping brainstorming for features with multiple valid approaches — exploring alternatives prevents tunnel vision
|
|
133
|
+
- Committing to an approach without documenting alternatives — future decisions need context on what was considered
|
|
134
|
+
- Brainstorming without loading project context first — leads to approaches that don't fit the existing architecture
|
|
135
|
+
- Writing code before completing the brainstorming output — premature implementation before agreement
|
|
131
136
|
|
|
132
137
|
---
|
|
133
138
|
|
|
@@ -7,15 +7,21 @@ allowed-tools: Read, Write, Edit, Bash, Glob, Grep
|
|
|
7
7
|
|
|
8
8
|
# MORPH Checklists
|
|
9
9
|
|
|
10
|
-
Types: `deploy`, `security`, `seo`, `performance`, `accessibility`, `legal-brazil`, `simulation` (
|
|
10
|
+
Types: `deploy`, `security`, `seo`, `performance`, `accessibility`, `legal-brazil`, `simulation` (see skill: `morph:simulation-checklist`)
|
|
11
11
|
|
|
12
12
|
---
|
|
13
13
|
|
|
14
14
|
## Deploy
|
|
15
15
|
|
|
16
|
+
### MORPH-SPEC Validation (run first)
|
|
17
|
+
- [ ] `npx morph-spec validate-feature {feature}` — passes with 100% pass rate
|
|
18
|
+
- [ ] `npx morph-spec approval-status {feature}` — all gates approved (design, plan, tasks)
|
|
19
|
+
- [ ] `npx morph-spec state get {feature}` — phase is `implement`, all tasks `done`
|
|
20
|
+
- [ ] Recap generated: `.morph/features/{feature}/5-implement/recap.md` exists
|
|
21
|
+
|
|
16
22
|
### Pre-Deploy
|
|
17
23
|
- [ ] `dotnet build --configuration Release` passes
|
|
18
|
-
- [ ] `dotnet test` passes
|
|
24
|
+
- [ ] `dotnet test` passes (100% pass rate required — zero tolerance)
|
|
19
25
|
- [ ] Migrations applied (`dotnet ef database update`)
|
|
20
26
|
- [ ] Env vars configured (connection strings, API keys, feature flags)
|
|
21
27
|
|
|
@@ -94,28 +100,45 @@ Types: `deploy`, `security`, `seo`, `performance`, `accessibility`, `legal-brazi
|
|
|
94
100
|
- [ ] Alt text on images, captions on videos
|
|
95
101
|
- [ ] Contrast >= 4.5:1 (AA), color not sole indicator
|
|
96
102
|
- [ ] Keyboard navigation works, focus visible
|
|
97
|
-
- [ ] Skip links, `<html lang="
|
|
103
|
+
- [ ] Skip links, `<html lang="...">` with correct locale
|
|
98
104
|
- [ ] Labels on all inputs, clear error messages
|
|
99
105
|
- [ ] Valid HTML, ARIA used correctly
|
|
100
106
|
|
|
101
107
|
---
|
|
102
108
|
|
|
103
|
-
## Legal Brazil (LGPD)
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
- [ ]
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
- [ ] Data
|
|
116
|
-
- [ ]
|
|
117
|
-
- [ ]
|
|
118
|
-
- [ ]
|
|
109
|
+
## Legal Brazil (LGPD — Lei 13.709/2018)
|
|
110
|
+
|
|
111
|
+
The Brazilian General Data Protection Law (LGPD) applies to any application that processes personal data of individuals in Brazil. Non-compliance can result in fines up to 2% of revenue (capped at R$50M per violation) from ANPD (Autoridade Nacional de Protecao de Dados).
|
|
112
|
+
|
|
113
|
+
### Documentation (Art. 9, 23, 41)
|
|
114
|
+
- [ ] Privacy policy published and accessible from every page — must include: categories of data collected, legal basis per category (Art. 7), processing purpose, retention period, DPO (Encarregado) contact name and email
|
|
115
|
+
- [ ] Terms of use covering: service description, user responsibilities, governing forum (Brazilian jurisdiction required)
|
|
116
|
+
- [ ] ROPA (Record of Processing Activities) — internal document mapping data flows per Art. 37
|
|
117
|
+
|
|
118
|
+
### Consent & Data Subject Rights (Art. 7-9, 15-18)
|
|
119
|
+
- [ ] Cookie consent banner with **granular opt-in** (not just "accept all") — separate toggles for analytics, marketing, essential
|
|
120
|
+
- [ ] Explicit consent for marketing communications — checkbox unchecked by default, revocable at any time
|
|
121
|
+
- [ ] Data subject rights page implementing all Art. 18 rights:
|
|
122
|
+
- [ ] Access: user can view all personal data held
|
|
123
|
+
- [ ] Correction: user can update inaccurate data
|
|
124
|
+
- [ ] Deletion: user can request full account/data deletion (Art. 18, IX)
|
|
125
|
+
- [ ] Portability: user can export data in machine-readable format (JSON/CSV)
|
|
126
|
+
- [ ] Opposition: user can object to specific processing
|
|
127
|
+
- [ ] Rights requests processed within 15 days (Art. 19)
|
|
128
|
+
|
|
129
|
+
### Technical Controls (Art. 46-49)
|
|
130
|
+
- [ ] PII encrypted at rest (AES-256) and in transit (TLS 1.2+)
|
|
131
|
+
- [ ] Data minimization: only collect what the legal basis justifies
|
|
132
|
+
- [ ] Defined retention periods per data category — automatic purge after expiry
|
|
133
|
+
- [ ] Anonymization/pseudonymization for analytics and logs
|
|
134
|
+
- [ ] Access logs for all personal data operations (who accessed what, when)
|
|
135
|
+
- [ ] Incident response plan: ANPD notification within **72 hours** of breach (Art. 48), user notification "within reasonable time"
|
|
136
|
+
- [ ] Data Protection Impact Assessment (DPIA/RIPD) for high-risk processing (Art. 5, XVII)
|
|
137
|
+
|
|
138
|
+
### DPO (Encarregado — Art. 41)
|
|
139
|
+
- [ ] DPO designated and publicly identified (name + contact on privacy policy)
|
|
140
|
+
- [ ] DPO contact channel operational (email or form)
|
|
141
|
+
- [ ] DPO handles ANPD communications and data subject requests
|
|
119
142
|
|
|
120
143
|
---
|
|
121
144
|
|
|
@@ -3,6 +3,9 @@ name: morph:code-review
|
|
|
3
3
|
description: .NET/C# code review checklist covering naming conventions, architecture layer integrity, async patterns, logging, error handling, DI lifetimes, and DTO contracts. Use after implementing .NET code, before creating PRs, or when reviewing C# code for compliance with MORPH-SPEC standards.
|
|
4
4
|
user-invocable: true
|
|
5
5
|
allowed-tools: Read, Write, Edit, Bash, Glob, Grep
|
|
6
|
+
stacks:
|
|
7
|
+
- dotnet
|
|
8
|
+
- blazor
|
|
6
9
|
---
|
|
7
10
|
|
|
8
11
|
# Code Review Checklist
|
|
@@ -23,12 +26,12 @@ allowed-tools: Read, Write, Edit, Bash, Glob, Grep
|
|
|
23
26
|
git diff --name-only main...HEAD -- "*.cs" | wc -l
|
|
24
27
|
```
|
|
25
28
|
|
|
26
|
-
**
|
|
27
|
-
- 0
|
|
28
|
-
-
|
|
29
|
-
-
|
|
29
|
+
**Skip review if:**
|
|
30
|
+
- 0 `.cs` files changed → no backend code to review
|
|
31
|
+
- Only changes in `*.json`, `*.csproj`, `*.md`, migration files → infrastructure scope
|
|
32
|
+
- `.morph/features/$ARGUMENTS/5-implement/code-review.md` already exists from today → already reviewed
|
|
30
33
|
|
|
31
|
-
|
|
34
|
+
If skipping: output `"Skipping code-review: [reason]"` and stop.
|
|
32
35
|
|
|
33
36
|
---
|
|
34
37
|
|
|
@@ -3,6 +3,8 @@ name: morph:code-review-nextjs
|
|
|
3
3
|
description: Next.js code review checklist covering naming conventions, component architecture (Server vs Client), data fetching patterns, form implementation, state management, TypeScript/Zod discipline, feature boundaries, and testing. Use after implementing Next.js code, before creating PRs, or when reviewing TSX/TS code for compliance with MORPH-SPEC Next.js standards.
|
|
4
4
|
user-invocable: true
|
|
5
5
|
allowed-tools: Read, Write, Edit, Bash, Glob, Grep
|
|
6
|
+
stacks:
|
|
7
|
+
- nextjs
|
|
6
8
|
---
|
|
7
9
|
|
|
8
10
|
# Next.js Code Review Checklist
|
|
@@ -27,12 +29,12 @@ allowed-tools: Read, Write, Edit, Bash, Glob, Grep
|
|
|
27
29
|
git diff --name-only main...HEAD -- "*.tsx" "*.ts" | wc -l
|
|
28
30
|
```
|
|
29
31
|
|
|
30
|
-
**
|
|
31
|
-
- 0
|
|
32
|
-
-
|
|
33
|
-
-
|
|
32
|
+
**Skip review if:**
|
|
33
|
+
- 0 `.tsx`/`.ts` files changed → no frontend code to review
|
|
34
|
+
- Only changes in `*.json`, `*.md`, config files → infrastructure scope
|
|
35
|
+
- `.morph/features/$ARGUMENTS/5-implement/code-review-nextjs.md` already exists from today → already reviewed
|
|
34
36
|
|
|
35
|
-
|
|
37
|
+
If skipping: output `"Skipping code-review-nextjs: [reason]"` and stop.
|
|
36
38
|
|
|
37
39
|
---
|
|
38
40
|
|