prjct-cli 1.22.0 → 1.24.0
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 +230 -0
- package/bin/prjct +30 -13
- package/dist/bin/prjct-core.mjs +1748 -0
- package/dist/bin/prjct.mjs +17 -36672
- package/dist/cli/linear.mjs +14 -0
- package/dist/daemon/entry.mjs +1429 -0
- package/dist/templates.json +1 -0
- package/package.json +4 -5
- package/bin/prjct.ts +0 -342
- package/core/__tests__/agentic/analysis-injection.test.ts +0 -377
- package/core/__tests__/agentic/cache-eviction.test.ts +0 -294
- package/core/__tests__/agentic/command-context.test.ts +0 -281
- package/core/__tests__/agentic/command-executor.test.ts +0 -659
- package/core/__tests__/agentic/domain-classifier.test.ts +0 -330
- package/core/__tests__/agentic/injection-validator.test.ts +0 -255
- package/core/__tests__/agentic/memory-system.test.ts +0 -281
- package/core/__tests__/agentic/plan-mode.test.ts +0 -386
- package/core/__tests__/agentic/prompt-assembly.test.ts +0 -298
- package/core/__tests__/agentic/prompt-builder.test.ts +0 -243
- package/core/__tests__/agentic/response-validator.test.ts +0 -263
- package/core/__tests__/agentic/semantic-matching.test.ts +0 -131
- package/core/__tests__/agentic/smart-context.test.ts +0 -372
- package/core/__tests__/agentic/tech-normalizer.test.ts +0 -136
- package/core/__tests__/agentic/token-budget.test.ts +0 -294
- package/core/__tests__/ai-tools/formatters.test.ts +0 -476
- package/core/__tests__/domain/bm25.test.ts +0 -225
- package/core/__tests__/domain/change-propagator.test.ts +0 -100
- package/core/__tests__/domain/fibonacci.test.ts +0 -113
- package/core/__tests__/domain/file-hasher.test.ts +0 -146
- package/core/__tests__/domain/file-ranker.test.ts +0 -169
- package/core/__tests__/domain/git-cochange.test.ts +0 -121
- package/core/__tests__/domain/import-graph.test.ts +0 -156
- package/core/__tests__/domain/velocity.test.ts +0 -623
- package/core/__tests__/infrastructure/performance-tracker.test.ts +0 -328
- package/core/__tests__/schemas/model.test.ts +0 -272
- package/core/__tests__/services/dependency-validator.test.ts +0 -175
- package/core/__tests__/services/hierarchical-agent-resolver.test.ts +0 -359
- package/core/__tests__/services/nested-context-resolver.test.ts +0 -443
- package/core/__tests__/services/project-index.test.ts +0 -355
- package/core/__tests__/services/staleness-checker.test.ts +0 -204
- package/core/__tests__/storage/analysis-storage.test.ts +0 -641
- package/core/__tests__/storage/archive-storage.test.ts +0 -455
- package/core/__tests__/storage/safe-reader.test.ts +0 -262
- package/core/__tests__/storage/sqlite-migration.test.ts +0 -1016
- package/core/__tests__/storage/state-storage-feedback.test.ts +0 -463
- package/core/__tests__/storage/state-storage-history.test.ts +0 -469
- package/core/__tests__/storage/storage-manager.test.ts +0 -383
- package/core/__tests__/storage/subtask-handoff.test.ts +0 -237
- package/core/__tests__/types/fs.test.ts +0 -125
- package/core/__tests__/utils/date-helper.test.ts +0 -449
- package/core/__tests__/utils/output.test.ts +0 -278
- package/core/__tests__/utils/preserve-sections.test.ts +0 -216
- package/core/__tests__/utils/project-commands.test.ts +0 -71
- package/core/__tests__/utils/retry.test.ts +0 -381
- package/core/__tests__/workflow/state-machine.test.ts +0 -216
- package/core/agentic/agent-router.ts +0 -150
- package/core/agentic/anti-hallucination.ts +0 -141
- package/core/agentic/chain-of-thought.ts +0 -234
- package/core/agentic/command-classifier.ts +0 -141
- package/core/agentic/command-context.ts +0 -168
- package/core/agentic/command-executor.ts +0 -471
- package/core/agentic/context-builder.ts +0 -285
- package/core/agentic/domain-classifier.ts +0 -525
- package/core/agentic/environment-block.ts +0 -102
- package/core/agentic/ground-truth.ts +0 -706
- package/core/agentic/index.ts +0 -193
- package/core/agentic/injection-validator.ts +0 -208
- package/core/agentic/loop-detector.ts +0 -451
- package/core/agentic/memory-system.ts +0 -1547
- package/core/agentic/orchestrator-executor.ts +0 -579
- package/core/agentic/plan-mode.ts +0 -525
- package/core/agentic/prompt-builder.ts +0 -1069
- package/core/agentic/response-validator.ts +0 -98
- package/core/agentic/services.ts +0 -167
- package/core/agentic/skill-loader.ts +0 -106
- package/core/agentic/smart-context.ts +0 -393
- package/core/agentic/tech-normalizer.ts +0 -167
- package/core/agentic/template-executor.ts +0 -272
- package/core/agentic/template-loader.ts +0 -109
- package/core/agentic/token-budget.ts +0 -226
- package/core/agentic/tool-registry.ts +0 -146
- package/core/agents/index.ts +0 -28
- package/core/agents/performance.ts +0 -429
- package/core/ai-tools/formatters.ts +0 -341
- package/core/ai-tools/generator.ts +0 -144
- package/core/ai-tools/index.ts +0 -15
- package/core/ai-tools/registry.ts +0 -201
- package/core/bus/bus.ts +0 -314
- package/core/bus/index.ts +0 -8
- package/core/cli/linear.ts +0 -500
- package/core/cli/lint-meta-commentary.ts +0 -177
- package/core/cli/start.ts +0 -386
- package/core/commands/analysis.ts +0 -1274
- package/core/commands/analytics.ts +0 -342
- package/core/commands/base.ts +0 -118
- package/core/commands/cleanup.ts +0 -157
- package/core/commands/command-data.ts +0 -463
- package/core/commands/commands.ts +0 -306
- package/core/commands/context.ts +0 -238
- package/core/commands/design.ts +0 -77
- package/core/commands/index.ts +0 -19
- package/core/commands/maintenance.ts +0 -77
- package/core/commands/performance.ts +0 -114
- package/core/commands/planning.ts +0 -662
- package/core/commands/register.ts +0 -127
- package/core/commands/registry.ts +0 -444
- package/core/commands/setup.ts +0 -280
- package/core/commands/shipping.ts +0 -267
- package/core/commands/snapshots.ts +0 -297
- package/core/commands/uninstall.ts +0 -542
- package/core/commands/velocity.ts +0 -149
- package/core/commands/workflow.ts +0 -505
- package/core/config/command-context.config.json +0 -66
- package/core/constants/index.ts +0 -379
- package/core/context/generator.ts +0 -368
- package/core/context-tools/files-tool.ts +0 -577
- package/core/context-tools/imports-tool.ts +0 -400
- package/core/context-tools/index.ts +0 -434
- package/core/context-tools/recent-tool.ts +0 -301
- package/core/context-tools/signatures-tool.ts +0 -495
- package/core/context-tools/summary-tool.ts +0 -301
- package/core/context-tools/token-counter.ts +0 -273
- package/core/context-tools/types.ts +0 -253
- package/core/domain/agent-generator.ts +0 -186
- package/core/domain/agent-loader.ts +0 -419
- package/core/domain/analyzer.ts +0 -387
- package/core/domain/architecture-generator.ts +0 -108
- package/core/domain/bm25.ts +0 -525
- package/core/domain/change-propagator.ts +0 -162
- package/core/domain/context-estimator.ts +0 -175
- package/core/domain/fibonacci.ts +0 -128
- package/core/domain/file-hasher.ts +0 -296
- package/core/domain/file-ranker.ts +0 -151
- package/core/domain/git-cochange.ts +0 -250
- package/core/domain/import-graph.ts +0 -315
- package/core/domain/snapshot-manager.ts +0 -415
- package/core/domain/task-stack.ts +0 -578
- package/core/domain/velocity.ts +0 -470
- package/core/errors.ts +0 -335
- package/core/events/events.ts +0 -85
- package/core/events/index.ts +0 -8
- package/core/index.ts +0 -481
- package/core/infrastructure/agent-detector.ts +0 -135
- package/core/infrastructure/ai-provider.ts +0 -578
- package/core/infrastructure/author-detector.ts +0 -133
- package/core/infrastructure/capability-installer.ts +0 -76
- package/core/infrastructure/claude-agent.ts +0 -297
- package/core/infrastructure/command-installer.ts +0 -752
- package/core/infrastructure/config-manager.ts +0 -364
- package/core/infrastructure/editors-config.ts +0 -172
- package/core/infrastructure/path-manager.ts +0 -571
- package/core/infrastructure/performance-tracker.ts +0 -326
- package/core/infrastructure/permission-manager.ts +0 -289
- package/core/infrastructure/setup.ts +0 -1061
- package/core/infrastructure/update-checker.ts +0 -246
- package/core/integrations/issue-tracker/enricher.ts +0 -271
- package/core/integrations/issue-tracker/index.ts +0 -8
- package/core/integrations/issue-tracker/manager.ts +0 -286
- package/core/integrations/issue-tracker/types.ts +0 -310
- package/core/integrations/jira/cache.ts +0 -57
- package/core/integrations/jira/client.ts +0 -688
- package/core/integrations/jira/index.ts +0 -23
- package/core/integrations/jira/service.ts +0 -244
- package/core/integrations/linear/cache.ts +0 -68
- package/core/integrations/linear/client.ts +0 -436
- package/core/integrations/linear/index.ts +0 -20
- package/core/integrations/linear/service.ts +0 -260
- package/core/integrations/linear/sync.ts +0 -314
- package/core/outcomes/analyzer.ts +0 -286
- package/core/outcomes/index.ts +0 -34
- package/core/outcomes/recorder.ts +0 -195
- package/core/plugin/builtin/webhook.ts +0 -148
- package/core/plugin/hooks.ts +0 -315
- package/core/plugin/index.ts +0 -50
- package/core/plugin/loader.ts +0 -354
- package/core/plugin/registry.ts +0 -326
- package/core/schemas/agents.ts +0 -27
- package/core/schemas/analysis.ts +0 -530
- package/core/schemas/classification.ts +0 -91
- package/core/schemas/command-context.ts +0 -29
- package/core/schemas/enriched-task.ts +0 -291
- package/core/schemas/ideas.ts +0 -114
- package/core/schemas/index.ts +0 -53
- package/core/schemas/issues.ts +0 -159
- package/core/schemas/llm-output.ts +0 -170
- package/core/schemas/metrics.ts +0 -143
- package/core/schemas/model.ts +0 -153
- package/core/schemas/outcomes.ts +0 -487
- package/core/schemas/performance.ts +0 -128
- package/core/schemas/permissions.ts +0 -180
- package/core/schemas/prd.ts +0 -450
- package/core/schemas/project.ts +0 -57
- package/core/schemas/roadmap.ts +0 -322
- package/core/schemas/schemas.ts +0 -38
- package/core/schemas/shipped.ts +0 -109
- package/core/schemas/state.ts +0 -284
- package/core/schemas/velocity.ts +0 -103
- package/core/server/index.ts +0 -21
- package/core/server/routes-extended.ts +0 -566
- package/core/server/routes.ts +0 -176
- package/core/server/server.ts +0 -149
- package/core/server/sse.ts +0 -192
- package/core/services/agent-generator.ts +0 -385
- package/core/services/agent-service.ts +0 -168
- package/core/services/breakdown-service.ts +0 -124
- package/core/services/context-generator.ts +0 -445
- package/core/services/context-selector.ts +0 -429
- package/core/services/dependency-validator.ts +0 -318
- package/core/services/diff-generator.ts +0 -313
- package/core/services/doctor-service.ts +0 -423
- package/core/services/file-categorizer.ts +0 -448
- package/core/services/file-scorer.ts +0 -270
- package/core/services/git-analyzer.ts +0 -293
- package/core/services/hierarchical-agent-resolver.ts +0 -236
- package/core/services/hooks-service.ts +0 -685
- package/core/services/index.ts +0 -46
- package/core/services/local-state-generator.ts +0 -158
- package/core/services/memory-service.ts +0 -181
- package/core/services/nested-context-resolver.ts +0 -842
- package/core/services/project-index.ts +0 -911
- package/core/services/project-service.ts +0 -155
- package/core/services/session-tracker.ts +0 -287
- package/core/services/skill-installer.ts +0 -447
- package/core/services/skill-lock.ts +0 -132
- package/core/services/skill-service.ts +0 -306
- package/core/services/stack-detector.ts +0 -229
- package/core/services/staleness-checker.ts +0 -327
- package/core/services/sync-service.ts +0 -1515
- package/core/services/sync-verifier.ts +0 -253
- package/core/services/watch-service.ts +0 -312
- package/core/session/compaction.ts +0 -248
- package/core/session/index.ts +0 -35
- package/core/session/log-migration.ts +0 -88
- package/core/session/metrics.ts +0 -323
- package/core/session/session-log-manager.ts +0 -307
- package/core/session/task-session-manager.ts +0 -404
- package/core/session/utils.ts +0 -51
- package/core/storage/analysis-storage.ts +0 -373
- package/core/storage/archive-storage.ts +0 -205
- package/core/storage/database.ts +0 -575
- package/core/storage/ideas-storage.ts +0 -298
- package/core/storage/index-storage.ts +0 -523
- package/core/storage/index.ts +0 -79
- package/core/storage/metrics-storage.ts +0 -321
- package/core/storage/migrate-json.ts +0 -720
- package/core/storage/queue-storage.ts +0 -336
- package/core/storage/safe-reader.ts +0 -105
- package/core/storage/shipped-storage.ts +0 -253
- package/core/storage/state-storage.ts +0 -1035
- package/core/storage/storage-manager.ts +0 -205
- package/core/storage/storage.ts +0 -177
- package/core/storage/velocity-storage.ts +0 -149
- package/core/sync/auth-config.ts +0 -138
- package/core/sync/index.ts +0 -31
- package/core/sync/oauth-handler.ts +0 -143
- package/core/sync/sync-client.ts +0 -251
- package/core/sync/sync-manager.ts +0 -327
- package/core/tsconfig.json +0 -22
- package/core/types/agentic.ts +0 -760
- package/core/types/agents.ts +0 -150
- package/core/types/bus.ts +0 -193
- package/core/types/citations.ts +0 -22
- package/core/types/commands.ts +0 -399
- package/core/types/config.ts +0 -92
- package/core/types/core.ts +0 -96
- package/core/types/diff.ts +0 -41
- package/core/types/domain.ts +0 -71
- package/core/types/errors.ts +0 -111
- package/core/types/events.ts +0 -42
- package/core/types/fs.ts +0 -72
- package/core/types/index.ts +0 -510
- package/core/types/infrastructure.ts +0 -210
- package/core/types/integrations.ts +0 -31
- package/core/types/jira.ts +0 -51
- package/core/types/logger.ts +0 -17
- package/core/types/memory.ts +0 -313
- package/core/types/outcomes.ts +0 -190
- package/core/types/output.ts +0 -47
- package/core/types/plugin.ts +0 -25
- package/core/types/project-sync.ts +0 -129
- package/core/types/provider.ts +0 -163
- package/core/types/server.ts +0 -71
- package/core/types/services.ts +0 -84
- package/core/types/session.ts +0 -135
- package/core/types/stack.ts +0 -19
- package/core/types/storage.ts +0 -318
- package/core/types/sync-verifier.ts +0 -33
- package/core/types/sync.ts +0 -121
- package/core/types/task.ts +0 -72
- package/core/types/template.ts +0 -24
- package/core/types/utils.ts +0 -92
- package/core/types/workflow.ts +0 -23
- package/core/utils/agent-stream.ts +0 -140
- package/core/utils/animations.ts +0 -251
- package/core/utils/branding.ts +0 -88
- package/core/utils/cache.ts +0 -187
- package/core/utils/citations.ts +0 -39
- package/core/utils/collection-filters.ts +0 -209
- package/core/utils/date-helper.ts +0 -176
- package/core/utils/error-messages.ts +0 -38
- package/core/utils/file-helper.ts +0 -277
- package/core/utils/fs-helpers.ts +0 -14
- package/core/utils/help.ts +0 -314
- package/core/utils/jsonl-helper.ts +0 -290
- package/core/utils/keychain.ts +0 -127
- package/core/utils/logger.ts +0 -77
- package/core/utils/markdown-builder.ts +0 -280
- package/core/utils/next-steps.ts +0 -95
- package/core/utils/output.ts +0 -403
- package/core/utils/preserve-sections.ts +0 -218
- package/core/utils/project-commands.ts +0 -126
- package/core/utils/project-credentials.ts +0 -143
- package/core/utils/provider-cache.ts +0 -49
- package/core/utils/retry.ts +0 -318
- package/core/utils/runtime.ts +0 -108
- package/core/utils/session-helper.ts +0 -278
- package/core/utils/subtask-table.ts +0 -227
- package/core/utils/version.ts +0 -128
- package/core/wizard/index.ts +0 -13
- package/core/wizard/onboarding.ts +0 -633
- package/core/workflow/index.ts +0 -7
- package/core/workflow/state-machine.ts +0 -198
- package/core/workflow/workflow-preferences.ts +0 -294
- package/dist/core/infrastructure/command-installer.js +0 -1141
- package/dist/core/infrastructure/editors-config.js +0 -177
- package/dist/core/infrastructure/setup.js +0 -2244
- package/dist/core/utils/version.js +0 -141
- package/templates/agentic/agent-routing.md +0 -45
- package/templates/agentic/agents/uxui.md +0 -63
- package/templates/agentic/checklist-routing.md +0 -98
- package/templates/agentic/orchestrator.md +0 -68
- package/templates/agentic/task-fragmentation.md +0 -89
- package/templates/agents/AGENTS.md +0 -68
- package/templates/analysis/analyze.md +0 -84
- package/templates/analysis/patterns.md +0 -60
- package/templates/antigravity/SKILL.md +0 -39
- package/templates/architect/discovery.md +0 -67
- package/templates/architect/phases.md +0 -59
- package/templates/checklists/architecture.md +0 -28
- package/templates/checklists/code-quality.md +0 -28
- package/templates/checklists/data.md +0 -33
- package/templates/checklists/documentation.md +0 -33
- package/templates/checklists/infrastructure.md +0 -33
- package/templates/checklists/performance.md +0 -33
- package/templates/checklists/security.md +0 -33
- package/templates/checklists/testing.md +0 -33
- package/templates/checklists/ux-ui.md +0 -37
- package/templates/commands/analyze.md +0 -56
- package/templates/commands/auth.md +0 -234
- package/templates/commands/bug.md +0 -163
- package/templates/commands/cleanup.md +0 -19
- package/templates/commands/dash.md +0 -99
- package/templates/commands/design.md +0 -15
- package/templates/commands/done.md +0 -291
- package/templates/commands/enrich.md +0 -174
- package/templates/commands/git.md +0 -295
- package/templates/commands/history.md +0 -389
- package/templates/commands/idea.md +0 -88
- package/templates/commands/impact.md +0 -864
- package/templates/commands/init.md +0 -54
- package/templates/commands/jira.md +0 -278
- package/templates/commands/linear.md +0 -288
- package/templates/commands/merge.md +0 -206
- package/templates/commands/next.md +0 -80
- package/templates/commands/p.md +0 -67
- package/templates/commands/p.toml +0 -37
- package/templates/commands/pause.md +0 -136
- package/templates/commands/plan.md +0 -696
- package/templates/commands/prd.md +0 -356
- package/templates/commands/resume.md +0 -171
- package/templates/commands/review.md +0 -276
- package/templates/commands/serve.md +0 -118
- package/templates/commands/setup.md +0 -91
- package/templates/commands/ship.md +0 -475
- package/templates/commands/skill.md +0 -259
- package/templates/commands/spec.md +0 -218
- package/templates/commands/status.md +0 -207
- package/templates/commands/sync.md +0 -104
- package/templates/commands/task.md +0 -312
- package/templates/commands/test.md +0 -93
- package/templates/commands/update.md +0 -63
- package/templates/commands/verify.md +0 -204
- package/templates/commands/workflow.md +0 -150
- package/templates/config/skill-mappings.json +0 -82
- package/templates/context/dashboard.md +0 -256
- package/templates/context/roadmap.md +0 -221
- package/templates/cursor/commands/bug.md +0 -8
- package/templates/cursor/commands/done.md +0 -4
- package/templates/cursor/commands/pause.md +0 -6
- package/templates/cursor/commands/resume.md +0 -4
- package/templates/cursor/commands/ship.md +0 -8
- package/templates/cursor/commands/sync.md +0 -4
- package/templates/cursor/commands/task.md +0 -8
- package/templates/cursor/p.md +0 -29
- package/templates/cursor/router.mdc +0 -28
- package/templates/design/api.md +0 -95
- package/templates/design/architecture.md +0 -77
- package/templates/design/component.md +0 -89
- package/templates/design/database.md +0 -78
- package/templates/design/flow.md +0 -94
- package/templates/global/ANTIGRAVITY.md +0 -254
- package/templates/global/CLAUDE.md +0 -497
- package/templates/global/CURSOR.mdc +0 -266
- package/templates/global/GEMINI.md +0 -293
- package/templates/global/STORAGE-SPEC.md +0 -391
- package/templates/global/WINDSURF.md +0 -266
- package/templates/global/modules/CLAUDE-commands.md +0 -70
- package/templates/global/modules/CLAUDE-core.md +0 -105
- package/templates/global/modules/CLAUDE-git.md +0 -50
- package/templates/global/modules/CLAUDE-intelligence.md +0 -92
- package/templates/global/modules/CLAUDE-storage.md +0 -50
- package/templates/global/modules/module-config.json +0 -36
- package/templates/mcp-config.json +0 -19
- package/templates/permissions/default.jsonc +0 -60
- package/templates/permissions/permissive.jsonc +0 -49
- package/templates/permissions/strict.jsonc +0 -58
- package/templates/planning-methodology.md +0 -195
- package/templates/skills/code-review.md +0 -47
- package/templates/skills/debug.md +0 -61
- package/templates/skills/refactor.md +0 -47
- package/templates/subagents/agent-base.md +0 -20
- package/templates/subagents/domain/backend.md +0 -109
- package/templates/subagents/domain/database.md +0 -121
- package/templates/subagents/domain/devops.md +0 -152
- package/templates/subagents/domain/frontend.md +0 -103
- package/templates/subagents/domain/testing.md +0 -169
- package/templates/subagents/pm-expert.md +0 -366
- package/templates/subagents/workflow/chief-architect.md +0 -657
- package/templates/subagents/workflow/prjct-planner.md +0 -159
- package/templates/subagents/workflow/prjct-shipper.md +0 -188
- package/templates/subagents/workflow/prjct-workflow.md +0 -98
- package/templates/tools/bash.txt +0 -22
- package/templates/tools/edit.txt +0 -18
- package/templates/tools/glob.txt +0 -19
- package/templates/tools/grep.txt +0 -21
- package/templates/tools/read.txt +0 -14
- package/templates/tools/task.txt +0 -20
- package/templates/tools/webfetch.txt +0 -16
- package/templates/tools/websearch.txt +0 -18
- package/templates/tools/write.txt +0 -17
- package/templates/windsurf/router.md +0 -28
- package/templates/windsurf/workflows/bug.md +0 -8
- package/templates/windsurf/workflows/done.md +0 -4
- package/templates/windsurf/workflows/pause.md +0 -4
- package/templates/windsurf/workflows/resume.md +0 -4
- package/templates/windsurf/workflows/ship.md +0 -8
- package/templates/windsurf/workflows/sync.md +0 -4
- package/templates/windsurf/workflows/task.md +0 -8
|
@@ -1,141 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __create = Object.create;
|
|
3
|
-
var __defProp = Object.defineProperty;
|
|
4
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
-
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
9
|
-
var __export = (target, all) => {
|
|
10
|
-
for (var name in all)
|
|
11
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
12
|
-
};
|
|
13
|
-
var __copyProps = (to, from, except, desc) => {
|
|
14
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
15
|
-
for (let key of __getOwnPropNames(from))
|
|
16
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
17
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
18
|
-
}
|
|
19
|
-
return to;
|
|
20
|
-
};
|
|
21
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
22
|
-
// If the importer is in node compatibility mode or this is not an ESM
|
|
23
|
-
// file that has been converted to a CommonJS file using a Babel-
|
|
24
|
-
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
25
|
-
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
26
|
-
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
27
|
-
mod
|
|
28
|
-
));
|
|
29
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
30
|
-
|
|
31
|
-
// core/utils/version.ts
|
|
32
|
-
var version_exports = {};
|
|
33
|
-
__export(version_exports, {
|
|
34
|
-
PACKAGE_ROOT: () => PACKAGE_ROOT,
|
|
35
|
-
VERSION: () => VERSION,
|
|
36
|
-
compareVersions: () => compareVersions,
|
|
37
|
-
getPackageInfo: () => getPackageInfo,
|
|
38
|
-
getPackageRoot: () => getPackageRoot,
|
|
39
|
-
getVersion: () => getVersion,
|
|
40
|
-
isCompatible: () => isCompatible,
|
|
41
|
-
needsMigration: () => needsMigration
|
|
42
|
-
});
|
|
43
|
-
module.exports = __toCommonJS(version_exports);
|
|
44
|
-
var import_node_fs = __toESM(require("node:fs"));
|
|
45
|
-
var import_node_path = __toESM(require("node:path"));
|
|
46
|
-
|
|
47
|
-
// core/types/fs.ts
|
|
48
|
-
function getErrorMessage(error) {
|
|
49
|
-
if (error instanceof Error) return error.message;
|
|
50
|
-
if (typeof error === "string") return error;
|
|
51
|
-
return "Unknown error";
|
|
52
|
-
}
|
|
53
|
-
__name(getErrorMessage, "getErrorMessage");
|
|
54
|
-
|
|
55
|
-
// core/utils/version.ts
|
|
56
|
-
var cachedVersion = null;
|
|
57
|
-
var cachedPackageJson = null;
|
|
58
|
-
var cachedPackageRoot = null;
|
|
59
|
-
function getPackageRoot() {
|
|
60
|
-
if (cachedPackageRoot) {
|
|
61
|
-
return cachedPackageRoot;
|
|
62
|
-
}
|
|
63
|
-
let currentDir = __dirname;
|
|
64
|
-
for (let i = 0; i < 5; i++) {
|
|
65
|
-
const packageJsonPath = import_node_path.default.join(currentDir, "package.json");
|
|
66
|
-
if (import_node_fs.default.existsSync(packageJsonPath)) {
|
|
67
|
-
try {
|
|
68
|
-
const pkg = JSON.parse(import_node_fs.default.readFileSync(packageJsonPath, "utf-8"));
|
|
69
|
-
if (pkg.name === "prjct-cli") {
|
|
70
|
-
cachedPackageRoot = currentDir;
|
|
71
|
-
return currentDir;
|
|
72
|
-
}
|
|
73
|
-
} catch (_error) {
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
currentDir = import_node_path.default.dirname(currentDir);
|
|
77
|
-
}
|
|
78
|
-
cachedPackageRoot = import_node_path.default.join(__dirname, "..", "..", "..");
|
|
79
|
-
return cachedPackageRoot;
|
|
80
|
-
}
|
|
81
|
-
__name(getPackageRoot, "getPackageRoot");
|
|
82
|
-
function getVersion() {
|
|
83
|
-
if (cachedVersion) {
|
|
84
|
-
return cachedVersion;
|
|
85
|
-
}
|
|
86
|
-
try {
|
|
87
|
-
const packageJsonPath = import_node_path.default.join(getPackageRoot(), "package.json");
|
|
88
|
-
const packageJson = JSON.parse(import_node_fs.default.readFileSync(packageJsonPath, "utf-8"));
|
|
89
|
-
cachedVersion = packageJson.version;
|
|
90
|
-
cachedPackageJson = packageJson;
|
|
91
|
-
return cachedVersion;
|
|
92
|
-
} catch (error) {
|
|
93
|
-
console.error("Failed to read version from package.json:", getErrorMessage(error));
|
|
94
|
-
return "0.0.0";
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
__name(getVersion, "getVersion");
|
|
98
|
-
function getPackageInfo() {
|
|
99
|
-
if (!cachedPackageJson) {
|
|
100
|
-
getVersion();
|
|
101
|
-
}
|
|
102
|
-
return cachedPackageJson;
|
|
103
|
-
}
|
|
104
|
-
__name(getPackageInfo, "getPackageInfo");
|
|
105
|
-
function compareVersions(v1, v2) {
|
|
106
|
-
const parts1 = v1.split(".").map(Number);
|
|
107
|
-
const parts2 = v2.split(".").map(Number);
|
|
108
|
-
for (let i = 0; i < Math.max(parts1.length, parts2.length); i++) {
|
|
109
|
-
const num1 = parts1[i] || 0;
|
|
110
|
-
const num2 = parts2[i] || 0;
|
|
111
|
-
if (num1 > num2) return 1;
|
|
112
|
-
if (num1 < num2) return -1;
|
|
113
|
-
}
|
|
114
|
-
return 0;
|
|
115
|
-
}
|
|
116
|
-
__name(compareVersions, "compareVersions");
|
|
117
|
-
function isCompatible(configVersion) {
|
|
118
|
-
const current = getVersion();
|
|
119
|
-
const [currentMajor, currentMinor] = current.split(".").map(Number);
|
|
120
|
-
const [configMajor, configMinor] = configVersion.split(".").map(Number);
|
|
121
|
-
return currentMajor === configMajor && currentMinor === configMinor;
|
|
122
|
-
}
|
|
123
|
-
__name(isCompatible, "isCompatible");
|
|
124
|
-
function needsMigration(fromVersion, toVersion = null) {
|
|
125
|
-
const target = toVersion || getVersion();
|
|
126
|
-
return compareVersions(fromVersion, target) < 0;
|
|
127
|
-
}
|
|
128
|
-
__name(needsMigration, "needsMigration");
|
|
129
|
-
var VERSION = getVersion();
|
|
130
|
-
var PACKAGE_ROOT = getPackageRoot();
|
|
131
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
132
|
-
0 && (module.exports = {
|
|
133
|
-
PACKAGE_ROOT,
|
|
134
|
-
VERSION,
|
|
135
|
-
compareVersions,
|
|
136
|
-
getPackageInfo,
|
|
137
|
-
getPackageRoot,
|
|
138
|
-
getVersion,
|
|
139
|
-
isCompatible,
|
|
140
|
-
needsMigration
|
|
141
|
-
});
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
allowed-tools: [Read]
|
|
3
|
-
---
|
|
4
|
-
|
|
5
|
-
# Agent Routing
|
|
6
|
-
|
|
7
|
-
Determine best agent for a task.
|
|
8
|
-
|
|
9
|
-
## Process
|
|
10
|
-
|
|
11
|
-
1. **Understand task**: What files? What work? What knowledge?
|
|
12
|
-
2. **Read project context**: Technologies, structure, patterns
|
|
13
|
-
3. **Match to agent**: Based on analysis, not assumptions
|
|
14
|
-
|
|
15
|
-
## Agent Types
|
|
16
|
-
|
|
17
|
-
| Type | Domain |
|
|
18
|
-
|------|--------|
|
|
19
|
-
| Frontend/UX | UI components, styling |
|
|
20
|
-
| Backend | API, server logic |
|
|
21
|
-
| Database | Schema, queries, migrations |
|
|
22
|
-
| DevOps/QA | Testing, CI/CD |
|
|
23
|
-
| Full-stack | Cross-cutting concerns |
|
|
24
|
-
|
|
25
|
-
## Delegation
|
|
26
|
-
|
|
27
|
-
```
|
|
28
|
-
Task(
|
|
29
|
-
subagent_type: 'general-purpose',
|
|
30
|
-
prompt: '
|
|
31
|
-
Read: ~/.prjct-cli/projects/{projectId}/agents/{agent}.md
|
|
32
|
-
Task: {description}
|
|
33
|
-
Execute using agent patterns.
|
|
34
|
-
'
|
|
35
|
-
)
|
|
36
|
-
```
|
|
37
|
-
|
|
38
|
-
**Pass PATH, not CONTENT** - subagent reads what it needs.
|
|
39
|
-
|
|
40
|
-
## Output
|
|
41
|
-
|
|
42
|
-
```
|
|
43
|
-
✅ Delegated to: {agent}
|
|
44
|
-
Result: {summary}
|
|
45
|
-
```
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: uxui
|
|
3
|
-
description: UX/UI Specialist. Use PROACTIVELY for interfaces. Priority: UX > UI.
|
|
4
|
-
tools: Read, Write, Glob, Grep
|
|
5
|
-
model: sonnet
|
|
6
|
-
skills: [frontend-design]
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
# UX/UI Design Specialist
|
|
10
|
-
|
|
11
|
-
**Priority: UX > UI** - Experience over aesthetics.
|
|
12
|
-
|
|
13
|
-
## UX Principles
|
|
14
|
-
|
|
15
|
-
### Before Designing
|
|
16
|
-
1. Who is the user?
|
|
17
|
-
2. What problem does it solve?
|
|
18
|
-
3. What's the happy path?
|
|
19
|
-
4. What can go wrong?
|
|
20
|
-
|
|
21
|
-
### Core Rules
|
|
22
|
-
- Clarity > Creativity (understand in < 3 sec)
|
|
23
|
-
- Immediate feedback for every action
|
|
24
|
-
- Minimize friction (smart defaults, autocomplete)
|
|
25
|
-
- Clear, actionable error messages
|
|
26
|
-
- Accessibility: 4.5:1 contrast, keyboard nav, 44px touch targets
|
|
27
|
-
|
|
28
|
-
## UI Guidelines
|
|
29
|
-
|
|
30
|
-
### Typography (avoid AI slop)
|
|
31
|
-
**USE**: Clash Display, Cabinet Grotesk, Satoshi, Geist
|
|
32
|
-
**AVOID**: Inter, Space Grotesk, Roboto, Poppins
|
|
33
|
-
|
|
34
|
-
### Color
|
|
35
|
-
60-30-10 framework: dominant, secondary, accent
|
|
36
|
-
**AVOID**: Generic purple/blue gradients
|
|
37
|
-
|
|
38
|
-
### Animation
|
|
39
|
-
**USE**: Staggered entrances, hover micro-motion, skeleton loaders
|
|
40
|
-
**AVOID**: Purposeless animation, excessive bounces
|
|
41
|
-
|
|
42
|
-
## Checklist
|
|
43
|
-
|
|
44
|
-
### UX (Required)
|
|
45
|
-
- [ ] User understands immediately
|
|
46
|
-
- [ ] Actions have feedback
|
|
47
|
-
- [ ] Errors are clear
|
|
48
|
-
- [ ] Keyboard works
|
|
49
|
-
- [ ] Contrast >= 4.5:1
|
|
50
|
-
- [ ] Touch targets >= 44px
|
|
51
|
-
|
|
52
|
-
### UI
|
|
53
|
-
- [ ] Clear aesthetic direction
|
|
54
|
-
- [ ] Distinctive typography
|
|
55
|
-
- [ ] Personality in color
|
|
56
|
-
- [ ] Key animations
|
|
57
|
-
- [ ] Avoids "AI generic"
|
|
58
|
-
|
|
59
|
-
## Anti-Patterns
|
|
60
|
-
|
|
61
|
-
**AI Slop**: Inter everywhere, purple gradients, generic illustrations, centered layouts without personality
|
|
62
|
-
|
|
63
|
-
**Bad UX**: No validation, no loading states, unclear errors, tiny touch targets
|
|
@@ -1,98 +0,0 @@
|
|
|
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
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
# Orchestrator
|
|
2
|
-
|
|
3
|
-
Load project context for task execution.
|
|
4
|
-
|
|
5
|
-
## Flow
|
|
6
|
-
|
|
7
|
-
```
|
|
8
|
-
p. {command} → Load Config → Load State → Load Agents → Execute
|
|
9
|
-
```
|
|
10
|
-
|
|
11
|
-
## Step 1: Load Config
|
|
12
|
-
|
|
13
|
-
```
|
|
14
|
-
READ: .prjct/prjct.config.json → {projectId}
|
|
15
|
-
SET: {globalPath} = ~/.prjct-cli/projects/{projectId}
|
|
16
|
-
```
|
|
17
|
-
|
|
18
|
-
## Step 2: Load State
|
|
19
|
-
|
|
20
|
-
```
|
|
21
|
-
READ: {globalPath}/storage/state.json
|
|
22
|
-
SET: {hasActiveTask} = state.currentTask != null
|
|
23
|
-
```
|
|
24
|
-
|
|
25
|
-
## Step 3: Load Agents
|
|
26
|
-
|
|
27
|
-
```
|
|
28
|
-
GLOB: {globalPath}/agents/*.md
|
|
29
|
-
FOR EACH agent: READ and store content
|
|
30
|
-
```
|
|
31
|
-
|
|
32
|
-
## Step 4: Detect Domains
|
|
33
|
-
|
|
34
|
-
Analyze task → identify domains:
|
|
35
|
-
- frontend: UI, forms, components
|
|
36
|
-
- backend: API, server logic
|
|
37
|
-
- database: Schema, queries
|
|
38
|
-
- testing: Tests, mocks
|
|
39
|
-
- devops: CI/CD, deployment
|
|
40
|
-
|
|
41
|
-
IF task spans 3+ domains → fragment into subtasks
|
|
42
|
-
|
|
43
|
-
## Step 5: Build Context
|
|
44
|
-
|
|
45
|
-
Combine: state + agents + detected domains → execute
|
|
46
|
-
|
|
47
|
-
## Output Format
|
|
48
|
-
|
|
49
|
-
```
|
|
50
|
-
🎯 Task: {description}
|
|
51
|
-
📦 Context: Agent: {name} | State: {status} | Domains: {list}
|
|
52
|
-
```
|
|
53
|
-
|
|
54
|
-
## Error Handling
|
|
55
|
-
|
|
56
|
-
| Situation | Action |
|
|
57
|
-
|-----------|--------|
|
|
58
|
-
| No config | "Run `p. init` first" |
|
|
59
|
-
| No state | Create default |
|
|
60
|
-
| No agents | Warn, continue |
|
|
61
|
-
|
|
62
|
-
## Disable
|
|
63
|
-
|
|
64
|
-
```yaml
|
|
65
|
-
---
|
|
66
|
-
orchestrator: false
|
|
67
|
-
---
|
|
68
|
-
```
|
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
# Task Fragmentation
|
|
2
|
-
|
|
3
|
-
Break complex multi-domain tasks into subtasks.
|
|
4
|
-
|
|
5
|
-
## When to Fragment
|
|
6
|
-
|
|
7
|
-
- Spans 3+ domains (frontend + backend + database)
|
|
8
|
-
- Has natural dependency order
|
|
9
|
-
- Too large for single execution
|
|
10
|
-
|
|
11
|
-
## When NOT to Fragment
|
|
12
|
-
|
|
13
|
-
- Single domain only
|
|
14
|
-
- Small, focused change
|
|
15
|
-
- Already atomic
|
|
16
|
-
|
|
17
|
-
## Dependency Order
|
|
18
|
-
|
|
19
|
-
1. **Database** (models first)
|
|
20
|
-
2. **Backend** (API using models)
|
|
21
|
-
3. **Frontend** (UI using API)
|
|
22
|
-
4. **Testing** (tests for all)
|
|
23
|
-
5. **DevOps** (deploy)
|
|
24
|
-
|
|
25
|
-
## Subtask Format
|
|
26
|
-
|
|
27
|
-
```json
|
|
28
|
-
{
|
|
29
|
-
"subtasks": [{
|
|
30
|
-
"id": "subtask-1",
|
|
31
|
-
"description": "Create users table",
|
|
32
|
-
"domain": "database",
|
|
33
|
-
"agent": "database.md",
|
|
34
|
-
"dependsOn": []
|
|
35
|
-
}]
|
|
36
|
-
}
|
|
37
|
-
```
|
|
38
|
-
|
|
39
|
-
## Output
|
|
40
|
-
|
|
41
|
-
```
|
|
42
|
-
🎯 Task: {task}
|
|
43
|
-
|
|
44
|
-
📋 Subtasks:
|
|
45
|
-
├─ 1. [database] Create schema
|
|
46
|
-
├─ 2. [backend] Create API
|
|
47
|
-
└─ 3. [frontend] Create form
|
|
48
|
-
```
|
|
49
|
-
|
|
50
|
-
## Delegation
|
|
51
|
-
|
|
52
|
-
```
|
|
53
|
-
Task(
|
|
54
|
-
subagent_type: 'general-purpose',
|
|
55
|
-
prompt: '
|
|
56
|
-
Read: {agentsPath}/{domain}.md
|
|
57
|
-
Subtask: {description}
|
|
58
|
-
Previous: {previousSummary}
|
|
59
|
-
Focus ONLY on this subtask.
|
|
60
|
-
'
|
|
61
|
-
)
|
|
62
|
-
```
|
|
63
|
-
|
|
64
|
-
## Progress
|
|
65
|
-
|
|
66
|
-
```
|
|
67
|
-
📊 Progress: 2/4 (50%)
|
|
68
|
-
✅ 1. [database] Done
|
|
69
|
-
✅ 2. [backend] Done
|
|
70
|
-
▶️ 3. [frontend] ← CURRENT
|
|
71
|
-
⏳ 4. [testing]
|
|
72
|
-
```
|
|
73
|
-
|
|
74
|
-
## Error Handling
|
|
75
|
-
|
|
76
|
-
```
|
|
77
|
-
❌ Subtask 2/4 failed
|
|
78
|
-
|
|
79
|
-
Options:
|
|
80
|
-
1. Retry
|
|
81
|
-
2. Skip and continue
|
|
82
|
-
3. Abort
|
|
83
|
-
```
|
|
84
|
-
|
|
85
|
-
## Anti-Patterns
|
|
86
|
-
|
|
87
|
-
- Over-fragmentation: 10 subtasks for "add button"
|
|
88
|
-
- Under-fragmentation: 1 subtask for "add auth system"
|
|
89
|
-
- Wrong order: Frontend before backend
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
# AGENTS.md
|
|
2
|
-
|
|
3
|
-
AI assistant guidance for **prjct-cli** - context layer for AI coding agents. Works with Claude Code, Gemini CLI, and more.
|
|
4
|
-
|
|
5
|
-
## What This Is
|
|
6
|
-
|
|
7
|
-
**NOT** project management. NO sprints, story points, ceremonies, or meetings.
|
|
8
|
-
|
|
9
|
-
**IS** a context layer that gives AI agents the project knowledge they need to work effectively.
|
|
10
|
-
|
|
11
|
-
---
|
|
12
|
-
|
|
13
|
-
## Dynamic Agent Generation
|
|
14
|
-
|
|
15
|
-
Generate agents during `p. sync` based on analysis:
|
|
16
|
-
|
|
17
|
-
```javascript
|
|
18
|
-
await generator.generateDynamicAgent('agent-name', {
|
|
19
|
-
role: 'Role Description',
|
|
20
|
-
expertise: 'Technologies, versions, tools',
|
|
21
|
-
responsibilities: 'What they handle'
|
|
22
|
-
})
|
|
23
|
-
```
|
|
24
|
-
|
|
25
|
-
### Guidelines
|
|
26
|
-
1. Read `analysis/repo-summary.md` first
|
|
27
|
-
2. Create specialists for each major technology
|
|
28
|
-
3. Name descriptively: `go-backend` not `be`
|
|
29
|
-
4. Include versions and frameworks found
|
|
30
|
-
5. Follow project-specific patterns
|
|
31
|
-
|
|
32
|
-
## Architecture
|
|
33
|
-
|
|
34
|
-
**Global**: `~/.prjct-cli/projects/{id}/`
|
|
35
|
-
```
|
|
36
|
-
storage/ # state.json, queue.json
|
|
37
|
-
context/ # now.md, next.md
|
|
38
|
-
agents/ # domain specialists
|
|
39
|
-
memory/ # events.jsonl
|
|
40
|
-
```
|
|
41
|
-
|
|
42
|
-
**Local**: `.prjct/prjct.config.json` (read-only)
|
|
43
|
-
|
|
44
|
-
## Commands
|
|
45
|
-
|
|
46
|
-
| Command | Action |
|
|
47
|
-
|---------|--------|
|
|
48
|
-
| `p. init` | Initialize |
|
|
49
|
-
| `p. sync` | Analyze + generate agents |
|
|
50
|
-
| `p. task X` | Start task |
|
|
51
|
-
| `p. done` | Complete subtask |
|
|
52
|
-
| `p. ship` | Ship feature |
|
|
53
|
-
| `p. next` | Show queue |
|
|
54
|
-
|
|
55
|
-
## Intent Detection
|
|
56
|
-
|
|
57
|
-
| Intent | Command |
|
|
58
|
-
|--------|---------|
|
|
59
|
-
| Start task | `p. task` |
|
|
60
|
-
| Finish | `p. done` |
|
|
61
|
-
| Ship | `p. ship` |
|
|
62
|
-
| What's next | `p. next` |
|
|
63
|
-
|
|
64
|
-
## Implementation
|
|
65
|
-
|
|
66
|
-
- Atomic operations
|
|
67
|
-
- Log to `memory/events.jsonl`
|
|
68
|
-
- Handle missing files gracefully
|
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
allowed-tools: [Read, Bash]
|
|
3
|
-
description: 'Analyze codebase and generate comprehensive summary'
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# /p:analyze
|
|
7
|
-
|
|
8
|
-
## Instructions for Claude
|
|
9
|
-
|
|
10
|
-
You are analyzing a codebase to generate a comprehensive summary. **NO predetermined patterns** - analyze based on what you actually find.
|
|
11
|
-
|
|
12
|
-
## Your Task
|
|
13
|
-
|
|
14
|
-
1. **Read project files** using the analyzer helpers:
|
|
15
|
-
- package.json, Cargo.toml, go.mod, requirements.txt, etc.
|
|
16
|
-
- Directory structure
|
|
17
|
-
- Git history and stats
|
|
18
|
-
- Key source files
|
|
19
|
-
|
|
20
|
-
2. **Understand the stack** - DON'T use predetermined lists:
|
|
21
|
-
- What language(s) are used?
|
|
22
|
-
- What frameworks are used?
|
|
23
|
-
- What tools and libraries are important?
|
|
24
|
-
- What's the architecture?
|
|
25
|
-
|
|
26
|
-
3. **Identify features** - based on actual code, not assumptions:
|
|
27
|
-
- What has been built?
|
|
28
|
-
- What's the current state?
|
|
29
|
-
- What patterns do you see?
|
|
30
|
-
|
|
31
|
-
4. **Generate agents** - create specialists for THIS project:
|
|
32
|
-
- Read the stack you identified
|
|
33
|
-
- Create agents for each major technology
|
|
34
|
-
- Use descriptive names (e.g., 'express-backend', 'react-frontend', 'postgres-db')
|
|
35
|
-
- Include specific versions and tools found
|
|
36
|
-
|
|
37
|
-
## Guidelines
|
|
38
|
-
|
|
39
|
-
- **No assumptions** - only report what you find
|
|
40
|
-
- **No predefined maps** - don't assume express = "REST API server"
|
|
41
|
-
- **Read and understand** - look at actual code structure
|
|
42
|
-
- **Any stack works** - Elixir, Rust, Go, Python, Ruby, whatever exists
|
|
43
|
-
- **Be specific** - include versions, specific tools, actual patterns
|
|
44
|
-
|
|
45
|
-
## Output Format
|
|
46
|
-
|
|
47
|
-
Generate `analysis/repo-summary.md` with:
|
|
48
|
-
|
|
49
|
-
```markdown
|
|
50
|
-
# Project Analysis
|
|
51
|
-
|
|
52
|
-
## Stack
|
|
53
|
-
|
|
54
|
-
[What you found - languages, frameworks, tools with versions]
|
|
55
|
-
|
|
56
|
-
## Architecture
|
|
57
|
-
|
|
58
|
-
[How it's organized - based on actual structure]
|
|
59
|
-
|
|
60
|
-
## Features
|
|
61
|
-
|
|
62
|
-
[What has been built - based on code and git history]
|
|
63
|
-
|
|
64
|
-
## Statistics
|
|
65
|
-
|
|
66
|
-
- Total files: [count]
|
|
67
|
-
- Contributors: [count]
|
|
68
|
-
- Age: [age]
|
|
69
|
-
- Last activity: [date]
|
|
70
|
-
|
|
71
|
-
## Recommendations
|
|
72
|
-
|
|
73
|
-
[What agents to generate, what's next, etc.]
|
|
74
|
-
```
|
|
75
|
-
|
|
76
|
-
## After Analysis
|
|
77
|
-
|
|
78
|
-
1. Save summary to `analysis/repo-summary.md`
|
|
79
|
-
2. Generate agents using `generator.generateDynamicAgent()`
|
|
80
|
-
3. Report what was found
|
|
81
|
-
|
|
82
|
-
---
|
|
83
|
-
|
|
84
|
-
**Remember**: You decide EVERYTHING based on analysis. No if/else, no predetermined patterns.
|