Files
nextcraft/.ciagent/PERSONAS.md
T
CIAgent 9d530dd4d3 docs(P00): complete pre-execution phase
---ci---
phase: 0
milestone: v0.1
status: complete
---/ci---

Phase 0 (pre-execution) complete:
- SPECIFY: specification validated
- CLARIFY: 8 ambiguities auto-resolved (D-013 through D-020)
- RESEARCH: tech stack confirmed, personas assessed (D-021 through D-024)
- PLAN: 6 execution phases, 20 tasks, wave-ordered (D-025, D-026)
- MVP/UX CHECK: passed (user-facing surface, happy path, acceptance criteria)
2026-09-10 21:31:47 +00:00

3.1 KiB

Nextcraft — PERSONAS.md

Persona Roster

lead-developer

active: true
phase_specific: false
reason: Coordinates task decomposition across surfaces, resolves conflicts between frontend and data personas
domain: coordination
frameworks:
  - next.js
  - turborepo
  - pnpm
constraints:
  - pragmatic
  - battle-tested defaults
  - monorepo-architecture
territory:
  - "**/package.json"
  - "**/turbo.json"
  - "**/pnpm-workspace.yaml"
  - "**/tsconfig.json"

frontend-engineer

active: true
phase_specific: false
reason: Primary persona for v0.1 — all 28 REQ-IDs are UI/frontend work. Owns all page components, layouts, and surface-specific UI.
domain: frontend
frameworks:
  - react
  - next.js
  - tailwindcss
  - lucide-react
  - recharts
  - react-flow
constraints:
  - component-first
  - server-components-default
  - minimal-client-js
  - mock-data-only
  - responsive-all-breakpoints
  - dark-mode-support
territory:
  - "apps/web/**"
  - "packages/ui/**"
  - "packages/mock-data/**"
  - "packages/types/**"

data-engineer

active: true
phase_specific: false
reason: Owns mock data layer schema and typed definitions. No real database in v0.1, but data structures must be well-typed for future migration.
domain: data
frameworks:
  - typescript
constraints:
  - schema-first
  - type-safe
  - migration-ready
  - mock-data-only
territory:
  - "packages/types/**"
  - "packages/mock-data/**"

backend-engineer

active: false
phase_specific: false
reason: No backend in v0.1. All data is mock/static. Backend persona deactivated until v0.2+ when API services are needed.
domain: backend
frameworks: []
constraints: []
territory: []

security-auditor

active: false
phase_specific: false
reason: No auth, no API, no real data in v0.1. Security review handled by verifier's STRIDE analysis layer. No dedicated security persona needed for UI prototype.
domain: security
frameworks: []
constraints: []
territory: []

Custom Personas

design-system-engineer

active: true
phase_specific: false
reason: Custom persona for v0.1 — owns the shared component library, design tokens, and visual consistency. Combines frontend expertise with design system ownership.
domain: frontend
frameworks:
  - tailwindcss
  - storybook
  - lucide-react
constraints:
  - design-token-driven
  - wcag-aa-contrast
  - dark-mode-required
  - consistent-across-surfaces
territory:
  - "packages/ui/**"

Phase-Specific Personas

None for v0.1. All active personas span the entire milestone.

Territory Conflict Resolution

Conflict Resolution
frontend-engineer vs data-engineer (packages/types, packages/mock-data) data-engineer owns type definitions and mock data schema; frontend-engineer consumes them. If changes needed, data-engineer updates types first.
frontend-engineer vs design-system-engineer (packages/ui) design-system-engineer owns design tokens and primitive components; frontend-engineer owns composite components and page-level UI.
lead-developer vs any lead-developer coordinates only, does not directly modify code files.