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
package/core/constants/index.ts
DELETED
|
@@ -1,379 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Constants
|
|
3
|
-
* Single source of truth for all constants in prjct-cli.
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
// =============================================================================
|
|
7
|
-
// File Format Constants
|
|
8
|
-
// =============================================================================
|
|
9
|
-
|
|
10
|
-
/**
|
|
11
|
-
* NOW file format patterns.
|
|
12
|
-
*/
|
|
13
|
-
export const NOW = {
|
|
14
|
-
/** Header marker for NOW file */
|
|
15
|
-
HEADER: '# NOW',
|
|
16
|
-
|
|
17
|
-
/** Pattern to extract task from NOW content */
|
|
18
|
-
TASK_PATTERN: /\*\*(.+?)\*\*/,
|
|
19
|
-
|
|
20
|
-
/** Generate NOW file content */
|
|
21
|
-
content: (task: string, startedAt: string, agent?: string, confidence?: number): string => {
|
|
22
|
-
const lines = ['# NOW', '', `**${task}**`, '', `Started: ${startedAt}`]
|
|
23
|
-
if (agent) {
|
|
24
|
-
lines.push(
|
|
25
|
-
`Agent: ${agent}${confidence ? ` (${Math.round(confidence * 100)}% confidence)` : ''}`
|
|
26
|
-
)
|
|
27
|
-
}
|
|
28
|
-
return `${lines.join('\n')}\n`
|
|
29
|
-
},
|
|
30
|
-
|
|
31
|
-
/** Extract task from NOW content */
|
|
32
|
-
extractTask: (content: string): string | null => {
|
|
33
|
-
const match = content.match(NOW.TASK_PATTERN)
|
|
34
|
-
return match ? match[1] : null
|
|
35
|
-
},
|
|
36
|
-
} as const
|
|
37
|
-
|
|
38
|
-
/**
|
|
39
|
-
* SHIPPED file format patterns.
|
|
40
|
-
*/
|
|
41
|
-
export const SHIPPED = {
|
|
42
|
-
/** Header marker for SHIPPED file */
|
|
43
|
-
HEADER: '# SHIPPED',
|
|
44
|
-
|
|
45
|
-
/** Generate ship entry */
|
|
46
|
-
entry: (feature: string, date: string, duration?: string): string => {
|
|
47
|
-
const lines = [`## ${feature}`, '', `Shipped: ${date}`]
|
|
48
|
-
if (duration) {
|
|
49
|
-
lines.push(`Duration: ${duration}`)
|
|
50
|
-
}
|
|
51
|
-
return `${lines.join('\n')}\n\n`
|
|
52
|
-
},
|
|
53
|
-
} as const
|
|
54
|
-
|
|
55
|
-
/**
|
|
56
|
-
* NEXT file format patterns.
|
|
57
|
-
*/
|
|
58
|
-
export const NEXT = {
|
|
59
|
-
/** Header marker for NEXT file */
|
|
60
|
-
HEADER: '# NEXT',
|
|
61
|
-
|
|
62
|
-
/** Pattern for task entries */
|
|
63
|
-
TASK_PATTERN: /^[-*]\s+\[([x ])\]\s+(.+)$/gm,
|
|
64
|
-
|
|
65
|
-
/** Generate task entry */
|
|
66
|
-
entry: (task: string, completed: boolean = false): string => {
|
|
67
|
-
return `- [${completed ? 'x' : ' '}] ${task}\n`
|
|
68
|
-
},
|
|
69
|
-
} as const
|
|
70
|
-
|
|
71
|
-
/**
|
|
72
|
-
* IDEAS file format patterns.
|
|
73
|
-
*/
|
|
74
|
-
export const IDEAS = {
|
|
75
|
-
/** Header marker for IDEAS file */
|
|
76
|
-
HEADER: '# IDEAS',
|
|
77
|
-
|
|
78
|
-
/** Generate idea entry */
|
|
79
|
-
entry: (idea: string, date: string): string => {
|
|
80
|
-
return `- ${idea} _(${date})_\n`
|
|
81
|
-
},
|
|
82
|
-
} as const
|
|
83
|
-
|
|
84
|
-
/**
|
|
85
|
-
* Roadmap status markers.
|
|
86
|
-
*/
|
|
87
|
-
export const ROADMAP_STATUS = {
|
|
88
|
-
PLANNED: 'Planned',
|
|
89
|
-
IN_PROGRESS: 'In Progress',
|
|
90
|
-
COMPLETED: 'Completed',
|
|
91
|
-
BLOCKED: 'Blocked',
|
|
92
|
-
} as const
|
|
93
|
-
|
|
94
|
-
export type RoadmapStatusKey = keyof typeof ROADMAP_STATUS
|
|
95
|
-
|
|
96
|
-
/**
|
|
97
|
-
* ROADMAP file format patterns.
|
|
98
|
-
*/
|
|
99
|
-
export const ROADMAP = {
|
|
100
|
-
/** Header marker for ROADMAP file */
|
|
101
|
-
HEADER: '# ROADMAP',
|
|
102
|
-
|
|
103
|
-
/** Status markers (re-exported for convenience) */
|
|
104
|
-
STATUS: ROADMAP_STATUS,
|
|
105
|
-
|
|
106
|
-
/** Generate feature entry */
|
|
107
|
-
entry: (feature: string, status: RoadmapStatusKey, tasks?: string[]): string => {
|
|
108
|
-
const lines = [`## ${feature}`, '', `Status: ${ROADMAP_STATUS[status]}`]
|
|
109
|
-
if (tasks && tasks.length > 0) {
|
|
110
|
-
lines.push('', '### Tasks', '')
|
|
111
|
-
for (const task of tasks) {
|
|
112
|
-
lines.push(`- [ ] ${task}`)
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
return `${lines.join('\n')}\n\n`
|
|
116
|
-
},
|
|
117
|
-
} as const
|
|
118
|
-
|
|
119
|
-
/**
|
|
120
|
-
* Session file paths.
|
|
121
|
-
*/
|
|
122
|
-
export const SESSION = {
|
|
123
|
-
/** Date format for session directories */
|
|
124
|
-
DATE_FORMAT: 'YYYY-MM-DD',
|
|
125
|
-
|
|
126
|
-
/** Generate session path */
|
|
127
|
-
path: (year: string, month: string, day: string): string => {
|
|
128
|
-
return `sessions/${year}-${month}/${year}-${month}-${day}`
|
|
129
|
-
},
|
|
130
|
-
|
|
131
|
-
/** Session metadata filename */
|
|
132
|
-
METADATA_FILE: 'session-meta.json',
|
|
133
|
-
|
|
134
|
-
/** Context log filename */
|
|
135
|
-
CONTEXT_FILE: 'context.jsonl',
|
|
136
|
-
} as const
|
|
137
|
-
|
|
138
|
-
// =============================================================================
|
|
139
|
-
// Status & Priority Constants
|
|
140
|
-
// =============================================================================
|
|
141
|
-
|
|
142
|
-
/**
|
|
143
|
-
* Status values used throughout prjct.
|
|
144
|
-
*/
|
|
145
|
-
export const STATUS = {
|
|
146
|
-
PENDING: 'pending',
|
|
147
|
-
IN_PROGRESS: 'in_progress',
|
|
148
|
-
COMPLETED: 'completed',
|
|
149
|
-
BLOCKED: 'blocked',
|
|
150
|
-
PAUSED: 'paused',
|
|
151
|
-
} as const
|
|
152
|
-
|
|
153
|
-
export type Status = (typeof STATUS)[keyof typeof STATUS]
|
|
154
|
-
|
|
155
|
-
/**
|
|
156
|
-
* Priority levels.
|
|
157
|
-
*/
|
|
158
|
-
export const PRIORITY = {
|
|
159
|
-
LOW: 'low',
|
|
160
|
-
MEDIUM: 'medium',
|
|
161
|
-
HIGH: 'high',
|
|
162
|
-
CRITICAL: 'critical',
|
|
163
|
-
} as const
|
|
164
|
-
|
|
165
|
-
export type Priority = (typeof PRIORITY)[keyof typeof PRIORITY]
|
|
166
|
-
|
|
167
|
-
// =============================================================================
|
|
168
|
-
// Plan Mode Constants
|
|
169
|
-
// =============================================================================
|
|
170
|
-
|
|
171
|
-
/**
|
|
172
|
-
* Plan status enum - values must match PlanStatus type in types.ts
|
|
173
|
-
*/
|
|
174
|
-
export const PLAN_STATUS = {
|
|
175
|
-
GATHERING: 'gathering',
|
|
176
|
-
ANALYZING: 'analyzing',
|
|
177
|
-
PROPOSING: 'proposing',
|
|
178
|
-
PENDING_APPROVAL: 'awaiting_approval',
|
|
179
|
-
APPROVED: 'approved',
|
|
180
|
-
REJECTED: 'rejected',
|
|
181
|
-
EXECUTING: 'executing',
|
|
182
|
-
COMPLETED: 'completed',
|
|
183
|
-
ABORTED: 'aborted',
|
|
184
|
-
} as const
|
|
185
|
-
|
|
186
|
-
export type PlanStatusValue = (typeof PLAN_STATUS)[keyof typeof PLAN_STATUS]
|
|
187
|
-
|
|
188
|
-
/**
|
|
189
|
-
* Commands that require planning mode
|
|
190
|
-
*/
|
|
191
|
-
export const PLAN_REQUIRED_COMMANDS = [
|
|
192
|
-
'feature', // New features need planning
|
|
193
|
-
'spec', // Specs are planning by definition
|
|
194
|
-
'design', // Architecture needs planning
|
|
195
|
-
'refactor', // Refactoring needs impact analysis
|
|
196
|
-
'migrate', // Migrations are high-risk
|
|
197
|
-
] as const
|
|
198
|
-
|
|
199
|
-
/**
|
|
200
|
-
* Commands that are destructive and need approval
|
|
201
|
-
*/
|
|
202
|
-
export const DESTRUCTIVE_COMMANDS = [
|
|
203
|
-
'ship', // Commits and pushes
|
|
204
|
-
'cleanup', // Deletes files/code
|
|
205
|
-
'git', // Git operations
|
|
206
|
-
'migrate', // Database/schema changes
|
|
207
|
-
] as const
|
|
208
|
-
|
|
209
|
-
/**
|
|
210
|
-
* Read-only tools allowed in planning mode
|
|
211
|
-
*/
|
|
212
|
-
export const PLANNING_TOOLS = [
|
|
213
|
-
'Read',
|
|
214
|
-
'Glob',
|
|
215
|
-
'Grep',
|
|
216
|
-
'GetTimestamp',
|
|
217
|
-
'GetDate',
|
|
218
|
-
'GetDateTime',
|
|
219
|
-
] as const
|
|
220
|
-
|
|
221
|
-
// =============================================================================
|
|
222
|
-
// Timeout Constants (PRJ-111)
|
|
223
|
-
// =============================================================================
|
|
224
|
-
|
|
225
|
-
/**
|
|
226
|
-
* Timeout values in milliseconds for various operations.
|
|
227
|
-
* Can be overridden via PRJCT_TIMEOUT_* environment variables.
|
|
228
|
-
*/
|
|
229
|
-
export const TIMEOUTS = {
|
|
230
|
-
/** Tool availability checks (git --version, npm --version) */
|
|
231
|
-
TOOL_CHECK: 5_000,
|
|
232
|
-
|
|
233
|
-
/** Standard git operations (status, add, commit) */
|
|
234
|
-
GIT_OPERATION: 10_000,
|
|
235
|
-
|
|
236
|
-
/** Git clone with --depth 1 */
|
|
237
|
-
GIT_CLONE: 60_000,
|
|
238
|
-
|
|
239
|
-
/** HTTP fetch/API requests */
|
|
240
|
-
API_REQUEST: 30_000,
|
|
241
|
-
|
|
242
|
-
/** npm install -g (CLI installation) - 2 minutes */
|
|
243
|
-
NPM_INSTALL: 120_000,
|
|
244
|
-
|
|
245
|
-
/** User-defined workflow hooks */
|
|
246
|
-
WORKFLOW_HOOK: 60_000,
|
|
247
|
-
} as const
|
|
248
|
-
|
|
249
|
-
export type TimeoutKey = keyof typeof TIMEOUTS
|
|
250
|
-
|
|
251
|
-
/**
|
|
252
|
-
* Get timeout value with optional environment variable override.
|
|
253
|
-
* Environment variables: PRJCT_TIMEOUT_TOOL_CHECK, PRJCT_TIMEOUT_GIT_OPERATION, etc.
|
|
254
|
-
*/
|
|
255
|
-
export function getTimeout(key: TimeoutKey): number {
|
|
256
|
-
const envVar = `PRJCT_TIMEOUT_${key}`
|
|
257
|
-
const envValue = process.env[envVar]
|
|
258
|
-
if (envValue) {
|
|
259
|
-
const parsed = Number.parseInt(envValue, 10)
|
|
260
|
-
if (!Number.isNaN(parsed) && parsed > 0) {
|
|
261
|
-
return parsed
|
|
262
|
-
}
|
|
263
|
-
}
|
|
264
|
-
return TIMEOUTS[key]
|
|
265
|
-
}
|
|
266
|
-
|
|
267
|
-
// =============================================================================
|
|
268
|
-
// Output Limits (PRJ-71)
|
|
269
|
-
// =============================================================================
|
|
270
|
-
|
|
271
|
-
/**
|
|
272
|
-
* Truncation lengths for CLI output messages.
|
|
273
|
-
* Centralizes magic numbers from output.ts.
|
|
274
|
-
*/
|
|
275
|
-
export const OUTPUT_LIMITS = {
|
|
276
|
-
/** Spinner message truncation */
|
|
277
|
-
SPINNER_MSG: 45,
|
|
278
|
-
/** Done/success message truncation */
|
|
279
|
-
DONE_MSG: 50,
|
|
280
|
-
/** Fail message truncation */
|
|
281
|
-
FAIL_MSG: 65,
|
|
282
|
-
/** Warn message truncation */
|
|
283
|
-
WARN_MSG: 65,
|
|
284
|
-
/** Step counter message truncation */
|
|
285
|
-
STEP_MSG: 35,
|
|
286
|
-
/** Progress bar text truncation */
|
|
287
|
-
PROGRESS_TEXT: 25,
|
|
288
|
-
/** Issue title truncation in lists */
|
|
289
|
-
ISSUE_TITLE: 50,
|
|
290
|
-
/** Fallback truncation when tier config is 0 */
|
|
291
|
-
FALLBACK_TRUNCATE: 50,
|
|
292
|
-
/** Terminal clear width */
|
|
293
|
-
CLEAR_WIDTH: 80,
|
|
294
|
-
} as const
|
|
295
|
-
|
|
296
|
-
// =============================================================================
|
|
297
|
-
// Storage Limits (PRJ-71)
|
|
298
|
-
// =============================================================================
|
|
299
|
-
|
|
300
|
-
/**
|
|
301
|
-
* File size and line limits for JSONL/storage operations.
|
|
302
|
-
* Centralizes magic numbers from jsonl-helper.ts.
|
|
303
|
-
*/
|
|
304
|
-
export const STORAGE_LIMITS = {
|
|
305
|
-
/** Default max lines for streaming JSONL reads */
|
|
306
|
-
JSONL_MAX_LINES: 1000,
|
|
307
|
-
/** File rotation threshold in MB */
|
|
308
|
-
ROTATION_SIZE_MB: 10,
|
|
309
|
-
/** Warning threshold for large files in MB */
|
|
310
|
-
LARGE_FILE_WARN_MB: 50,
|
|
311
|
-
} as const
|
|
312
|
-
|
|
313
|
-
// =============================================================================
|
|
314
|
-
// Event Bus Limits (PRJ-71)
|
|
315
|
-
// =============================================================================
|
|
316
|
-
|
|
317
|
-
/**
|
|
318
|
-
* Event bus configuration limits.
|
|
319
|
-
* Centralizes magic numbers from bus.ts.
|
|
320
|
-
*/
|
|
321
|
-
export const EVENT_LIMITS = {
|
|
322
|
-
/** Max events kept in history */
|
|
323
|
-
HISTORY_MAX: 100,
|
|
324
|
-
} as const
|
|
325
|
-
|
|
326
|
-
// =============================================================================
|
|
327
|
-
// Workflow Help Strings (user-facing, no magic strings)
|
|
328
|
-
// =============================================================================
|
|
329
|
-
|
|
330
|
-
/**
|
|
331
|
-
* Example commands shown in workflow preferences help.
|
|
332
|
-
* Keeps UI copy in English and centralized.
|
|
333
|
-
*/
|
|
334
|
-
export const WORKFLOW_HELP = {
|
|
335
|
-
/** Message when no workflow preferences are configured */
|
|
336
|
-
NO_PREFERENCES: 'No workflow preferences configured.',
|
|
337
|
-
/** Example: set a before-ship hook to run tests */
|
|
338
|
-
SET_EXAMPLE: 'p. workflow before ship run the tests',
|
|
339
|
-
/** Example: modify workflow to run npm test */
|
|
340
|
-
MODIFY_EXAMPLE: 'p. workflow before ship run npm test',
|
|
341
|
-
/** Example: remove the ship hook */
|
|
342
|
-
REMOVE_EXAMPLE: 'p. workflow remove the ship hook',
|
|
343
|
-
} as const
|
|
344
|
-
|
|
345
|
-
// =============================================================================
|
|
346
|
-
// Combined Exports
|
|
347
|
-
// =============================================================================
|
|
348
|
-
|
|
349
|
-
/**
|
|
350
|
-
* Combined file format exports for easy import.
|
|
351
|
-
*/
|
|
352
|
-
export const FORMATS = {
|
|
353
|
-
NOW,
|
|
354
|
-
SHIPPED,
|
|
355
|
-
NEXT,
|
|
356
|
-
IDEAS,
|
|
357
|
-
ROADMAP,
|
|
358
|
-
SESSION,
|
|
359
|
-
STATUS,
|
|
360
|
-
PRIORITY,
|
|
361
|
-
} as const
|
|
362
|
-
|
|
363
|
-
/**
|
|
364
|
-
* Combined plan mode exports for easy import.
|
|
365
|
-
*/
|
|
366
|
-
export const PLAN = {
|
|
367
|
-
STATUS: PLAN_STATUS,
|
|
368
|
-
REQUIRED_COMMANDS: PLAN_REQUIRED_COMMANDS,
|
|
369
|
-
DESTRUCTIVE_COMMANDS,
|
|
370
|
-
TOOLS: PLANNING_TOOLS,
|
|
371
|
-
} as const
|
|
372
|
-
|
|
373
|
-
/**
|
|
374
|
-
* Combined timeout exports for easy import.
|
|
375
|
-
*/
|
|
376
|
-
export const TIMEOUT = {
|
|
377
|
-
VALUES: TIMEOUTS,
|
|
378
|
-
get: getTimeout,
|
|
379
|
-
} as const
|