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,70 +0,0 @@
|
|
|
1
|
-
## FAST vs SMART COMMANDS (CRITICAL)
|
|
2
|
-
|
|
3
|
-
**Some commands just run a CLI. Others need intelligence. Know the difference.**
|
|
4
|
-
|
|
5
|
-
### FAST COMMANDS (Execute Immediately - NO planning, NO exploration)
|
|
6
|
-
|
|
7
|
-
| Command | Action | Time |
|
|
8
|
-
|---------|--------|------|
|
|
9
|
-
| `p. sync` | Run `prjct sync` | <5s |
|
|
10
|
-
| `p. next` | Run `prjct next` | <2s |
|
|
11
|
-
| `p. dash` | Run `prjct dash` | <2s |
|
|
12
|
-
| `p. pause` | Run `prjct pause` | <2s |
|
|
13
|
-
| `p. resume` | Run `prjct resume` | <2s |
|
|
14
|
-
|
|
15
|
-
**For these commands:**
|
|
16
|
-
```
|
|
17
|
-
1. Read template
|
|
18
|
-
2. Run the CLI command shown
|
|
19
|
-
3. Done
|
|
20
|
-
```
|
|
21
|
-
|
|
22
|
-
**DO NOT:** explore codebase, create plans, ask questions, read project files
|
|
23
|
-
|
|
24
|
-
### SMART COMMANDS (Require intelligence)
|
|
25
|
-
|
|
26
|
-
| Command | Why it needs intelligence |
|
|
27
|
-
|---------|--------------------------|
|
|
28
|
-
| `p. task` | Must explore codebase, break down work |
|
|
29
|
-
| `p. ship` | Must validate changes, create PR |
|
|
30
|
-
| `p. bug` | Must classify severity, find affected files |
|
|
31
|
-
| `p. done` | Must verify completion, update state |
|
|
32
|
-
|
|
33
|
-
**For these commands:** Follow the full INTELLIGENT BEHAVIOR rules.
|
|
34
|
-
|
|
35
|
-
### Decision Rule
|
|
36
|
-
```
|
|
37
|
-
IF template just says "run CLI command":
|
|
38
|
-
→ Execute immediately, no planning
|
|
39
|
-
ELSE:
|
|
40
|
-
→ Use intelligent behavior (explore, ask, plan)
|
|
41
|
-
```
|
|
42
|
-
|
|
43
|
-
---
|
|
44
|
-
|
|
45
|
-
## CORE WORKFLOW
|
|
46
|
-
|
|
47
|
-
```
|
|
48
|
-
p. sync → p. task "description" → [work] → p. done → p. ship
|
|
49
|
-
│ │ │ │
|
|
50
|
-
│ └─ Creates branch, breaks down │ │
|
|
51
|
-
│ task, starts tracking │ │
|
|
52
|
-
│ │ │
|
|
53
|
-
└─ Analyzes project, generates agents │ │
|
|
54
|
-
│ │
|
|
55
|
-
Completes subtask ─────┘ │
|
|
56
|
-
│
|
|
57
|
-
Ships feature, PR, tag ───┘
|
|
58
|
-
```
|
|
59
|
-
|
|
60
|
-
### Quick Reference
|
|
61
|
-
|
|
62
|
-
| Trigger | What It Does |
|
|
63
|
-
|---------|--------------|
|
|
64
|
-
| `p. sync` | Analyze project, generate domain agents |
|
|
65
|
-
| `p. task <desc>` | Start task with auto-classification |
|
|
66
|
-
| `p. done` | Complete current subtask |
|
|
67
|
-
| `p. ship [name]` | Ship feature with PR + version bump |
|
|
68
|
-
| `p. pause` | Pause current task |
|
|
69
|
-
| `p. resume` | Resume paused task |
|
|
70
|
-
| `p. bug <desc>` | Report bug with auto-priority |
|
|
@@ -1,105 +0,0 @@
|
|
|
1
|
-
# prjct-cli
|
|
2
|
-
|
|
3
|
-
**Context layer for AI agents** - Project context for Claude Code, Gemini CLI, and more.
|
|
4
|
-
|
|
5
|
-
## HOW TO USE PRJCT
|
|
6
|
-
|
|
7
|
-
When user types `p. <command>`, **READ the template** from `~/.claude/commands/p/{command}.md` and execute it step by step.
|
|
8
|
-
|
|
9
|
-
```
|
|
10
|
-
p. sync → ~/.claude/commands/p/sync.md
|
|
11
|
-
p. task X → ~/.claude/commands/p/task.md
|
|
12
|
-
p. done → ~/.claude/commands/p/done.md
|
|
13
|
-
p. ship X → ~/.claude/commands/p/ship.md
|
|
14
|
-
```
|
|
15
|
-
|
|
16
|
-
**⚠️ ALWAYS Read() the template file first. Templates contain mandatory workflows.**
|
|
17
|
-
|
|
18
|
-
---
|
|
19
|
-
|
|
20
|
-
## LOADING DOMAIN AGENTS (CRITICAL)
|
|
21
|
-
|
|
22
|
-
**Before starting any 🧠 SMART command (task, ship, bug, done):**
|
|
23
|
-
|
|
24
|
-
```
|
|
25
|
-
1. Read .prjct/prjct.config.json → get projectId
|
|
26
|
-
2. Set globalPath = ~/.prjct-cli/projects/{projectId}
|
|
27
|
-
3. Read {globalPath}/agents/*.md for domain expertise:
|
|
28
|
-
- prjct-planner.md → for task planning
|
|
29
|
-
- prjct-shipper.md → for shipping
|
|
30
|
-
- backend.md, frontend.md, etc → for domain-specific work
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
**USE the agent context when working.** Agents contain project-specific patterns.
|
|
34
|
-
|
|
35
|
-
---
|
|
36
|
-
|
|
37
|
-
## CRITICAL RULES
|
|
38
|
-
|
|
39
|
-
### 0. FOLLOW TEMPLATES STEP BY STEP (NON-NEGOTIABLE)
|
|
40
|
-
|
|
41
|
-
**Templates are MANDATORY WORKFLOWS, not suggestions.**
|
|
42
|
-
|
|
43
|
-
```
|
|
44
|
-
1. READ the template file COMPLETELY
|
|
45
|
-
2. FOLLOW each step IN ORDER
|
|
46
|
-
3. DO NOT skip steps - even "obvious" ones
|
|
47
|
-
4. STOP at any BLOCKING condition
|
|
48
|
-
```
|
|
49
|
-
|
|
50
|
-
### 1. Path Resolution (MOST IMPORTANT)
|
|
51
|
-
|
|
52
|
-
**ALL writes go to global storage**: `~/.prjct-cli/projects/{projectId}/`
|
|
53
|
-
|
|
54
|
-
- **NEVER** write to `.prjct/` (config only, read-only)
|
|
55
|
-
- **NEVER** write to `./` (current directory)
|
|
56
|
-
- **ALWAYS** resolve projectId first from `.prjct/prjct.config.json`
|
|
57
|
-
|
|
58
|
-
### 2. Before Any Command
|
|
59
|
-
|
|
60
|
-
```
|
|
61
|
-
1. Read .prjct/prjct.config.json → get projectId
|
|
62
|
-
2. Set globalPath = ~/.prjct-cli/projects/{projectId}
|
|
63
|
-
3. Execute command using globalPath for all writes
|
|
64
|
-
4. Log to {globalPath}/memory/events.jsonl
|
|
65
|
-
```
|
|
66
|
-
|
|
67
|
-
### 3. Timestamps & UUIDs
|
|
68
|
-
|
|
69
|
-
```bash
|
|
70
|
-
# Timestamp (NEVER hardcode)
|
|
71
|
-
bun -e "console.log(new Date().toISOString())" 2>/dev/null || node -e "console.log(new Date().toISOString())"
|
|
72
|
-
|
|
73
|
-
# UUID
|
|
74
|
-
bun -e "console.log(crypto.randomUUID())" 2>/dev/null || node -e "console.log(require('crypto').randomUUID())"
|
|
75
|
-
```
|
|
76
|
-
|
|
77
|
-
---
|
|
78
|
-
|
|
79
|
-
## OUTPUT FORMAT
|
|
80
|
-
|
|
81
|
-
Concise responses (< 4 lines):
|
|
82
|
-
```
|
|
83
|
-
[What was done]
|
|
84
|
-
|
|
85
|
-
[Key metrics]
|
|
86
|
-
Next: [suggested action]
|
|
87
|
-
```
|
|
88
|
-
|
|
89
|
-
---
|
|
90
|
-
|
|
91
|
-
## CLEAN TERMINAL UX
|
|
92
|
-
|
|
93
|
-
**Tool calls MUST be user-friendly.**
|
|
94
|
-
|
|
95
|
-
1. **ALWAYS use clear descriptions** in Bash tool calls:
|
|
96
|
-
- GOOD: `description: "Building project"`
|
|
97
|
-
- BAD: `description: "bun run build 2>&1 | tail -5"`
|
|
98
|
-
|
|
99
|
-
2. **Hide implementation details** - Users don't need to see pipe chains, internal paths, JSON parsing
|
|
100
|
-
|
|
101
|
-
3. **Use action verbs**: "Building project", "Running tests", "Checking git status"
|
|
102
|
-
|
|
103
|
-
---
|
|
104
|
-
|
|
105
|
-
**Auto-managed by prjct-cli** | https://prjct.app
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
## GIT WORKFLOW RULES (CRITICAL)
|
|
2
|
-
|
|
3
|
-
**NEVER commit directly to main/master**
|
|
4
|
-
- Always create a feature branch first
|
|
5
|
-
- Always create a PR for review
|
|
6
|
-
- Direct pushes to main are FORBIDDEN
|
|
7
|
-
|
|
8
|
-
**NEVER push without a PR**
|
|
9
|
-
- All changes go through pull requests
|
|
10
|
-
- No exceptions for "small fixes"
|
|
11
|
-
|
|
12
|
-
**NEVER skip version bump on ship**
|
|
13
|
-
- Every ship requires version update
|
|
14
|
-
- Every ship requires CHANGELOG entry
|
|
15
|
-
|
|
16
|
-
### Git Commit Footer (CRITICAL - ALWAYS INCLUDE)
|
|
17
|
-
|
|
18
|
-
**Every commit made with prjct MUST include this footer:**
|
|
19
|
-
|
|
20
|
-
```
|
|
21
|
-
Generated with [p/](https://www.prjct.app/)
|
|
22
|
-
```
|
|
23
|
-
|
|
24
|
-
**This is NON-NEGOTIABLE. The prjct signature must appear in ALL commits.**
|
|
25
|
-
|
|
26
|
-
### PLAN BEFORE DESTRUCTIVE ACTIONS
|
|
27
|
-
|
|
28
|
-
For commands that modify git state (ship, merge, done):
|
|
29
|
-
```
|
|
30
|
-
1. Show the user what will happen
|
|
31
|
-
2. List all changes/files affected
|
|
32
|
-
3. WAIT for explicit approval ("yes", "proceed", "do it")
|
|
33
|
-
4. Only then execute
|
|
34
|
-
```
|
|
35
|
-
|
|
36
|
-
**DO NOT assume approval. WAIT for it.**
|
|
37
|
-
|
|
38
|
-
### BLOCKING CONDITIONS
|
|
39
|
-
|
|
40
|
-
When a template says "STOP" or has a blocking symbol:
|
|
41
|
-
```
|
|
42
|
-
1. HALT execution immediately
|
|
43
|
-
2. TELL the user why you stopped
|
|
44
|
-
3. DO NOT proceed until the condition is resolved
|
|
45
|
-
```
|
|
46
|
-
|
|
47
|
-
**Examples of blockers:**
|
|
48
|
-
- `p. ship` on main branch → STOP, tell user to create branch
|
|
49
|
-
- `gh auth status` fails → STOP, tell user to authenticate
|
|
50
|
-
- No changes to commit → STOP, tell user nothing to ship
|
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
## INTELLIGENT BEHAVIOR (For SMART commands only)
|
|
2
|
-
|
|
3
|
-
### When Starting Tasks (`p. task`)
|
|
4
|
-
1. **Analyze** - Understand what user wants to achieve
|
|
5
|
-
2. **Classify** - Determine type: feature, bug, improvement, refactor, chore
|
|
6
|
-
3. **Explore** - Find similar code, patterns, affected files
|
|
7
|
-
4. **Ask** - Clarify ambiguities (use AskUserQuestion)
|
|
8
|
-
5. **Design** - Propose 2-3 approaches, get approval
|
|
9
|
-
6. **Break down** - Create actionable subtasks
|
|
10
|
-
7. **Track** - Update storage/state.json
|
|
11
|
-
|
|
12
|
-
### When Completing Tasks (`p. done`)
|
|
13
|
-
1. Check if there are more subtasks
|
|
14
|
-
2. If yes, advance to next subtask
|
|
15
|
-
3. If no, task is complete
|
|
16
|
-
4. Update storage, generate context
|
|
17
|
-
|
|
18
|
-
### When Shipping (`p. ship`)
|
|
19
|
-
1. Run tests (if configured)
|
|
20
|
-
2. Create PR (if on feature branch)
|
|
21
|
-
3. Bump version
|
|
22
|
-
4. Update CHANGELOG
|
|
23
|
-
5. Create git tag
|
|
24
|
-
|
|
25
|
-
### Key Intelligence Rules
|
|
26
|
-
- **Read before write** - Always read existing files before modifying
|
|
27
|
-
- **Explore before coding** - Use Task(Explore) to understand codebase
|
|
28
|
-
- **Ask when uncertain** - Use AskUserQuestion to clarify
|
|
29
|
-
- **Log everything** - Append to memory/events.jsonl
|
|
30
|
-
|
|
31
|
-
---
|
|
32
|
-
|
|
33
|
-
## ARCHITECTURE: Write-Through Pattern
|
|
34
|
-
|
|
35
|
-
```
|
|
36
|
-
User Action → Storage (JSON) → Context (MD) → Sync Events
|
|
37
|
-
```
|
|
38
|
-
|
|
39
|
-
| Layer | Path | Purpose |
|
|
40
|
-
|-------|------|---------|
|
|
41
|
-
| **Storage** | `storage/*.json` | Source of truth |
|
|
42
|
-
| **Context** | `context/*.md` | Claude-readable summaries |
|
|
43
|
-
| **Memory** | `memory/events.jsonl` | Audit trail (append-only) |
|
|
44
|
-
| **Agents** | `agents/*.md` | Domain specialists |
|
|
45
|
-
| **Sync** | `sync/pending.json` | Backend sync queue |
|
|
46
|
-
|
|
47
|
-
### File Structure
|
|
48
|
-
```
|
|
49
|
-
~/.prjct-cli/projects/{projectId}/
|
|
50
|
-
├── storage/
|
|
51
|
-
│ ├── state.json # Current task (SOURCE OF TRUTH)
|
|
52
|
-
│ ├── queue.json # Task queue
|
|
53
|
-
│ └── shipped.json # Shipped features
|
|
54
|
-
├── context/
|
|
55
|
-
│ ├── now.md # Current task (generated)
|
|
56
|
-
│ └── next.md # Queue (generated)
|
|
57
|
-
├── memory/
|
|
58
|
-
│ └── events.jsonl # Audit trail
|
|
59
|
-
├── agents/ # Domain specialists (auto-generated)
|
|
60
|
-
└── sync/
|
|
61
|
-
└── pending.json # Events for backend
|
|
62
|
-
```
|
|
63
|
-
|
|
64
|
-
---
|
|
65
|
-
|
|
66
|
-
## LOADING DOMAIN AGENTS
|
|
67
|
-
|
|
68
|
-
When working on tasks, load relevant agents from `{globalPath}/agents/`:
|
|
69
|
-
- `frontend.md` - Frontend patterns, components
|
|
70
|
-
- `backend.md` - Backend patterns, APIs
|
|
71
|
-
- `database.md` - Database patterns, queries
|
|
72
|
-
- `uxui.md` - UX/UI guidelines
|
|
73
|
-
- `testing.md` - Testing patterns
|
|
74
|
-
- `devops.md` - CI/CD, containers
|
|
75
|
-
|
|
76
|
-
These agents contain project-specific patterns. **USE THEM**.
|
|
77
|
-
|
|
78
|
-
---
|
|
79
|
-
|
|
80
|
-
## SKILL INTEGRATION
|
|
81
|
-
|
|
82
|
-
Agents are linked to Claude Code skills from claude-plugins.dev.
|
|
83
|
-
|
|
84
|
-
### How Skills Work
|
|
85
|
-
|
|
86
|
-
1. **During `p. sync`**: Search claude-plugins.dev, install best matches
|
|
87
|
-
2. **During `p. task`**: Skills are auto-invoked for domain expertise
|
|
88
|
-
3. **Agent frontmatter** has `skills: [discovered-skill-name]` field
|
|
89
|
-
|
|
90
|
-
### Skill Location
|
|
91
|
-
|
|
92
|
-
Skills are markdown files in `~/.claude/skills/`
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
## STORAGE RULES (CROSS-AGENT COMPATIBILITY)
|
|
2
|
-
|
|
3
|
-
**NEVER use temporary files** - Write directly to final destination:
|
|
4
|
-
- WRONG: Create `.tmp/file.json`, then `mv` to final path
|
|
5
|
-
- CORRECT: Write directly to `{globalPath}/storage/state.json`
|
|
6
|
-
|
|
7
|
-
**JSON formatting** - Always use consistent format:
|
|
8
|
-
- 2-space indentation
|
|
9
|
-
- No trailing commas
|
|
10
|
-
- Keys in logical order (as defined in storage schemas)
|
|
11
|
-
|
|
12
|
-
**Atomic writes for JSON**:
|
|
13
|
-
```javascript
|
|
14
|
-
// Read → Modify → Write (no temp files)
|
|
15
|
-
const data = JSON.parse(fs.readFileSync(path, 'utf-8'))
|
|
16
|
-
data.newField = value
|
|
17
|
-
fs.writeFileSync(path, JSON.stringify(data, null, 2))
|
|
18
|
-
```
|
|
19
|
-
|
|
20
|
-
**Timestamps**: Always ISO-8601 with milliseconds (`.000Z`)
|
|
21
|
-
**UUIDs**: Always v4 format (lowercase)
|
|
22
|
-
**Line endings**: LF (not CRLF)
|
|
23
|
-
**Encoding**: UTF-8 without BOM
|
|
24
|
-
|
|
25
|
-
**NEVER**:
|
|
26
|
-
- Use `.tmp/` directories
|
|
27
|
-
- Use `mv` or `rename` operations for storage files
|
|
28
|
-
- Create backup files like `*.bak` or `*.old`
|
|
29
|
-
- Modify existing lines in `events.jsonl`
|
|
30
|
-
|
|
31
|
-
**Full specification**: See `{npm root -g}/prjct-cli/templates/global/STORAGE-SPEC.md`
|
|
32
|
-
|
|
33
|
-
---
|
|
34
|
-
|
|
35
|
-
## Preserve Markers (User Customizations)
|
|
36
|
-
|
|
37
|
-
User customizations in context files and agents survive regeneration using preserve markers:
|
|
38
|
-
|
|
39
|
-
```markdown
|
|
40
|
-
<!-- prjct:preserve -->
|
|
41
|
-
# My Custom Rules
|
|
42
|
-
- Always use tabs
|
|
43
|
-
- Prefer functional patterns
|
|
44
|
-
<!-- /prjct:preserve -->
|
|
45
|
-
```
|
|
46
|
-
|
|
47
|
-
**How it works:**
|
|
48
|
-
- Content between markers is extracted before regeneration
|
|
49
|
-
- After regeneration, preserved content is appended under "Your Customizations"
|
|
50
|
-
- Named sections: `<!-- prjct:preserve:my-rules -->` for identification
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"description": "Configuration for modular CLAUDE.md composition",
|
|
3
|
-
"version": "1.0.0",
|
|
4
|
-
"profiles": {
|
|
5
|
-
"full": {
|
|
6
|
-
"description": "All modules - maximum context (~2300 tokens)",
|
|
7
|
-
"modules": [
|
|
8
|
-
"CLAUDE-core.md",
|
|
9
|
-
"CLAUDE-commands.md",
|
|
10
|
-
"CLAUDE-git.md",
|
|
11
|
-
"CLAUDE-storage.md",
|
|
12
|
-
"CLAUDE-intelligence.md"
|
|
13
|
-
]
|
|
14
|
-
},
|
|
15
|
-
"standard": {
|
|
16
|
-
"description": "Standard modules - balanced (~1400 tokens)",
|
|
17
|
-
"modules": ["CLAUDE-core.md", "CLAUDE-commands.md", "CLAUDE-git.md"]
|
|
18
|
-
},
|
|
19
|
-
"minimal": {
|
|
20
|
-
"description": "Core only - minimum context (~500 tokens)",
|
|
21
|
-
"modules": ["CLAUDE-core.md"]
|
|
22
|
-
}
|
|
23
|
-
},
|
|
24
|
-
"default": "standard",
|
|
25
|
-
"commandProfiles": {
|
|
26
|
-
"sync": "minimal",
|
|
27
|
-
"next": "minimal",
|
|
28
|
-
"dash": "minimal",
|
|
29
|
-
"pause": "minimal",
|
|
30
|
-
"resume": "minimal",
|
|
31
|
-
"task": "full",
|
|
32
|
-
"done": "standard",
|
|
33
|
-
"ship": "full",
|
|
34
|
-
"bug": "full"
|
|
35
|
-
}
|
|
36
|
-
}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"mcpServers": {
|
|
3
|
-
"context7": {
|
|
4
|
-
"command": "npx",
|
|
5
|
-
"args": ["-y", "@upstash/context7-mcp@latest"],
|
|
6
|
-
"description": "Library documentation lookup"
|
|
7
|
-
}
|
|
8
|
-
},
|
|
9
|
-
"usage": {
|
|
10
|
-
"context7": {
|
|
11
|
-
"when": ["Looking up library/framework documentation", "Need current API docs"],
|
|
12
|
-
"tools": ["resolve-library-id", "get-library-docs"]
|
|
13
|
-
}
|
|
14
|
-
},
|
|
15
|
-
"integrations": {
|
|
16
|
-
"linear": "SDK - Set LINEAR_API_KEY env var",
|
|
17
|
-
"jira": "REST API - Set JIRA_BASE_URL, JIRA_EMAIL, JIRA_API_TOKEN env vars"
|
|
18
|
-
}
|
|
19
|
-
}
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
// Default permissions preset for prjct-cli
|
|
3
|
-
// Safe defaults with protection against destructive operations
|
|
4
|
-
|
|
5
|
-
"bash": {
|
|
6
|
-
// Safe read-only commands - always allowed
|
|
7
|
-
"git status*": "allow",
|
|
8
|
-
"git log*": "allow",
|
|
9
|
-
"git diff*": "allow",
|
|
10
|
-
"git branch*": "allow",
|
|
11
|
-
"ls*": "allow",
|
|
12
|
-
"pwd": "allow",
|
|
13
|
-
"cat*": "allow",
|
|
14
|
-
"head*": "allow",
|
|
15
|
-
"tail*": "allow",
|
|
16
|
-
"grep*": "allow",
|
|
17
|
-
"find*": "allow",
|
|
18
|
-
"which*": "allow",
|
|
19
|
-
"node -e*": "allow",
|
|
20
|
-
"bun -e*": "allow",
|
|
21
|
-
"npm list*": "allow",
|
|
22
|
-
"npx tsc --noEmit*": "allow",
|
|
23
|
-
|
|
24
|
-
// Potentially destructive - ask first
|
|
25
|
-
"rm -rf*": "ask",
|
|
26
|
-
"rm -r*": "ask",
|
|
27
|
-
"git push*": "ask",
|
|
28
|
-
"git reset --hard*": "ask",
|
|
29
|
-
"npm publish*": "ask",
|
|
30
|
-
"chmod*": "ask",
|
|
31
|
-
|
|
32
|
-
// Always denied - too dangerous
|
|
33
|
-
"rm -rf /*": "deny",
|
|
34
|
-
"rm -rf ~/*": "deny",
|
|
35
|
-
"sudo*": "deny"
|
|
36
|
-
},
|
|
37
|
-
|
|
38
|
-
"files": {
|
|
39
|
-
"read": {
|
|
40
|
-
"**/*": "allow"
|
|
41
|
-
},
|
|
42
|
-
"write": {
|
|
43
|
-
"**/*": "allow"
|
|
44
|
-
},
|
|
45
|
-
"delete": {
|
|
46
|
-
"**/*": "ask"
|
|
47
|
-
}
|
|
48
|
-
},
|
|
49
|
-
|
|
50
|
-
"web": {
|
|
51
|
-
"enabled": true
|
|
52
|
-
},
|
|
53
|
-
|
|
54
|
-
"doomLoop": {
|
|
55
|
-
"enabled": true,
|
|
56
|
-
"maxRetries": 3
|
|
57
|
-
},
|
|
58
|
-
|
|
59
|
-
"externalDirectories": "ask"
|
|
60
|
-
}
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
// Permissive preset for prjct-cli
|
|
3
|
-
// For trusted environments - minimal restrictions
|
|
4
|
-
|
|
5
|
-
"bash": {
|
|
6
|
-
// Most commands allowed
|
|
7
|
-
"git*": "allow",
|
|
8
|
-
"npm*": "allow",
|
|
9
|
-
"bun*": "allow",
|
|
10
|
-
"node*": "allow",
|
|
11
|
-
"ls*": "allow",
|
|
12
|
-
"cat*": "allow",
|
|
13
|
-
"mkdir*": "allow",
|
|
14
|
-
"cp*": "allow",
|
|
15
|
-
"mv*": "allow",
|
|
16
|
-
"rm*": "allow",
|
|
17
|
-
"chmod*": "allow",
|
|
18
|
-
|
|
19
|
-
// Still protect against catastrophic mistakes
|
|
20
|
-
"rm -rf /*": "deny",
|
|
21
|
-
"rm -rf ~/*": "deny",
|
|
22
|
-
"sudo rm -rf*": "deny",
|
|
23
|
-
":(){ :|:& };:*": "deny"
|
|
24
|
-
},
|
|
25
|
-
|
|
26
|
-
"files": {
|
|
27
|
-
"read": {
|
|
28
|
-
"**/*": "allow"
|
|
29
|
-
},
|
|
30
|
-
"write": {
|
|
31
|
-
"**/*": "allow"
|
|
32
|
-
},
|
|
33
|
-
"delete": {
|
|
34
|
-
"**/*": "allow",
|
|
35
|
-
"**/node_modules/**": "deny" // Protect dependencies
|
|
36
|
-
}
|
|
37
|
-
},
|
|
38
|
-
|
|
39
|
-
"web": {
|
|
40
|
-
"enabled": true
|
|
41
|
-
},
|
|
42
|
-
|
|
43
|
-
"doomLoop": {
|
|
44
|
-
"enabled": true,
|
|
45
|
-
"maxRetries": 5
|
|
46
|
-
},
|
|
47
|
-
|
|
48
|
-
"externalDirectories": "allow"
|
|
49
|
-
}
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
// Strict permissions preset for prjct-cli
|
|
3
|
-
// Maximum safety - requires approval for most operations
|
|
4
|
-
|
|
5
|
-
"bash": {
|
|
6
|
-
// Only read-only commands allowed
|
|
7
|
-
"git status": "allow",
|
|
8
|
-
"git log*": "allow",
|
|
9
|
-
"git diff*": "allow",
|
|
10
|
-
"ls*": "allow",
|
|
11
|
-
"pwd": "allow",
|
|
12
|
-
"cat*": "allow",
|
|
13
|
-
"head*": "allow",
|
|
14
|
-
"tail*": "allow",
|
|
15
|
-
"which*": "allow",
|
|
16
|
-
|
|
17
|
-
// Everything else requires approval
|
|
18
|
-
"git*": "ask",
|
|
19
|
-
"npm*": "ask",
|
|
20
|
-
"bun*": "ask",
|
|
21
|
-
"node*": "ask",
|
|
22
|
-
"rm*": "ask",
|
|
23
|
-
"mv*": "ask",
|
|
24
|
-
"cp*": "ask",
|
|
25
|
-
"mkdir*": "ask",
|
|
26
|
-
|
|
27
|
-
// Always denied
|
|
28
|
-
"rm -rf*": "deny",
|
|
29
|
-
"sudo*": "deny",
|
|
30
|
-
"chmod 777*": "deny"
|
|
31
|
-
},
|
|
32
|
-
|
|
33
|
-
"files": {
|
|
34
|
-
"read": {
|
|
35
|
-
"**/*": "allow",
|
|
36
|
-
"**/.*": "ask", // Hidden files need approval
|
|
37
|
-
"**/.env*": "deny" // Never read env files
|
|
38
|
-
},
|
|
39
|
-
"write": {
|
|
40
|
-
"**/*": "ask" // All writes need approval
|
|
41
|
-
},
|
|
42
|
-
"delete": {
|
|
43
|
-
"**/*": "deny" // No deletions without explicit override
|
|
44
|
-
}
|
|
45
|
-
},
|
|
46
|
-
|
|
47
|
-
"web": {
|
|
48
|
-
"enabled": true,
|
|
49
|
-
"blockedDomains": ["localhost", "127.0.0.1", "internal"]
|
|
50
|
-
},
|
|
51
|
-
|
|
52
|
-
"doomLoop": {
|
|
53
|
-
"enabled": true,
|
|
54
|
-
"maxRetries": 2
|
|
55
|
-
},
|
|
56
|
-
|
|
57
|
-
"externalDirectories": "deny"
|
|
58
|
-
}
|