prjct-cli 0.10.12 → 0.10.14
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 +39 -0
- package/CLAUDE.md +47 -2
- package/core/agentic/command-executor.js +83 -112
- package/core/agentic/prompt-builder.js +72 -0
- package/core/commands.js +72 -0
- package/core/index.js +11 -0
- package/core/utils/branding.js +47 -0
- package/core/utils/output.js +19 -4
- package/package.json +1 -1
- package/templates/agentic/agent-routing.md +42 -9
- package/templates/agentic/checklist-routing.md +98 -0
- package/templates/checklists/accessibility.md +33 -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/commands/bug.md +27 -1
- package/templates/commands/feature.md +38 -1
- package/templates/commands/task.md +27 -1
package/core/utils/output.js
CHANGED
|
@@ -1,24 +1,39 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Minimal Output System for prjct-cli
|
|
3
3
|
* Spinner while working → Single line result
|
|
4
|
+
* With ⚡ prjct branding
|
|
4
5
|
*/
|
|
5
6
|
|
|
6
7
|
const chalk = require('chalk')
|
|
8
|
+
const branding = require('./branding')
|
|
7
9
|
|
|
8
|
-
const FRAMES =
|
|
9
|
-
const SPEED =
|
|
10
|
+
const FRAMES = branding.spinner.frames
|
|
11
|
+
const SPEED = branding.spinner.speed
|
|
10
12
|
|
|
11
13
|
let interval = null
|
|
12
14
|
let frame = 0
|
|
13
15
|
|
|
14
16
|
const truncate = (s, max = 50) => (s && s.length > max ? s.slice(0, max - 1) + '…' : s || '')
|
|
15
|
-
const clear = () => process.stdout.write('\r' + ' '.repeat(
|
|
17
|
+
const clear = () => process.stdout.write('\r' + ' '.repeat(80) + '\r')
|
|
16
18
|
|
|
17
19
|
const out = {
|
|
20
|
+
// Branding: Show header at start
|
|
21
|
+
start() {
|
|
22
|
+
console.log(branding.cli.header())
|
|
23
|
+
return this
|
|
24
|
+
},
|
|
25
|
+
|
|
26
|
+
// Branding: Show footer at end
|
|
27
|
+
end() {
|
|
28
|
+
console.log(branding.cli.footer())
|
|
29
|
+
return this
|
|
30
|
+
},
|
|
31
|
+
|
|
32
|
+
// Branded spinner: ⚡ prjct ⠋ message...
|
|
18
33
|
spin(msg) {
|
|
19
34
|
this.stop()
|
|
20
35
|
interval = setInterval(() => {
|
|
21
|
-
process.stdout.write(`\r${
|
|
36
|
+
process.stdout.write(`\r${branding.cli.spin(frame++, truncate(msg, 45))}`)
|
|
22
37
|
}, SPEED)
|
|
23
38
|
return this
|
|
24
39
|
},
|
package/package.json
CHANGED
|
@@ -57,17 +57,49 @@ Consider these agent specializations:
|
|
|
57
57
|
3. Consider secondary areas
|
|
58
58
|
4. Choose agent with best expertise match
|
|
59
59
|
|
|
60
|
-
##
|
|
60
|
+
## How to Invoke (EFFICIENT)
|
|
61
61
|
|
|
62
|
-
|
|
62
|
+
After deciding the best agent, **delegate via Task tool with REFERENCE, not content**:
|
|
63
63
|
|
|
64
|
-
```
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
64
|
+
```
|
|
65
|
+
Task(
|
|
66
|
+
subagent_type: 'general-purpose',
|
|
67
|
+
prompt: '
|
|
68
|
+
## Agent Assignment
|
|
69
|
+
Read and apply: ~/.prjct-cli/projects/{projectId}/agents/{agent-name}.md
|
|
70
|
+
|
|
71
|
+
## Task
|
|
72
|
+
{task description}
|
|
73
|
+
|
|
74
|
+
## Context
|
|
75
|
+
- Project: {projectPath}
|
|
76
|
+
- Files affected: {file list if known}
|
|
77
|
+
|
|
78
|
+
## Flow
|
|
79
|
+
1. Read agent file FIRST
|
|
80
|
+
2. Apply agent expertise and patterns
|
|
81
|
+
3. Execute task following agent guidelines
|
|
82
|
+
4. Return results
|
|
83
|
+
'
|
|
84
|
+
)
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
### Why References, Not Content
|
|
88
|
+
|
|
89
|
+
| Approach | Prompt Size | Issue |
|
|
90
|
+
|----------|-------------|-------|
|
|
91
|
+
| ❌ Inject content | 3-5KB | Bloats context, increases hallucinations |
|
|
92
|
+
| ✅ Pass reference | ~200 bytes | Subagent reads what it needs |
|
|
93
|
+
|
|
94
|
+
**CRITICAL:** The subagent reads the agent file itself. You do NOT need to read and inject the content.
|
|
95
|
+
|
|
96
|
+
## Output (After Delegation)
|
|
97
|
+
|
|
98
|
+
After Task tool returns, summarize:
|
|
99
|
+
|
|
100
|
+
```
|
|
101
|
+
✅ Delegated to: {agent-name}
|
|
102
|
+
Result: {brief summary from subagent}
|
|
71
103
|
```
|
|
72
104
|
|
|
73
105
|
## Rules
|
|
@@ -75,4 +107,5 @@ Return the recommended agent with reasoning:
|
|
|
75
107
|
- **Task-driven, not tech-driven** - Focus on what needs to be done
|
|
76
108
|
- **Context matters** - Same tech can mean different things in different projects
|
|
77
109
|
- **Be flexible** - One project's "backend" might be another's "full-stack"
|
|
110
|
+
- **Pass PATH, not CONTENT** - Let subagent read the agent file
|
|
78
111
|
- **Explain your reasoning** - Don't just pick, justify
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
---
|
|
2
|
+
allowed-tools: [Read, Glob]
|
|
3
|
+
description: 'Determine which quality checklists to apply - Claude decides'
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Checklist Routing Instructions
|
|
7
|
+
|
|
8
|
+
## Objective
|
|
9
|
+
|
|
10
|
+
Determine which quality checklists are relevant for a task by analyzing the ACTUAL task and its scope.
|
|
11
|
+
|
|
12
|
+
## Step 1: Understand the Task
|
|
13
|
+
|
|
14
|
+
Read the task description and identify:
|
|
15
|
+
|
|
16
|
+
- What type of work is being done? (new feature, bug fix, refactor, infra, docs)
|
|
17
|
+
- What domains are affected? (code, UI, API, database, deployment)
|
|
18
|
+
- What is the scope? (small fix, major feature, architectural change)
|
|
19
|
+
|
|
20
|
+
## Step 2: Consider Task Domains
|
|
21
|
+
|
|
22
|
+
Each task can touch multiple domains. Consider:
|
|
23
|
+
|
|
24
|
+
| Domain | Signals |
|
|
25
|
+
|--------|---------|
|
|
26
|
+
| Code Quality | Writing/modifying any code |
|
|
27
|
+
| Architecture | New components, services, or major refactors |
|
|
28
|
+
| UX/UI | User-facing changes, CLI output, visual elements |
|
|
29
|
+
| Infrastructure | Deployment, containers, CI/CD, cloud resources |
|
|
30
|
+
| Security | Auth, user data, external inputs, secrets |
|
|
31
|
+
| Testing | New functionality, bug fixes, critical paths |
|
|
32
|
+
| Documentation | Public APIs, complex features, breaking changes |
|
|
33
|
+
| Performance | Data processing, loops, network calls, rendering |
|
|
34
|
+
| Accessibility | User interfaces (web, mobile, CLI) |
|
|
35
|
+
| Data | Database operations, caching, data transformations |
|
|
36
|
+
|
|
37
|
+
## Step 3: Match Task to Checklists
|
|
38
|
+
|
|
39
|
+
Based on your analysis, select relevant checklists:
|
|
40
|
+
|
|
41
|
+
**DO NOT assume:**
|
|
42
|
+
- Every task needs all checklists
|
|
43
|
+
- "Frontend" = only UX checklist
|
|
44
|
+
- "Backend" = only Code Quality checklist
|
|
45
|
+
|
|
46
|
+
**DO analyze:**
|
|
47
|
+
- What the task actually touches
|
|
48
|
+
- What quality dimensions matter for this specific work
|
|
49
|
+
- What could go wrong if not checked
|
|
50
|
+
|
|
51
|
+
## Available Checklists
|
|
52
|
+
|
|
53
|
+
Located in `templates/checklists/`:
|
|
54
|
+
|
|
55
|
+
| Checklist | When to Apply |
|
|
56
|
+
|-----------|---------------|
|
|
57
|
+
| `code-quality.md` | Any code changes (any language) |
|
|
58
|
+
| `architecture.md` | New modules, services, significant structural changes |
|
|
59
|
+
| `ux-ui.md` | User-facing interfaces (web, mobile, CLI, API DX) |
|
|
60
|
+
| `infrastructure.md` | Deployment, containers, CI/CD, cloud resources |
|
|
61
|
+
| `security.md` | ALWAYS for: auth, user input, external APIs, secrets |
|
|
62
|
+
| `testing.md` | New features, bug fixes, refactors |
|
|
63
|
+
| `documentation.md` | Public APIs, complex features, configuration changes |
|
|
64
|
+
| `performance.md` | Data-intensive operations, critical paths |
|
|
65
|
+
| `accessibility.md` | Any user interface work |
|
|
66
|
+
| `data.md` | Database, caching, data transformations |
|
|
67
|
+
|
|
68
|
+
## Decision Process
|
|
69
|
+
|
|
70
|
+
1. Read task description
|
|
71
|
+
2. Identify primary work domain
|
|
72
|
+
3. List secondary domains affected
|
|
73
|
+
4. Select 2-4 most relevant checklists
|
|
74
|
+
5. Consider Security (almost always relevant)
|
|
75
|
+
|
|
76
|
+
## Output
|
|
77
|
+
|
|
78
|
+
Return selected checklists with reasoning:
|
|
79
|
+
|
|
80
|
+
```json
|
|
81
|
+
{
|
|
82
|
+
"checklists": ["code-quality", "security", "testing"],
|
|
83
|
+
"reasoning": "Task involves new API endpoint (code), handles user input (security), and adds business logic (testing)",
|
|
84
|
+
"priority_items": ["Input validation", "Error handling", "Happy path tests"],
|
|
85
|
+
"skipped": {
|
|
86
|
+
"accessibility": "No user interface changes",
|
|
87
|
+
"infrastructure": "No deployment changes"
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
## Rules
|
|
93
|
+
|
|
94
|
+
- **Task-driven** - Focus on what the specific task needs
|
|
95
|
+
- **Less is more** - 2-4 focused checklists beat 10 unfocused
|
|
96
|
+
- **Security is special** - Default to including unless clearly irrelevant
|
|
97
|
+
- **Explain your reasoning** - Don't just pick, justify selections AND skips
|
|
98
|
+
- **Context matters** - Small typo fix ≠ major refactor in checklist needs
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# Accessibility Checklist
|
|
2
|
+
|
|
3
|
+
> Applies to: Web (WCAG), Mobile, CLI, Desktop
|
|
4
|
+
|
|
5
|
+
## Perceivable
|
|
6
|
+
- [ ] Text alternatives for non-text content
|
|
7
|
+
- [ ] Sufficient color contrast (4.5:1 minimum)
|
|
8
|
+
- [ ] Content readable without color alone
|
|
9
|
+
- [ ] Resizable text supported (up to 200%)
|
|
10
|
+
|
|
11
|
+
## Operable
|
|
12
|
+
- [ ] Keyboard accessible (all functionality)
|
|
13
|
+
- [ ] No keyboard traps
|
|
14
|
+
- [ ] Sufficient time for interactions
|
|
15
|
+
- [ ] Seizure-safe (no flashing > 3Hz)
|
|
16
|
+
|
|
17
|
+
## Understandable
|
|
18
|
+
- [ ] Clear and simple language
|
|
19
|
+
- [ ] Consistent navigation
|
|
20
|
+
- [ ] Input assistance provided
|
|
21
|
+
- [ ] Error identification and suggestions
|
|
22
|
+
|
|
23
|
+
## Robust
|
|
24
|
+
- [ ] Compatible with assistive technologies
|
|
25
|
+
- [ ] Valid markup/structure
|
|
26
|
+
- [ ] ARIA used correctly (web)
|
|
27
|
+
- [ ] Semantic HTML elements used
|
|
28
|
+
|
|
29
|
+
## CLI Accessibility
|
|
30
|
+
- [ ] Screen reader compatible output
|
|
31
|
+
- [ ] No color-only information
|
|
32
|
+
- [ ] Clear text formatting
|
|
33
|
+
- [ ] Configurable output verbosity
|
|
@@ -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
|
|
@@ -1,10 +1,36 @@
|
|
|
1
1
|
---
|
|
2
|
-
allowed-tools: [Read, Write]
|
|
2
|
+
allowed-tools: [Read, Write, Task, Glob]
|
|
3
3
|
description: 'Report bug with auto-priority'
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# /p:bug
|
|
7
7
|
|
|
8
|
+
## Agent Delegation (REQUIRED)
|
|
9
|
+
|
|
10
|
+
Before fixing a bug, delegate to specialist agent:
|
|
11
|
+
|
|
12
|
+
1. **List agents**: `Glob("~/.prjct-cli/projects/{projectId}/agents/*.md")`
|
|
13
|
+
2. **Analyze bug domain**: frontend, backend, database, etc.
|
|
14
|
+
3. **Delegate via Task tool**:
|
|
15
|
+
|
|
16
|
+
```
|
|
17
|
+
Task(
|
|
18
|
+
subagent_type: 'general-purpose',
|
|
19
|
+
prompt: '
|
|
20
|
+
## Agent
|
|
21
|
+
Read: ~/.prjct-cli/projects/{projectId}/agents/{agent}.md
|
|
22
|
+
|
|
23
|
+
## Bug
|
|
24
|
+
{bug description}
|
|
25
|
+
|
|
26
|
+
## Flow
|
|
27
|
+
1. Read agent file
|
|
28
|
+
2. Apply expertise to fix bug
|
|
29
|
+
3. Return fix
|
|
30
|
+
'
|
|
31
|
+
)
|
|
32
|
+
```
|
|
33
|
+
|
|
8
34
|
## Severity Keywords
|
|
9
35
|
- **Critical**: crash, down, broken, production
|
|
10
36
|
- **High**: error, fail, issue
|
|
@@ -1,11 +1,48 @@
|
|
|
1
1
|
---
|
|
2
|
-
allowed-tools: [Read, Write, Bash]
|
|
2
|
+
allowed-tools: [Read, Write, Bash, Task, Glob]
|
|
3
3
|
description: 'Value analysis + roadmap + task breakdown + auto-start'
|
|
4
4
|
timestamp-rule: 'GetTimestamp() and GetDate() for ALL timestamps'
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
# /p:feature - Add Feature to Roadmap
|
|
8
8
|
|
|
9
|
+
## Agent Delegation (REQUIRED)
|
|
10
|
+
|
|
11
|
+
Before executing any code-related task, delegate to a specialist agent:
|
|
12
|
+
|
|
13
|
+
### Step 0: Assign Agent
|
|
14
|
+
|
|
15
|
+
1. **List agents**: `Glob("~/.prjct-cli/projects/{projectId}/agents/*.md")`
|
|
16
|
+
2. **Read routing**: `Read("templates/agentic/agent-routing.md")`
|
|
17
|
+
3. **Analyze task**: Determine domain (frontend, backend, testing, etc.)
|
|
18
|
+
4. **Select agent**: Match task to best agent
|
|
19
|
+
5. **Delegate via Task tool** (pass reference, NOT content):
|
|
20
|
+
|
|
21
|
+
```
|
|
22
|
+
Task(
|
|
23
|
+
subagent_type: 'general-purpose',
|
|
24
|
+
prompt: '
|
|
25
|
+
## Agent Assignment
|
|
26
|
+
Read and apply: ~/.prjct-cli/projects/{projectId}/agents/{agent-name}.md
|
|
27
|
+
|
|
28
|
+
## Task
|
|
29
|
+
{feature description}
|
|
30
|
+
|
|
31
|
+
## Context
|
|
32
|
+
- Project: {projectPath}
|
|
33
|
+
- Feature: {feature}
|
|
34
|
+
|
|
35
|
+
## Flow
|
|
36
|
+
1. Read agent file FIRST
|
|
37
|
+
2. Apply agent expertise
|
|
38
|
+
3. Execute task
|
|
39
|
+
4. Return results
|
|
40
|
+
'
|
|
41
|
+
)
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
**CRITICAL:** Pass file PATH, not content. Subagent reads it (~200 bytes vs 3-5KB).
|
|
45
|
+
|
|
9
46
|
## Context Variables
|
|
10
47
|
- `{projectId}`: From `.prjct/prjct.config.json`
|
|
11
48
|
- `{globalPath}`: `~/.prjct-cli/projects/{projectId}`
|
|
@@ -1,10 +1,36 @@
|
|
|
1
1
|
---
|
|
2
|
-
allowed-tools: [Read, Write, TodoWrite]
|
|
2
|
+
allowed-tools: [Read, Write, TodoWrite, Task, Glob]
|
|
3
3
|
description: 'Break down complex tasks'
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# /p:task
|
|
7
7
|
|
|
8
|
+
## Agent Delegation (REQUIRED)
|
|
9
|
+
|
|
10
|
+
Before executing task, delegate to specialist agent:
|
|
11
|
+
|
|
12
|
+
1. **List agents**: `Glob("~/.prjct-cli/projects/{projectId}/agents/*.md")`
|
|
13
|
+
2. **Analyze task domain**: Match to agent expertise
|
|
14
|
+
3. **Delegate via Task tool**:
|
|
15
|
+
|
|
16
|
+
```
|
|
17
|
+
Task(
|
|
18
|
+
subagent_type: 'general-purpose',
|
|
19
|
+
prompt: '
|
|
20
|
+
## Agent
|
|
21
|
+
Read: ~/.prjct-cli/projects/{projectId}/agents/{agent}.md
|
|
22
|
+
|
|
23
|
+
## Task
|
|
24
|
+
{task description}
|
|
25
|
+
|
|
26
|
+
## Flow
|
|
27
|
+
1. Read agent file
|
|
28
|
+
2. Apply expertise
|
|
29
|
+
3. Execute task
|
|
30
|
+
'
|
|
31
|
+
)
|
|
32
|
+
```
|
|
33
|
+
|
|
8
34
|
## Usage
|
|
9
35
|
|
|
10
36
|
```
|