prjct-cli 1.45.4 → 1.45.6
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/CHANGELOG.md +27 -2
- package/dist/bin/prjct-core.mjs +160 -160
- package/dist/cli/jira.mjs +1 -1
- package/dist/cli/linear.mjs +1 -1
- package/dist/daemon/entry.mjs +99 -99
- package/dist/templates.json +1 -1
- package/package.json +2 -1
- package/templates/agentic/agent-routing.md +45 -0
- package/templates/agentic/agents/uxui.md +63 -0
- package/templates/agentic/checklist-routing.md +98 -0
- package/templates/agentic/orchestrator.md +68 -0
- package/templates/agentic/task-fragmentation.md +89 -0
- package/templates/agents/AGENTS.md +67 -0
- package/templates/analysis/analyze.md +84 -0
- package/templates/analysis/patterns.md +60 -0
- package/templates/antigravity/SKILL.md +39 -0
- package/templates/architect/discovery.md +67 -0
- package/templates/architect/phases.md +59 -0
- package/templates/baseline/anti-patterns/nextjs.json +18 -0
- package/templates/baseline/anti-patterns/react.json +18 -0
- package/templates/baseline/anti-patterns/typescript.json +18 -0
- package/templates/baseline/patterns/nextjs.json +18 -0
- package/templates/baseline/patterns/react.json +18 -0
- package/templates/baseline/patterns/typescript.json +18 -0
- package/templates/checklists/architecture.md +28 -0
- package/templates/checklists/code-quality.md +28 -0
- package/templates/checklists/data.md +33 -0
- package/templates/checklists/documentation.md +33 -0
- package/templates/checklists/infrastructure.md +33 -0
- package/templates/checklists/performance.md +33 -0
- package/templates/checklists/security.md +33 -0
- package/templates/checklists/testing.md +33 -0
- package/templates/checklists/ux-ui.md +37 -0
- package/templates/codex/SKILL.md +36 -0
- package/templates/commands/analyze.md +11 -0
- package/templates/commands/auth.md +15 -0
- package/templates/commands/bug.md +28 -0
- package/templates/commands/cleanup.md +11 -0
- package/templates/commands/dash.md +16 -0
- package/templates/commands/design.md +11 -0
- package/templates/commands/done.md +33 -0
- package/templates/commands/enrich.md +20 -0
- package/templates/commands/git.md +17 -0
- package/templates/commands/history.md +13 -0
- package/templates/commands/idea.md +13 -0
- package/templates/commands/impact.md +13 -0
- package/templates/commands/init.md +11 -0
- package/templates/commands/jira.md +88 -0
- package/templates/commands/learnings.md +11 -0
- package/templates/commands/linear.md +82 -0
- package/templates/commands/merge.md +25 -0
- package/templates/commands/next.md +12 -0
- package/templates/commands/p.md +62 -0
- package/templates/commands/p.toml +37 -0
- package/templates/commands/pause.md +16 -0
- package/templates/commands/plan.md +13 -0
- package/templates/commands/prd.md +21 -0
- package/templates/commands/resume.md +12 -0
- package/templates/commands/review.md +20 -0
- package/templates/commands/serve.md +11 -0
- package/templates/commands/sessions.md +13 -0
- package/templates/commands/setup.md +11 -0
- package/templates/commands/ship.md +46 -0
- package/templates/commands/skill.md +13 -0
- package/templates/commands/spec.md +20 -0
- package/templates/commands/status.md +11 -0
- package/templates/commands/sync.md +23 -0
- package/templates/commands/task.md +52 -0
- package/templates/commands/test.md +22 -0
- package/templates/commands/update.md +11 -0
- package/templates/commands/verify.md +11 -0
- package/templates/commands/workflow.md +69 -0
- package/templates/config/skill-mappings.json +82 -0
- package/templates/context/dashboard.md +251 -0
- package/templates/context/roadmap.md +221 -0
- package/templates/cursor/commands/bug.md +8 -0
- package/templates/cursor/commands/done.md +4 -0
- package/templates/cursor/commands/pause.md +6 -0
- package/templates/cursor/commands/resume.md +4 -0
- package/templates/cursor/commands/ship.md +8 -0
- package/templates/cursor/commands/sync.md +4 -0
- package/templates/cursor/commands/task.md +8 -0
- package/templates/cursor/p.md +29 -0
- package/templates/cursor/router.mdc +28 -0
- package/templates/design/api.md +95 -0
- package/templates/design/architecture.md +77 -0
- package/templates/design/component.md +89 -0
- package/templates/design/database.md +78 -0
- package/templates/design/flow.md +94 -0
- package/templates/global/ANTIGRAVITY.md +17 -0
- package/templates/global/CLAUDE.md +20 -0
- package/templates/global/CURSOR.mdc +20 -0
- package/templates/global/GEMINI.md +17 -0
- package/templates/global/STORAGE-SPEC.md +328 -0
- package/templates/global/WINDSURF.md +22 -0
- package/templates/global/modules/CLAUDE-commands.md +1 -0
- package/templates/global/modules/CLAUDE-core.md +16 -0
- package/templates/global/modules/CLAUDE-git.md +1 -0
- package/templates/global/modules/CLAUDE-intelligence.md +1 -0
- package/templates/global/modules/CLAUDE-storage.md +1 -0
- package/templates/global/modules/module-config.json +12 -0
- package/templates/mcp-config.json +29 -0
- package/templates/permissions/default.jsonc +60 -0
- package/templates/permissions/permissive.jsonc +49 -0
- package/templates/permissions/strict.jsonc +58 -0
- package/templates/planning-methodology.md +195 -0
- package/templates/skills/code-review.md +47 -0
- package/templates/skills/debug.md +61 -0
- package/templates/skills/refactor.md +47 -0
- package/templates/subagents/agent-base.md +21 -0
- package/templates/subagents/domain/backend.md +109 -0
- package/templates/subagents/domain/database.md +121 -0
- package/templates/subagents/domain/devops.md +152 -0
- package/templates/subagents/domain/frontend.md +103 -0
- package/templates/subagents/domain/testing.md +169 -0
- package/templates/subagents/pm-expert.md +366 -0
- package/templates/subagents/workflow/chief-architect.md +653 -0
- package/templates/subagents/workflow/prjct-planner.md +120 -0
- package/templates/subagents/workflow/prjct-shipper.md +175 -0
- package/templates/subagents/workflow/prjct-workflow.md +82 -0
- package/templates/tools/bash.txt +22 -0
- package/templates/tools/edit.txt +18 -0
- package/templates/tools/glob.txt +19 -0
- package/templates/tools/grep.txt +21 -0
- package/templates/tools/read.txt +14 -0
- package/templates/tools/task.txt +20 -0
- package/templates/tools/webfetch.txt +16 -0
- package/templates/tools/websearch.txt +18 -0
- package/templates/tools/write.txt +17 -0
- package/templates/windsurf/router.md +28 -0
- package/templates/windsurf/workflows/bug.md +8 -0
- package/templates/windsurf/workflows/done.md +4 -0
- package/templates/windsurf/workflows/pause.md +4 -0
- package/templates/windsurf/workflows/resume.md +4 -0
- package/templates/windsurf/workflows/ship.md +8 -0
- package/templates/windsurf/workflows/sync.md +4 -0
- package/templates/windsurf/workflows/task.md +8 -0
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: architect-phases
|
|
3
|
+
description: Determine which architecture phases are needed
|
|
4
|
+
allowed-tools: [Read]
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Architecture Phase Selection
|
|
8
|
+
|
|
9
|
+
Analyze the idea and context to determine which phases are needed.
|
|
10
|
+
|
|
11
|
+
## Input
|
|
12
|
+
- Idea: {{idea}}
|
|
13
|
+
- Discovery results: {{discovery}}
|
|
14
|
+
|
|
15
|
+
## Available Phases
|
|
16
|
+
|
|
17
|
+
1. **discovery** - Problem definition, users, constraints
|
|
18
|
+
2. **user-flows** - User journeys and interactions
|
|
19
|
+
3. **domain-modeling** - Entities and relationships
|
|
20
|
+
4. **api-design** - API contracts and endpoints
|
|
21
|
+
5. **architecture** - System components and patterns
|
|
22
|
+
6. **data-design** - Database schema and storage
|
|
23
|
+
7. **tech-stack** - Technology choices
|
|
24
|
+
8. **roadmap** - Implementation plan
|
|
25
|
+
|
|
26
|
+
## Phase Selection Rules
|
|
27
|
+
|
|
28
|
+
**Always include**:
|
|
29
|
+
- discovery (foundation)
|
|
30
|
+
- roadmap (execution plan)
|
|
31
|
+
|
|
32
|
+
**Include if building**:
|
|
33
|
+
- user-flows: Has UI/UX
|
|
34
|
+
- domain-modeling: Has data entities
|
|
35
|
+
- api-design: Has backend API
|
|
36
|
+
- architecture: Complex system
|
|
37
|
+
- data-design: Needs database
|
|
38
|
+
- tech-stack: Greenfield project
|
|
39
|
+
|
|
40
|
+
**Skip if**:
|
|
41
|
+
- Simple script: Skip most phases
|
|
42
|
+
- Frontend only: Skip api-design, data-design
|
|
43
|
+
- CLI tool: Skip user-flows
|
|
44
|
+
- Existing stack: Skip tech-stack
|
|
45
|
+
|
|
46
|
+
## Output Format
|
|
47
|
+
|
|
48
|
+
Return array of needed phases:
|
|
49
|
+
```json
|
|
50
|
+
{
|
|
51
|
+
"phases": ["discovery", "domain-modeling", "api-design", "roadmap"],
|
|
52
|
+
"reasoning": "Simple CRUD app needs data model and API"
|
|
53
|
+
}
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
## Guidelines
|
|
57
|
+
- Don't over-architect
|
|
58
|
+
- Match complexity to project
|
|
59
|
+
- MVP first, expand later
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
{
|
|
2
|
+
"items": [
|
|
3
|
+
{
|
|
4
|
+
"issue": "Raw <img> usage in Next.js components",
|
|
5
|
+
"suggestion": "Use next/image unless there is a documented exception for external constraints.",
|
|
6
|
+
"severity": "medium",
|
|
7
|
+
"framework": "Next.js",
|
|
8
|
+
"confidence": 0.86
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
"issue": "Client components without need",
|
|
12
|
+
"suggestion": "Avoid unnecessary use client directives and keep components server-first when possible.",
|
|
13
|
+
"severity": "medium",
|
|
14
|
+
"framework": "Next.js",
|
|
15
|
+
"confidence": 0.75
|
|
16
|
+
}
|
|
17
|
+
]
|
|
18
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
{
|
|
2
|
+
"items": [
|
|
3
|
+
{
|
|
4
|
+
"issue": "State mutation in place",
|
|
5
|
+
"suggestion": "Use immutable updates and derive state from props/data flows where possible.",
|
|
6
|
+
"severity": "high",
|
|
7
|
+
"framework": "React",
|
|
8
|
+
"confidence": 0.82
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
"issue": "UI primitives bypassing design system",
|
|
12
|
+
"suggestion": "Use approved component abstractions before introducing raw HTML controls.",
|
|
13
|
+
"severity": "medium",
|
|
14
|
+
"framework": "React",
|
|
15
|
+
"confidence": 0.74
|
|
16
|
+
}
|
|
17
|
+
]
|
|
18
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
{
|
|
2
|
+
"items": [
|
|
3
|
+
{
|
|
4
|
+
"issue": "Unbounded any type",
|
|
5
|
+
"suggestion": "Use explicit types or unknown with narrowing. Add inline justification for unavoidable any.",
|
|
6
|
+
"severity": "high",
|
|
7
|
+
"language": "TypeScript",
|
|
8
|
+
"confidence": 0.9
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
"issue": "Unscoped @ts-ignore",
|
|
12
|
+
"suggestion": "Prefer @ts-expect-error with rationale and follow-up cleanup ticket.",
|
|
13
|
+
"severity": "medium",
|
|
14
|
+
"language": "TypeScript",
|
|
15
|
+
"confidence": 0.85
|
|
16
|
+
}
|
|
17
|
+
]
|
|
18
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
{
|
|
2
|
+
"items": [
|
|
3
|
+
{
|
|
4
|
+
"name": "Use framework primitives",
|
|
5
|
+
"description": "Prefer next/image, next/link, and native Next.js routing/data primitives over ad-hoc replacements.",
|
|
6
|
+
"severity": "high",
|
|
7
|
+
"framework": "Next.js",
|
|
8
|
+
"confidence": 0.9
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
"name": "Server-first rendering model",
|
|
12
|
+
"description": "Default to server components and move interactivity to focused client boundaries.",
|
|
13
|
+
"severity": "medium",
|
|
14
|
+
"framework": "Next.js",
|
|
15
|
+
"confidence": 0.78
|
|
16
|
+
}
|
|
17
|
+
]
|
|
18
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
{
|
|
2
|
+
"items": [
|
|
3
|
+
{
|
|
4
|
+
"name": "Composition over duplication",
|
|
5
|
+
"description": "Extract reusable components and hooks for repeated UI/business behaviors.",
|
|
6
|
+
"severity": "medium",
|
|
7
|
+
"framework": "React",
|
|
8
|
+
"confidence": 0.8
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
"name": "Design-system-first UI",
|
|
12
|
+
"description": "Prefer project UI components/tokens to keep behavior and styling consistent.",
|
|
13
|
+
"severity": "high",
|
|
14
|
+
"framework": "React",
|
|
15
|
+
"confidence": 0.84
|
|
16
|
+
}
|
|
17
|
+
]
|
|
18
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
{
|
|
2
|
+
"items": [
|
|
3
|
+
{
|
|
4
|
+
"name": "Prefer strict typing contracts",
|
|
5
|
+
"description": "Functions and component props should be explicitly typed; avoid implicit any boundaries.",
|
|
6
|
+
"severity": "high",
|
|
7
|
+
"language": "TypeScript",
|
|
8
|
+
"confidence": 0.88
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
"name": "Type-first API surfaces",
|
|
12
|
+
"description": "Exported modules should define reusable domain types for inputs and outputs.",
|
|
13
|
+
"severity": "medium",
|
|
14
|
+
"language": "TypeScript",
|
|
15
|
+
"confidence": 0.8
|
|
16
|
+
}
|
|
17
|
+
]
|
|
18
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# Architecture Checklist
|
|
2
|
+
|
|
3
|
+
> Applies to ANY system architecture
|
|
4
|
+
|
|
5
|
+
## Design Principles
|
|
6
|
+
- [ ] Clear separation of concerns
|
|
7
|
+
- [ ] Loose coupling between components
|
|
8
|
+
- [ ] High cohesion within modules
|
|
9
|
+
- [ ] Single source of truth for data
|
|
10
|
+
- [ ] Explicit dependencies (no hidden coupling)
|
|
11
|
+
|
|
12
|
+
## Scalability
|
|
13
|
+
- [ ] Stateless where possible
|
|
14
|
+
- [ ] Horizontal scaling considered
|
|
15
|
+
- [ ] Bottlenecks identified
|
|
16
|
+
- [ ] Caching strategy defined
|
|
17
|
+
|
|
18
|
+
## Resilience
|
|
19
|
+
- [ ] Failure modes documented
|
|
20
|
+
- [ ] Graceful degradation planned
|
|
21
|
+
- [ ] Recovery procedures defined
|
|
22
|
+
- [ ] Circuit breakers where needed
|
|
23
|
+
|
|
24
|
+
## Maintainability
|
|
25
|
+
- [ ] Clear boundaries between layers
|
|
26
|
+
- [ ] Easy to test in isolation
|
|
27
|
+
- [ ] Configuration externalized
|
|
28
|
+
- [ ] Logging and observability built-in
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# Code Quality Checklist
|
|
2
|
+
|
|
3
|
+
> Universal principles for ANY programming language
|
|
4
|
+
|
|
5
|
+
## Universal Principles
|
|
6
|
+
- [ ] Single Responsibility: Each unit does ONE thing well
|
|
7
|
+
- [ ] DRY: No duplicated logic (extract shared code)
|
|
8
|
+
- [ ] KISS: Simplest solution that works
|
|
9
|
+
- [ ] Clear naming: Self-documenting identifiers
|
|
10
|
+
- [ ] Consistent patterns: Match existing codebase style
|
|
11
|
+
|
|
12
|
+
## Error Handling
|
|
13
|
+
- [ ] All error paths handled gracefully
|
|
14
|
+
- [ ] Meaningful error messages
|
|
15
|
+
- [ ] No silent failures
|
|
16
|
+
- [ ] Proper resource cleanup (files, connections, memory)
|
|
17
|
+
|
|
18
|
+
## Edge Cases
|
|
19
|
+
- [ ] Null/nil/None handling
|
|
20
|
+
- [ ] Empty collections handled
|
|
21
|
+
- [ ] Boundary conditions tested
|
|
22
|
+
- [ ] Invalid input rejected early
|
|
23
|
+
|
|
24
|
+
## Code Organization
|
|
25
|
+
- [ ] Functions/methods are small and focused
|
|
26
|
+
- [ ] Related code grouped together
|
|
27
|
+
- [ ] Clear module/package boundaries
|
|
28
|
+
- [ ] No circular dependencies
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# Data Checklist
|
|
2
|
+
|
|
3
|
+
> Applies to: SQL, NoSQL, GraphQL, File storage, Caching
|
|
4
|
+
|
|
5
|
+
## Data Integrity
|
|
6
|
+
- [ ] Schema/structure defined
|
|
7
|
+
- [ ] Constraints enforced
|
|
8
|
+
- [ ] Transactions used appropriately
|
|
9
|
+
- [ ] Referential integrity maintained
|
|
10
|
+
|
|
11
|
+
## Query Performance
|
|
12
|
+
- [ ] Indexes on frequent queries
|
|
13
|
+
- [ ] N+1 queries eliminated
|
|
14
|
+
- [ ] Query complexity analyzed
|
|
15
|
+
- [ ] Pagination for large datasets
|
|
16
|
+
|
|
17
|
+
## Data Operations
|
|
18
|
+
- [ ] Migrations versioned and reversible
|
|
19
|
+
- [ ] Backup and restore tested
|
|
20
|
+
- [ ] Data validation at boundary
|
|
21
|
+
- [ ] Soft deletes considered (if applicable)
|
|
22
|
+
|
|
23
|
+
## Caching
|
|
24
|
+
- [ ] Cache invalidation strategy defined
|
|
25
|
+
- [ ] TTL values appropriate
|
|
26
|
+
- [ ] Cache warming considered
|
|
27
|
+
- [ ] Cache hit/miss monitored
|
|
28
|
+
|
|
29
|
+
## Data Privacy
|
|
30
|
+
- [ ] PII identified and protected
|
|
31
|
+
- [ ] Data anonymization where needed
|
|
32
|
+
- [ ] Audit trail for sensitive data
|
|
33
|
+
- [ ] Data deletion procedures defined
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# Documentation Checklist
|
|
2
|
+
|
|
3
|
+
> Applies to ALL projects
|
|
4
|
+
|
|
5
|
+
## Essential Docs
|
|
6
|
+
- [ ] README with quick start
|
|
7
|
+
- [ ] Installation instructions
|
|
8
|
+
- [ ] Configuration options documented
|
|
9
|
+
- [ ] Common use cases shown
|
|
10
|
+
|
|
11
|
+
## Code Documentation
|
|
12
|
+
- [ ] Public APIs documented
|
|
13
|
+
- [ ] Complex logic explained
|
|
14
|
+
- [ ] Architecture decisions recorded (ADRs)
|
|
15
|
+
- [ ] Diagrams for complex flows
|
|
16
|
+
|
|
17
|
+
## Operational Docs
|
|
18
|
+
- [ ] Deployment process documented
|
|
19
|
+
- [ ] Troubleshooting guide
|
|
20
|
+
- [ ] Runbooks for common issues
|
|
21
|
+
- [ ] Changelog maintained
|
|
22
|
+
|
|
23
|
+
## API Documentation
|
|
24
|
+
- [ ] All endpoints documented
|
|
25
|
+
- [ ] Request/response examples
|
|
26
|
+
- [ ] Error codes explained
|
|
27
|
+
- [ ] Authentication documented
|
|
28
|
+
|
|
29
|
+
## Maintenance
|
|
30
|
+
- [ ] Docs updated with code changes
|
|
31
|
+
- [ ] Version-specific documentation
|
|
32
|
+
- [ ] Broken links checked
|
|
33
|
+
- [ ] Examples tested and working
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# Infrastructure Checklist
|
|
2
|
+
|
|
3
|
+
> Applies to: Cloud, On-prem, Hybrid, Edge
|
|
4
|
+
|
|
5
|
+
## Deployment
|
|
6
|
+
- [ ] Infrastructure as Code (Terraform, Pulumi, CloudFormation, etc.)
|
|
7
|
+
- [ ] Reproducible environments
|
|
8
|
+
- [ ] Rollback strategy defined
|
|
9
|
+
- [ ] Blue-green or canary deployment option
|
|
10
|
+
|
|
11
|
+
## Observability
|
|
12
|
+
- [ ] Logging strategy defined
|
|
13
|
+
- [ ] Metrics collection configured
|
|
14
|
+
- [ ] Alerting thresholds set
|
|
15
|
+
- [ ] Distributed tracing (if applicable)
|
|
16
|
+
|
|
17
|
+
## Security
|
|
18
|
+
- [ ] Secrets management (not in code)
|
|
19
|
+
- [ ] Network segmentation
|
|
20
|
+
- [ ] Least privilege access
|
|
21
|
+
- [ ] Encryption at rest and in transit
|
|
22
|
+
|
|
23
|
+
## Reliability
|
|
24
|
+
- [ ] Backup strategy defined
|
|
25
|
+
- [ ] Disaster recovery plan
|
|
26
|
+
- [ ] Health checks configured
|
|
27
|
+
- [ ] Auto-scaling rules (if applicable)
|
|
28
|
+
|
|
29
|
+
## Cost Management
|
|
30
|
+
- [ ] Resource sizing appropriate
|
|
31
|
+
- [ ] Unused resources identified
|
|
32
|
+
- [ ] Cost monitoring in place
|
|
33
|
+
- [ ] Budget alerts configured
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# Performance Checklist
|
|
2
|
+
|
|
3
|
+
> Applies to: Backend, Frontend, Mobile, Database
|
|
4
|
+
|
|
5
|
+
## Analysis
|
|
6
|
+
- [ ] Bottlenecks identified with profiling
|
|
7
|
+
- [ ] Baseline metrics established
|
|
8
|
+
- [ ] Performance budgets defined
|
|
9
|
+
- [ ] Benchmarks before/after changes
|
|
10
|
+
|
|
11
|
+
## Optimization Strategies
|
|
12
|
+
- [ ] Algorithmic complexity reviewed (O(n) vs O(n²))
|
|
13
|
+
- [ ] Appropriate data structures used
|
|
14
|
+
- [ ] Caching implemented where beneficial
|
|
15
|
+
- [ ] Lazy loading for expensive operations
|
|
16
|
+
|
|
17
|
+
## Resource Management
|
|
18
|
+
- [ ] Memory usage optimized
|
|
19
|
+
- [ ] Connection pooling used
|
|
20
|
+
- [ ] Batch operations where applicable
|
|
21
|
+
- [ ] Async/parallel processing considered
|
|
22
|
+
|
|
23
|
+
## Frontend Specific
|
|
24
|
+
- [ ] Bundle size optimized
|
|
25
|
+
- [ ] Images optimized
|
|
26
|
+
- [ ] Critical rendering path optimized
|
|
27
|
+
- [ ] Network requests minimized
|
|
28
|
+
|
|
29
|
+
## Backend Specific
|
|
30
|
+
- [ ] Database queries optimized
|
|
31
|
+
- [ ] Response compression enabled
|
|
32
|
+
- [ ] Proper indexing in place
|
|
33
|
+
- [ ] Connection limits configured
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# Security Checklist
|
|
2
|
+
|
|
3
|
+
> ALWAYS ON - Applies to ALL applications
|
|
4
|
+
|
|
5
|
+
## Input/Output
|
|
6
|
+
- [ ] All user input validated and sanitized
|
|
7
|
+
- [ ] Output encoded appropriately (prevent injection)
|
|
8
|
+
- [ ] File uploads restricted and scanned
|
|
9
|
+
- [ ] No sensitive data in logs or error messages
|
|
10
|
+
|
|
11
|
+
## Authentication & Authorization
|
|
12
|
+
- [ ] Strong authentication mechanism
|
|
13
|
+
- [ ] Proper session management
|
|
14
|
+
- [ ] Authorization checked at every access point
|
|
15
|
+
- [ ] Principle of least privilege applied
|
|
16
|
+
|
|
17
|
+
## Data Protection
|
|
18
|
+
- [ ] Sensitive data encrypted at rest
|
|
19
|
+
- [ ] Secure transmission (TLS/HTTPS)
|
|
20
|
+
- [ ] PII handled according to regulations
|
|
21
|
+
- [ ] Data retention policies followed
|
|
22
|
+
|
|
23
|
+
## Dependencies
|
|
24
|
+
- [ ] Dependencies from trusted sources
|
|
25
|
+
- [ ] Known vulnerabilities checked
|
|
26
|
+
- [ ] Minimal dependency surface
|
|
27
|
+
- [ ] Regular security updates planned
|
|
28
|
+
|
|
29
|
+
## API Security
|
|
30
|
+
- [ ] Rate limiting implemented
|
|
31
|
+
- [ ] Authentication required for sensitive endpoints
|
|
32
|
+
- [ ] CORS properly configured
|
|
33
|
+
- [ ] API keys/tokens secured
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# Testing Checklist
|
|
2
|
+
|
|
3
|
+
> Applies to: Unit, Integration, E2E, Performance testing
|
|
4
|
+
|
|
5
|
+
## Coverage Strategy
|
|
6
|
+
- [ ] Critical paths have high coverage
|
|
7
|
+
- [ ] Happy path tested
|
|
8
|
+
- [ ] Error paths tested
|
|
9
|
+
- [ ] Edge cases covered
|
|
10
|
+
|
|
11
|
+
## Test Quality
|
|
12
|
+
- [ ] Tests are deterministic (no flaky tests)
|
|
13
|
+
- [ ] Tests are independent (no order dependency)
|
|
14
|
+
- [ ] Tests are fast (optimize slow tests)
|
|
15
|
+
- [ ] Tests are readable (clear intent)
|
|
16
|
+
|
|
17
|
+
## Test Types
|
|
18
|
+
- [ ] Unit tests for business logic
|
|
19
|
+
- [ ] Integration tests for boundaries
|
|
20
|
+
- [ ] E2E tests for critical flows
|
|
21
|
+
- [ ] Performance tests for bottlenecks
|
|
22
|
+
|
|
23
|
+
## Mocking Strategy
|
|
24
|
+
- [ ] External services mocked
|
|
25
|
+
- [ ] Database isolated or mocked
|
|
26
|
+
- [ ] Time-dependent code controlled
|
|
27
|
+
- [ ] Random values seeded
|
|
28
|
+
|
|
29
|
+
## Test Maintenance
|
|
30
|
+
- [ ] Tests updated with code changes
|
|
31
|
+
- [ ] Dead tests removed
|
|
32
|
+
- [ ] Test data managed properly
|
|
33
|
+
- [ ] CI/CD integration working
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# UX/UI Checklist
|
|
2
|
+
|
|
3
|
+
> Applies to: Web, Mobile, CLI, Desktop, API DX
|
|
4
|
+
|
|
5
|
+
## User Experience
|
|
6
|
+
- [ ] Clear user journey/flow
|
|
7
|
+
- [ ] Feedback for every action
|
|
8
|
+
- [ ] Loading states shown
|
|
9
|
+
- [ ] Error states handled gracefully
|
|
10
|
+
- [ ] Success confirmation provided
|
|
11
|
+
|
|
12
|
+
## Interface Design
|
|
13
|
+
- [ ] Consistent visual language
|
|
14
|
+
- [ ] Intuitive navigation
|
|
15
|
+
- [ ] Responsive/adaptive layout (if applicable)
|
|
16
|
+
- [ ] Touch targets adequate (mobile)
|
|
17
|
+
- [ ] Keyboard navigation (web/desktop)
|
|
18
|
+
|
|
19
|
+
## CLI Specific
|
|
20
|
+
- [ ] Help text for all commands
|
|
21
|
+
- [ ] Clear error messages with suggestions
|
|
22
|
+
- [ ] Progress indicators for long operations
|
|
23
|
+
- [ ] Consistent flag naming conventions
|
|
24
|
+
- [ ] Exit codes meaningful
|
|
25
|
+
|
|
26
|
+
## API DX (Developer Experience)
|
|
27
|
+
- [ ] Intuitive endpoint/function naming
|
|
28
|
+
- [ ] Consistent response format
|
|
29
|
+
- [ ] Helpful error messages with codes
|
|
30
|
+
- [ ] Good documentation with examples
|
|
31
|
+
- [ ] Predictable behavior
|
|
32
|
+
|
|
33
|
+
## Information Architecture
|
|
34
|
+
- [ ] Content hierarchy clear
|
|
35
|
+
- [ ] Important actions prominent
|
|
36
|
+
- [ ] Related items grouped
|
|
37
|
+
- [ ] Search/filter for large datasets
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: prjct
|
|
3
|
+
description: Use when user mentions p., prjct, project management, task tracking, or workflow commands (sync, task, done, ship, pause, resume, next, bug, idea, dash).
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# prjct — Context layer for AI agents
|
|
7
|
+
|
|
8
|
+
Grammar: `p. <command> [args]`
|
|
9
|
+
|
|
10
|
+
Supported commands:
|
|
11
|
+
`sync` `task` `done` `ship` `pause` `resume` `next` `bug` `idea` `dash`
|
|
12
|
+
`init` `setup` `verify` `status` `review` `plan` `spec` `test` `workflow`
|
|
13
|
+
`sessions` `analyze` `cleanup` `design` `serve` `linear` `jira` `git`
|
|
14
|
+
`history` `update` `merge` `learnings` `skill` `auth` `prd` `impact` `enrich`
|
|
15
|
+
|
|
16
|
+
Deterministic template resolution order for `p. <command>`:
|
|
17
|
+
1. `require.resolve('prjct-cli/package.json')` -> `{pkgRoot}/templates/commands/{command}.md`
|
|
18
|
+
2. `npm root -g` -> `{npmRoot}/prjct-cli/templates/commands/{command}.md`
|
|
19
|
+
3. Local fallback (dev mode) -> `{localPrjctCliRoot}/templates/commands/{command}.md`
|
|
20
|
+
|
|
21
|
+
If command is not in supported list:
|
|
22
|
+
- Return: `Unknown command: p. <command>`
|
|
23
|
+
- Include valid commands and suggest `prjct setup`
|
|
24
|
+
|
|
25
|
+
If command exists but template cannot be resolved:
|
|
26
|
+
- Block and ask for repair:
|
|
27
|
+
- `prjct start`
|
|
28
|
+
- `prjct setup`
|
|
29
|
+
- Do not continue with ad-hoc behavior.
|
|
30
|
+
|
|
31
|
+
Rules:
|
|
32
|
+
- Never commit to main/master directly
|
|
33
|
+
- All commits include footer: `Generated with [p/](https://www.prjct.app/)`
|
|
34
|
+
- All storage through `prjct` CLI (SQLite internally)
|
|
35
|
+
- Start code tasks with `p. task` and follow Context Contract from CLI output
|
|
36
|
+
- Context7 MCP is mandatory for framework/library API decisions
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
---
|
|
2
|
+
allowed-tools: [Bash, AskUserQuestion]
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# p. auth $ARGUMENTS
|
|
6
|
+
|
|
7
|
+
Supports: `login`, `logout`, `status` (default: show status).
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
prjct auth $ARGUMENTS --md
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
Follow the instructions in the CLI output.
|
|
14
|
+
|
|
15
|
+
For `login`: ASK for API key if needed.
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
---
|
|
2
|
+
allowed-tools: [Bash, Task, AskUserQuestion]
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# p. bug $ARGUMENTS
|
|
6
|
+
|
|
7
|
+
## Step 1: Validate
|
|
8
|
+
If $ARGUMENTS is empty, ASK the user for a bug description.
|
|
9
|
+
|
|
10
|
+
## Step 2: Report and explore
|
|
11
|
+
```bash
|
|
12
|
+
prjct bug "$ARGUMENTS" --md
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
Search the codebase for affected files.
|
|
16
|
+
|
|
17
|
+
## Step 3: Fix now or queue
|
|
18
|
+
ASK: "Fix this bug now?" Fix now / Queue for later
|
|
19
|
+
|
|
20
|
+
If fix now: create branch `bug/{slug}` and start working.
|
|
21
|
+
If queue: done -- bug is tracked.
|
|
22
|
+
|
|
23
|
+
## Presentation
|
|
24
|
+
Format bug reports as:
|
|
25
|
+
|
|
26
|
+
1. `**Bug reported**: {description}`
|
|
27
|
+
2. Show affected files with `code formatting` for paths
|
|
28
|
+
3. Present fix/queue options clearly
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
---
|
|
2
|
+
allowed-tools: [Bash]
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# p. dash $ARGUMENTS
|
|
6
|
+
|
|
7
|
+
Supports views: `compact`, `week`, `month`, `roadmap` (default: full dashboard).
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
prjct dash ${ARGUMENTS || ""} --md
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
Follow the instructions in the CLI output.
|
|
14
|
+
|
|
15
|
+
## Presentation
|
|
16
|
+
Present dashboard data using the tables and sections from CLI markdown. Keep it scannable — the dashboard should be a quick status overview.
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
---
|
|
2
|
+
allowed-tools: [Bash, Read, AskUserQuestion]
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# p. done
|
|
6
|
+
|
|
7
|
+
## Step 1: Complete via CLI
|
|
8
|
+
```bash
|
|
9
|
+
prjct done --md
|
|
10
|
+
```
|
|
11
|
+
If CLI output is JSON with `options`, present the options to the user and execute the chosen command.
|
|
12
|
+
|
|
13
|
+
## Step 2: Verify completion
|
|
14
|
+
- Review files changed: `git diff --name-only HEAD`
|
|
15
|
+
- Ensure work is complete and tested
|
|
16
|
+
|
|
17
|
+
## Step 3: Handoff context
|
|
18
|
+
Summarize what was done and what the next subtask needs to know.
|
|
19
|
+
|
|
20
|
+
## Step 4: Follow CLI next steps → Ship
|
|
21
|
+
After completing, you MUST ask:
|
|
22
|
+
ASK: "Subtask done. Ready to ship or continue to next subtask?"
|
|
23
|
+
- Ship now → execute `p. ship` workflow (load and follow `~/.claude/commands/p/ship.md`)
|
|
24
|
+
- Next subtask → continue working
|
|
25
|
+
- Pause → execute `p. pause`
|
|
26
|
+
|
|
27
|
+
## Presentation
|
|
28
|
+
Format your completion summary as:
|
|
29
|
+
|
|
30
|
+
1. `**Subtask complete**: {what was done}`
|
|
31
|
+
2. Brief summary of changes (2-3 lines max)
|
|
32
|
+
3. If next subtask exists, preview what's next
|
|
33
|
+
4. Show next commands as a table
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
---
|
|
2
|
+
allowed-tools: [Bash, Read, Task, AskUserQuestion]
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# p. enrich $ARGUMENTS
|
|
6
|
+
|
|
7
|
+
## Step 1: Validate
|
|
8
|
+
If $ARGUMENTS is empty, ASK for an issue ID or description.
|
|
9
|
+
|
|
10
|
+
## Step 2: Fetch and analyze
|
|
11
|
+
```bash
|
|
12
|
+
prjct enrich "$ARGUMENTS" --md
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
Search the codebase for similar implementations and affected files.
|
|
16
|
+
|
|
17
|
+
## Step 3: Publish
|
|
18
|
+
ASK: "Update description / Add as comment / Just show me"
|
|
19
|
+
|
|
20
|
+
Follow the CLI instructions for publishing.
|