sudocode 1.0.0 → 1.1.1
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/README.md +222 -0
- package/build.js +75 -0
- package/node_modules/@sudocode-ai/cli/README.md +330 -0
- package/node_modules/@sudocode-ai/cli/dist/cli/feedback-commands.d.ts +53 -0
- package/node_modules/@sudocode-ai/cli/dist/cli/feedback-commands.d.ts.map +1 -0
- package/node_modules/@sudocode-ai/cli/dist/cli/feedback-commands.js +274 -0
- package/node_modules/@sudocode-ai/cli/dist/cli/feedback-commands.js.map +1 -0
- package/node_modules/@sudocode-ai/cli/dist/cli/init-commands.d.ts +22 -0
- package/node_modules/@sudocode-ai/cli/dist/cli/init-commands.d.ts.map +1 -0
- package/node_modules/@sudocode-ai/cli/dist/cli/init-commands.js +148 -0
- package/node_modules/@sudocode-ai/cli/dist/cli/init-commands.js.map +1 -0
- package/node_modules/@sudocode-ai/cli/dist/cli/issue-commands.d.ts +45 -0
- package/node_modules/@sudocode-ai/cli/dist/cli/issue-commands.d.ts.map +1 -0
- package/node_modules/@sudocode-ai/cli/dist/cli/issue-commands.js +310 -0
- package/node_modules/@sudocode-ai/cli/dist/cli/issue-commands.js.map +1 -0
- package/node_modules/@sudocode-ai/cli/dist/cli/query-commands.d.ts +18 -0
- package/node_modules/@sudocode-ai/cli/dist/cli/query-commands.d.ts.map +1 -0
- package/node_modules/@sudocode-ai/cli/dist/cli/query-commands.js +61 -0
- package/node_modules/@sudocode-ai/cli/dist/cli/query-commands.js.map +1 -0
- package/node_modules/@sudocode-ai/cli/dist/cli/reference-commands.d.ts +22 -0
- package/node_modules/@sudocode-ai/cli/dist/cli/reference-commands.d.ts.map +1 -0
- package/node_modules/@sudocode-ai/cli/dist/cli/reference-commands.js +136 -0
- package/node_modules/@sudocode-ai/cli/dist/cli/reference-commands.js.map +1 -0
- package/node_modules/@sudocode-ai/cli/dist/cli/relationship-commands.d.ts +14 -0
- package/node_modules/@sudocode-ai/cli/dist/cli/relationship-commands.d.ts.map +1 -0
- package/node_modules/@sudocode-ai/cli/dist/cli/relationship-commands.js +76 -0
- package/node_modules/@sudocode-ai/cli/dist/cli/relationship-commands.js.map +1 -0
- package/node_modules/@sudocode-ai/cli/dist/cli/server-commands.d.ts +17 -0
- package/node_modules/@sudocode-ai/cli/dist/cli/server-commands.d.ts.map +1 -0
- package/node_modules/@sudocode-ai/cli/dist/cli/server-commands.js +99 -0
- package/node_modules/@sudocode-ai/cli/dist/cli/server-commands.js.map +1 -0
- package/node_modules/@sudocode-ai/cli/dist/cli/spec-commands.d.ts +38 -0
- package/node_modules/@sudocode-ai/cli/dist/cli/spec-commands.d.ts.map +1 -0
- package/node_modules/@sudocode-ai/cli/dist/cli/spec-commands.js +321 -0
- package/node_modules/@sudocode-ai/cli/dist/cli/spec-commands.js.map +1 -0
- package/node_modules/@sudocode-ai/cli/dist/cli/status-commands.d.ts +17 -0
- package/node_modules/@sudocode-ai/cli/dist/cli/status-commands.d.ts.map +1 -0
- package/node_modules/@sudocode-ai/cli/dist/cli/status-commands.js +131 -0
- package/node_modules/@sudocode-ai/cli/dist/cli/status-commands.js.map +1 -0
- package/node_modules/@sudocode-ai/cli/dist/cli/sync-commands.d.ts +24 -0
- package/node_modules/@sudocode-ai/cli/dist/cli/sync-commands.d.ts.map +1 -0
- package/node_modules/@sudocode-ai/cli/dist/cli/sync-commands.js +416 -0
- package/node_modules/@sudocode-ai/cli/dist/cli/sync-commands.js.map +1 -0
- package/node_modules/@sudocode-ai/cli/dist/cli/update-commands.d.ts +12 -0
- package/node_modules/@sudocode-ai/cli/dist/cli/update-commands.d.ts.map +1 -0
- package/node_modules/@sudocode-ai/cli/dist/cli/update-commands.js +78 -0
- package/node_modules/@sudocode-ai/cli/dist/cli/update-commands.js.map +1 -0
- package/node_modules/@sudocode-ai/cli/dist/cli.d.ts +6 -0
- package/node_modules/@sudocode-ai/cli/dist/cli.d.ts.map +1 -0
- package/node_modules/@sudocode-ai/cli/dist/cli.js +426 -0
- package/node_modules/@sudocode-ai/cli/dist/cli.js.map +1 -0
- package/node_modules/@sudocode-ai/cli/dist/db.d.ts +21 -0
- package/node_modules/@sudocode-ai/cli/dist/db.d.ts.map +1 -0
- package/node_modules/@sudocode-ai/cli/dist/db.js +54 -0
- package/node_modules/@sudocode-ai/cli/dist/db.js.map +1 -0
- package/node_modules/@sudocode-ai/cli/dist/export.d.ts +79 -0
- package/node_modules/@sudocode-ai/cli/dist/export.d.ts.map +1 -0
- package/node_modules/@sudocode-ai/cli/dist/export.js +195 -0
- package/node_modules/@sudocode-ai/cli/dist/export.js.map +1 -0
- package/node_modules/@sudocode-ai/cli/dist/filename-generator.d.ts +30 -0
- package/node_modules/@sudocode-ai/cli/dist/filename-generator.d.ts.map +1 -0
- package/node_modules/@sudocode-ai/cli/dist/filename-generator.js +93 -0
- package/node_modules/@sudocode-ai/cli/dist/filename-generator.js.map +1 -0
- package/node_modules/@sudocode-ai/cli/dist/id-generator.d.ts +26 -0
- package/node_modules/@sudocode-ai/cli/dist/id-generator.d.ts.map +1 -0
- package/node_modules/@sudocode-ai/cli/dist/id-generator.js +123 -0
- package/node_modules/@sudocode-ai/cli/dist/id-generator.js.map +1 -0
- package/node_modules/@sudocode-ai/cli/dist/import.d.ts +118 -0
- package/node_modules/@sudocode-ai/cli/dist/import.d.ts.map +1 -0
- package/node_modules/@sudocode-ai/cli/dist/import.js +608 -0
- package/node_modules/@sudocode-ai/cli/dist/import.js.map +1 -0
- package/node_modules/@sudocode-ai/cli/dist/index.d.ts +13 -0
- package/node_modules/@sudocode-ai/cli/dist/index.d.ts.map +1 -0
- package/node_modules/@sudocode-ai/cli/dist/index.js +13 -0
- package/node_modules/@sudocode-ai/cli/dist/index.js.map +1 -0
- package/node_modules/@sudocode-ai/cli/dist/jsonl.d.ts +69 -0
- package/node_modules/@sudocode-ai/cli/dist/jsonl.d.ts.map +1 -0
- package/node_modules/@sudocode-ai/cli/dist/jsonl.js +333 -0
- package/node_modules/@sudocode-ai/cli/dist/jsonl.js.map +1 -0
- package/node_modules/@sudocode-ai/cli/dist/markdown.d.ts +146 -0
- package/node_modules/@sudocode-ai/cli/dist/markdown.d.ts.map +1 -0
- package/node_modules/@sudocode-ai/cli/dist/markdown.js +357 -0
- package/node_modules/@sudocode-ai/cli/dist/markdown.js.map +1 -0
- package/node_modules/@sudocode-ai/cli/dist/migrations.d.ts +23 -0
- package/node_modules/@sudocode-ai/cli/dist/migrations.d.ts.map +1 -0
- package/node_modules/@sudocode-ai/cli/dist/migrations.js +57 -0
- package/node_modules/@sudocode-ai/cli/dist/migrations.js.map +1 -0
- package/node_modules/@sudocode-ai/cli/dist/operations/events.d.ts +53 -0
- package/node_modules/@sudocode-ai/cli/dist/operations/events.d.ts.map +1 -0
- package/node_modules/@sudocode-ai/cli/dist/operations/events.js +108 -0
- package/node_modules/@sudocode-ai/cli/dist/operations/events.js.map +1 -0
- package/node_modules/@sudocode-ai/cli/dist/operations/feedback-anchors.d.ts +92 -0
- package/node_modules/@sudocode-ai/cli/dist/operations/feedback-anchors.d.ts.map +1 -0
- package/node_modules/@sudocode-ai/cli/dist/operations/feedback-anchors.js +444 -0
- package/node_modules/@sudocode-ai/cli/dist/operations/feedback-anchors.js.map +1 -0
- package/node_modules/@sudocode-ai/cli/dist/operations/feedback.d.ts +76 -0
- package/node_modules/@sudocode-ai/cli/dist/operations/feedback.d.ts.map +1 -0
- package/node_modules/@sudocode-ai/cli/dist/operations/feedback.js +234 -0
- package/node_modules/@sudocode-ai/cli/dist/operations/feedback.js.map +1 -0
- package/node_modules/@sudocode-ai/cli/dist/operations/index.d.ts +10 -0
- package/node_modules/@sudocode-ai/cli/dist/operations/index.d.ts.map +1 -0
- package/node_modules/@sudocode-ai/cli/dist/operations/index.js +10 -0
- package/node_modules/@sudocode-ai/cli/dist/operations/index.js.map +1 -0
- package/node_modules/@sudocode-ai/cli/dist/operations/issues.d.ts +82 -0
- package/node_modules/@sudocode-ai/cli/dist/operations/issues.d.ts.map +1 -0
- package/node_modules/@sudocode-ai/cli/dist/operations/issues.js +411 -0
- package/node_modules/@sudocode-ai/cli/dist/operations/issues.js.map +1 -0
- package/node_modules/@sudocode-ai/cli/dist/operations/references.d.ts +34 -0
- package/node_modules/@sudocode-ai/cli/dist/operations/references.d.ts.map +1 -0
- package/node_modules/@sudocode-ai/cli/dist/operations/references.js +117 -0
- package/node_modules/@sudocode-ai/cli/dist/operations/references.js.map +1 -0
- package/node_modules/@sudocode-ai/cli/dist/operations/relationships.d.ts +57 -0
- package/node_modules/@sudocode-ai/cli/dist/operations/relationships.d.ts.map +1 -0
- package/node_modules/@sudocode-ai/cli/dist/operations/relationships.js +236 -0
- package/node_modules/@sudocode-ai/cli/dist/operations/relationships.js.map +1 -0
- package/node_modules/@sudocode-ai/cli/dist/operations/specs.d.ts +64 -0
- package/node_modules/@sudocode-ai/cli/dist/operations/specs.d.ts.map +1 -0
- package/node_modules/@sudocode-ai/cli/dist/operations/specs.js +290 -0
- package/node_modules/@sudocode-ai/cli/dist/operations/specs.js.map +1 -0
- package/node_modules/@sudocode-ai/cli/dist/operations/tags.d.ts +42 -0
- package/node_modules/@sudocode-ai/cli/dist/operations/tags.d.ts.map +1 -0
- package/node_modules/@sudocode-ai/cli/dist/operations/tags.js +127 -0
- package/node_modules/@sudocode-ai/cli/dist/operations/tags.js.map +1 -0
- package/node_modules/@sudocode-ai/cli/dist/operations/transactions.d.ts +41 -0
- package/node_modules/@sudocode-ai/cli/dist/operations/transactions.d.ts.map +1 -0
- package/node_modules/@sudocode-ai/cli/dist/operations/transactions.js +111 -0
- package/node_modules/@sudocode-ai/cli/dist/operations/transactions.js.map +1 -0
- package/node_modules/@sudocode-ai/cli/dist/sync.d.ts +47 -0
- package/node_modules/@sudocode-ai/cli/dist/sync.d.ts.map +1 -0
- package/node_modules/@sudocode-ai/cli/dist/sync.js +442 -0
- package/node_modules/@sudocode-ai/cli/dist/sync.js.map +1 -0
- package/node_modules/@sudocode-ai/cli/dist/test-schema.d.ts +5 -0
- package/node_modules/@sudocode-ai/cli/dist/test-schema.d.ts.map +1 -0
- package/node_modules/@sudocode-ai/cli/dist/test-schema.js +46 -0
- package/node_modules/@sudocode-ai/cli/dist/test-schema.js.map +1 -0
- package/node_modules/@sudocode-ai/cli/dist/types.d.ts +7 -0
- package/node_modules/@sudocode-ai/cli/dist/types.d.ts.map +1 -0
- package/node_modules/@sudocode-ai/cli/dist/types.js +7 -0
- package/node_modules/@sudocode-ai/cli/dist/types.js.map +1 -0
- package/node_modules/@sudocode-ai/cli/dist/update-checker.d.ts +24 -0
- package/node_modules/@sudocode-ai/cli/dist/update-checker.d.ts.map +1 -0
- package/node_modules/@sudocode-ai/cli/dist/update-checker.js +151 -0
- package/node_modules/@sudocode-ai/cli/dist/update-checker.js.map +1 -0
- package/node_modules/@sudocode-ai/cli/dist/version.d.ts +12 -0
- package/node_modules/@sudocode-ai/cli/dist/version.d.ts.map +1 -0
- package/node_modules/@sudocode-ai/cli/dist/version.js +23 -0
- package/node_modules/@sudocode-ai/cli/dist/version.js.map +1 -0
- package/node_modules/@sudocode-ai/cli/dist/watcher.d.ts +63 -0
- package/node_modules/@sudocode-ai/cli/dist/watcher.d.ts.map +1 -0
- package/node_modules/@sudocode-ai/cli/dist/watcher.js +438 -0
- package/node_modules/@sudocode-ai/cli/dist/watcher.js.map +1 -0
- package/node_modules/@sudocode-ai/cli/package.json +65 -0
- package/node_modules/@sudocode-ai/local-server/README.md +19 -0
- package/node_modules/@sudocode-ai/local-server/dist/cli.d.ts +7 -0
- package/node_modules/@sudocode-ai/local-server/dist/cli.d.ts.map +1 -0
- package/node_modules/@sudocode-ai/local-server/dist/cli.js +7 -0
- package/node_modules/@sudocode-ai/local-server/dist/cli.js.map +1 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/engine/engine.d.ts +103 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/engine/engine.d.ts.map +1 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/engine/engine.js +10 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/engine/engine.js.map +1 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/engine/simple-engine.d.ts +190 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/engine/simple-engine.d.ts.map +1 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/engine/simple-engine.js +611 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/engine/simple-engine.js.map +1 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/engine/types.d.ts +116 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/engine/types.d.ts.map +1 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/engine/types.js +10 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/engine/types.js.map +1 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/output/ag-ui-adapter.d.ts +176 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/output/ag-ui-adapter.d.ts.map +1 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/output/ag-ui-adapter.js +438 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/output/ag-ui-adapter.js.map +1 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/output/ag-ui-integration.d.ts +96 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/output/ag-ui-integration.d.ts.map +1 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/output/ag-ui-integration.js +96 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/output/ag-ui-integration.js.map +1 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/output/claude-code-output-processor.d.ts +321 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/output/claude-code-output-processor.d.ts.map +1 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/output/claude-code-output-processor.js +769 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/output/claude-code-output-processor.js.map +1 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/output/index.d.ts +18 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/output/index.d.ts.map +1 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/output/index.js +15 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/output/index.js.map +1 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/output/types.d.ts +421 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/output/types.d.ts.map +1 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/output/types.js +22 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/output/types.js.map +1 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/process/builders/claude.d.ts +86 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/process/builders/claude.d.ts.map +1 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/process/builders/claude.js +59 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/process/builders/claude.js.map +1 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/process/index.d.ts +15 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/process/index.d.ts.map +1 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/process/index.js +15 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/process/index.js.map +1 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/process/manager.d.ts +133 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/process/manager.d.ts.map +1 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/process/manager.js +10 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/process/manager.js.map +1 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/process/simple-manager.d.ts +102 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/process/simple-manager.d.ts.map +1 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/process/simple-manager.js +336 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/process/simple-manager.js.map +1 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/process/types.d.ts +105 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/process/types.d.ts.map +1 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/process/types.js +10 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/process/types.js.map +1 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/process/utils.d.ts +53 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/process/utils.d.ts.map +1 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/process/utils.js +97 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/process/utils.js.map +1 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/resilience/circuit-breaker.d.ts +170 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/resilience/circuit-breaker.d.ts.map +1 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/resilience/circuit-breaker.js +291 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/resilience/circuit-breaker.js.map +1 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/resilience/executor.d.ts +109 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/resilience/executor.d.ts.map +1 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/resilience/executor.js +10 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/resilience/executor.js.map +1 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/resilience/index.d.ts +14 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/resilience/index.d.ts.map +1 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/resilience/index.js +15 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/resilience/index.js.map +1 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/resilience/resilient-executor.d.ts +86 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/resilience/resilient-executor.d.ts.map +1 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/resilience/resilient-executor.js +261 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/resilience/resilient-executor.js.map +1 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/resilience/retry.d.ts +161 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/resilience/retry.d.ts.map +1 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/resilience/retry.js +234 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/resilience/retry.js.map +1 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/resilience/types.d.ts +226 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/resilience/types.d.ts.map +1 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/resilience/types.js +30 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/resilience/types.js.map +1 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/transport/event-buffer.d.ts +119 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/transport/event-buffer.d.ts.map +1 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/transport/event-buffer.js +208 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/transport/event-buffer.js.map +1 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/transport/index.d.ts +10 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/transport/index.d.ts.map +1 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/transport/index.js +10 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/transport/index.js.map +1 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/transport/sse-transport.d.ts +146 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/transport/sse-transport.d.ts.map +1 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/transport/sse-transport.js +282 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/transport/sse-transport.js.map +1 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/transport/transport-manager.d.ts +176 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/transport/transport-manager.d.ts.map +1 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/transport/transport-manager.js +231 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/transport/transport-manager.js.map +1 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/workflow/index.d.ts +13 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/workflow/index.d.ts.map +1 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/workflow/index.js +13 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/workflow/index.js.map +1 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/workflow/linear-orchestrator.d.ts +216 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/workflow/linear-orchestrator.d.ts.map +1 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/workflow/linear-orchestrator.js +683 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/workflow/linear-orchestrator.js.map +1 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/workflow/memory-storage.d.ts +54 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/workflow/memory-storage.d.ts.map +1 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/workflow/memory-storage.js +68 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/workflow/memory-storage.js.map +1 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/workflow/orchestrator.d.ts +158 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/workflow/orchestrator.d.ts.map +1 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/workflow/orchestrator.js +9 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/workflow/orchestrator.js.map +1 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/workflow/types.d.ts +172 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/workflow/types.d.ts.map +1 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/workflow/types.js +9 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/workflow/types.js.map +1 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/workflow/utils.d.ts +89 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/workflow/utils.d.ts.map +1 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/workflow/utils.js +152 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/workflow/utils.js.map +1 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/worktree/config.d.ts +74 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/worktree/config.d.ts.map +1 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/worktree/config.js +280 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/worktree/config.js.map +1 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/worktree/git-cli.d.ts +151 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/worktree/git-cli.d.ts.map +1 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/worktree/git-cli.js +189 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/worktree/git-cli.js.map +1 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/worktree/index.d.ts +16 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/worktree/index.d.ts.map +1 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/worktree/index.js +15 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/worktree/index.js.map +1 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/worktree/manager.d.ts +184 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/worktree/manager.d.ts.map +1 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/worktree/manager.js +452 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/worktree/manager.js.map +1 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/worktree/types.d.ts +90 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/worktree/types.d.ts.map +1 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/worktree/types.js +42 -0
- package/node_modules/@sudocode-ai/local-server/dist/execution/worktree/types.js.map +1 -0
- package/node_modules/@sudocode-ai/local-server/dist/index.d.ts +8 -0
- package/node_modules/@sudocode-ai/local-server/dist/index.d.ts.map +1 -0
- package/node_modules/@sudocode-ai/local-server/dist/index.js +356 -0
- package/node_modules/@sudocode-ai/local-server/dist/index.js.map +1 -0
- package/node_modules/@sudocode-ai/local-server/dist/public/assets/index-C4SmlXoo.js +568 -0
- package/node_modules/@sudocode-ai/local-server/dist/public/assets/index-C4SmlXoo.js.map +1 -0
- package/node_modules/@sudocode-ai/local-server/dist/public/assets/index-DE59j7ti.css +1 -0
- package/node_modules/@sudocode-ai/local-server/dist/public/assets/react-vendor-LX0UoTxg.js +60 -0
- package/node_modules/@sudocode-ai/local-server/dist/public/assets/react-vendor-LX0UoTxg.js.map +1 -0
- package/node_modules/@sudocode-ai/local-server/dist/public/assets/ui-vendor-_cxVHaqZ.js +54 -0
- package/node_modules/@sudocode-ai/local-server/dist/public/assets/ui-vendor-_cxVHaqZ.js.map +1 -0
- package/node_modules/@sudocode-ai/local-server/dist/public/favicon.ico +0 -0
- package/node_modules/@sudocode-ai/local-server/dist/public/index.html +16 -0
- package/node_modules/@sudocode-ai/local-server/dist/public/logo.png +0 -0
- package/node_modules/@sudocode-ai/local-server/dist/routes/executions-stream.d.ts +24 -0
- package/node_modules/@sudocode-ai/local-server/dist/routes/executions-stream.d.ts.map +1 -0
- package/node_modules/@sudocode-ai/local-server/dist/routes/executions-stream.js +55 -0
- package/node_modules/@sudocode-ai/local-server/dist/routes/executions-stream.js.map +1 -0
- package/node_modules/@sudocode-ai/local-server/dist/routes/executions.d.ts +19 -0
- package/node_modules/@sudocode-ai/local-server/dist/routes/executions.d.ts.map +1 -0
- package/node_modules/@sudocode-ai/local-server/dist/routes/executions.js +267 -0
- package/node_modules/@sudocode-ai/local-server/dist/routes/executions.js.map +1 -0
- package/node_modules/@sudocode-ai/local-server/dist/routes/feedback.d.ts +7 -0
- package/node_modules/@sudocode-ai/local-server/dist/routes/feedback.d.ts.map +1 -0
- package/node_modules/@sudocode-ai/local-server/dist/routes/feedback.js +329 -0
- package/node_modules/@sudocode-ai/local-server/dist/routes/feedback.js.map +1 -0
- package/node_modules/@sudocode-ai/local-server/dist/routes/issues.d.ts +7 -0
- package/node_modules/@sudocode-ai/local-server/dist/routes/issues.d.ts.map +1 -0
- package/node_modules/@sudocode-ai/local-server/dist/routes/issues.js +280 -0
- package/node_modules/@sudocode-ai/local-server/dist/routes/issues.js.map +1 -0
- package/node_modules/@sudocode-ai/local-server/dist/routes/relationships.d.ts +7 -0
- package/node_modules/@sudocode-ai/local-server/dist/routes/relationships.d.ts.map +1 -0
- package/node_modules/@sudocode-ai/local-server/dist/routes/relationships.js +308 -0
- package/node_modules/@sudocode-ai/local-server/dist/routes/relationships.js.map +1 -0
- package/node_modules/@sudocode-ai/local-server/dist/routes/specs.d.ts +7 -0
- package/node_modules/@sudocode-ai/local-server/dist/routes/specs.d.ts.map +1 -0
- package/node_modules/@sudocode-ai/local-server/dist/routes/specs.js +270 -0
- package/node_modules/@sudocode-ai/local-server/dist/routes/specs.js.map +1 -0
- package/node_modules/@sudocode-ai/local-server/dist/services/db.d.ts +33 -0
- package/node_modules/@sudocode-ai/local-server/dist/services/db.d.ts.map +1 -0
- package/node_modules/@sudocode-ai/local-server/dist/services/db.js +85 -0
- package/node_modules/@sudocode-ai/local-server/dist/services/db.js.map +1 -0
- package/node_modules/@sudocode-ai/local-server/dist/services/execution-lifecycle.d.ts +108 -0
- package/node_modules/@sudocode-ai/local-server/dist/services/execution-lifecycle.d.ts.map +1 -0
- package/node_modules/@sudocode-ai/local-server/dist/services/execution-lifecycle.js +286 -0
- package/node_modules/@sudocode-ai/local-server/dist/services/execution-lifecycle.js.map +1 -0
- package/node_modules/@sudocode-ai/local-server/dist/services/execution-service.d.ts +185 -0
- package/node_modules/@sudocode-ai/local-server/dist/services/execution-service.d.ts.map +1 -0
- package/node_modules/@sudocode-ai/local-server/dist/services/execution-service.js +676 -0
- package/node_modules/@sudocode-ai/local-server/dist/services/execution-service.js.map +1 -0
- package/node_modules/@sudocode-ai/local-server/dist/services/executions.d.ts +59 -0
- package/node_modules/@sudocode-ai/local-server/dist/services/executions.d.ts.map +1 -0
- package/node_modules/@sudocode-ai/local-server/dist/services/executions.js +164 -0
- package/node_modules/@sudocode-ai/local-server/dist/services/executions.js.map +1 -0
- package/node_modules/@sudocode-ai/local-server/dist/services/export.d.ts +24 -0
- package/node_modules/@sudocode-ai/local-server/dist/services/export.d.ts.map +1 -0
- package/node_modules/@sudocode-ai/local-server/dist/services/export.js +106 -0
- package/node_modules/@sudocode-ai/local-server/dist/services/export.js.map +1 -0
- package/node_modules/@sudocode-ai/local-server/dist/services/feedback.d.ts +40 -0
- package/node_modules/@sudocode-ai/local-server/dist/services/feedback.d.ts.map +1 -0
- package/node_modules/@sudocode-ai/local-server/dist/services/feedback.js +54 -0
- package/node_modules/@sudocode-ai/local-server/dist/services/feedback.js.map +1 -0
- package/node_modules/@sudocode-ai/local-server/dist/services/issues.d.ts +27 -0
- package/node_modules/@sudocode-ai/local-server/dist/services/issues.d.ts.map +1 -0
- package/node_modules/@sudocode-ai/local-server/dist/services/issues.js +35 -0
- package/node_modules/@sudocode-ai/local-server/dist/services/issues.js.map +1 -0
- package/node_modules/@sudocode-ai/local-server/dist/services/prompt-template-engine.d.ts +108 -0
- package/node_modules/@sudocode-ai/local-server/dist/services/prompt-template-engine.d.ts.map +1 -0
- package/node_modules/@sudocode-ai/local-server/dist/services/prompt-template-engine.js +212 -0
- package/node_modules/@sudocode-ai/local-server/dist/services/prompt-template-engine.js.map +1 -0
- package/node_modules/@sudocode-ai/local-server/dist/services/prompt-templates.d.ts +97 -0
- package/node_modules/@sudocode-ai/local-server/dist/services/prompt-templates.d.ts.map +1 -0
- package/node_modules/@sudocode-ai/local-server/dist/services/prompt-templates.js +236 -0
- package/node_modules/@sudocode-ai/local-server/dist/services/prompt-templates.js.map +1 -0
- package/node_modules/@sudocode-ai/local-server/dist/services/relationships.d.ts +35 -0
- package/node_modules/@sudocode-ai/local-server/dist/services/relationships.d.ts.map +1 -0
- package/node_modules/@sudocode-ai/local-server/dist/services/relationships.js +42 -0
- package/node_modules/@sudocode-ai/local-server/dist/services/relationships.js.map +1 -0
- package/node_modules/@sudocode-ai/local-server/dist/services/specs.d.ts +27 -0
- package/node_modules/@sudocode-ai/local-server/dist/services/specs.d.ts.map +1 -0
- package/node_modules/@sudocode-ai/local-server/dist/services/specs.js +35 -0
- package/node_modules/@sudocode-ai/local-server/dist/services/specs.js.map +1 -0
- package/node_modules/@sudocode-ai/local-server/dist/services/watcher.d.ts +50 -0
- package/node_modules/@sudocode-ai/local-server/dist/services/watcher.d.ts.map +1 -0
- package/node_modules/@sudocode-ai/local-server/dist/services/watcher.js +69 -0
- package/node_modules/@sudocode-ai/local-server/dist/services/watcher.js.map +1 -0
- package/node_modules/@sudocode-ai/local-server/dist/services/websocket.d.ts +127 -0
- package/node_modules/@sudocode-ai/local-server/dist/services/websocket.d.ts.map +1 -0
- package/node_modules/@sudocode-ai/local-server/dist/services/websocket.js +389 -0
- package/node_modules/@sudocode-ai/local-server/dist/services/websocket.js.map +1 -0
- package/node_modules/@sudocode-ai/local-server/dist/utils/sudocode-dir.d.ts +6 -0
- package/node_modules/@sudocode-ai/local-server/dist/utils/sudocode-dir.d.ts.map +1 -0
- package/node_modules/@sudocode-ai/local-server/dist/utils/sudocode-dir.js +9 -0
- package/node_modules/@sudocode-ai/local-server/dist/utils/sudocode-dir.js.map +1 -0
- package/node_modules/@sudocode-ai/local-server/package.json +72 -0
- package/node_modules/@sudocode-ai/mcp/LICENSE +21 -0
- package/node_modules/@sudocode-ai/mcp/README.md +226 -0
- package/node_modules/@sudocode-ai/mcp/dist/client.d.ts +33 -0
- package/node_modules/@sudocode-ai/mcp/dist/client.d.ts.map +1 -0
- package/node_modules/@sudocode-ai/mcp/dist/client.js +159 -0
- package/node_modules/@sudocode-ai/mcp/dist/client.js.map +1 -0
- package/node_modules/@sudocode-ai/mcp/dist/index.d.ts +6 -0
- package/node_modules/@sudocode-ai/mcp/dist/index.d.ts.map +1 -0
- package/node_modules/@sudocode-ai/mcp/dist/index.js +64 -0
- package/node_modules/@sudocode-ai/mcp/dist/index.js.map +1 -0
- package/node_modules/@sudocode-ai/mcp/dist/server.d.ts +26 -0
- package/node_modules/@sudocode-ai/mcp/dist/server.d.ts.map +1 -0
- package/node_modules/@sudocode-ai/mcp/dist/server.js +575 -0
- package/node_modules/@sudocode-ai/mcp/dist/server.js.map +1 -0
- package/node_modules/@sudocode-ai/mcp/dist/tools/analytics.d.ts +41 -0
- package/node_modules/@sudocode-ai/mcp/dist/tools/analytics.d.ts.map +1 -0
- package/node_modules/@sudocode-ai/mcp/dist/tools/analytics.js +21 -0
- package/node_modules/@sudocode-ai/mcp/dist/tools/analytics.js.map +1 -0
- package/node_modules/@sudocode-ai/mcp/dist/tools/feedback.d.ts +19 -0
- package/node_modules/@sudocode-ai/mcp/dist/tools/feedback.d.ts.map +1 -0
- package/node_modules/@sudocode-ai/mcp/dist/tools/feedback.js +24 -0
- package/node_modules/@sudocode-ai/mcp/dist/tools/feedback.js.map +1 -0
- package/node_modules/@sudocode-ai/mcp/dist/tools/init.d.ts +17 -0
- package/node_modules/@sudocode-ai/mcp/dist/tools/init.d.ts.map +1 -0
- package/node_modules/@sudocode-ai/mcp/dist/tools/init.js +15 -0
- package/node_modules/@sudocode-ai/mcp/dist/tools/init.js.map +1 -0
- package/node_modules/@sudocode-ai/mcp/dist/tools/issues.d.ts +44 -0
- package/node_modules/@sudocode-ai/mcp/dist/tools/issues.d.ts.map +1 -0
- package/node_modules/@sudocode-ai/mcp/dist/tools/issues.js +106 -0
- package/node_modules/@sudocode-ai/mcp/dist/tools/issues.js.map +1 -0
- package/node_modules/@sudocode-ai/mcp/dist/tools/references.d.ts +21 -0
- package/node_modules/@sudocode-ai/mcp/dist/tools/references.d.ts.map +1 -0
- package/node_modules/@sudocode-ai/mcp/dist/tools/references.js +49 -0
- package/node_modules/@sudocode-ai/mcp/dist/tools/references.js.map +1 -0
- package/node_modules/@sudocode-ai/mcp/dist/tools/relationships.d.ts +15 -0
- package/node_modules/@sudocode-ai/mcp/dist/tools/relationships.d.ts.map +1 -0
- package/node_modules/@sudocode-ai/mcp/dist/tools/relationships.js +18 -0
- package/node_modules/@sudocode-ai/mcp/dist/tools/relationships.js.map +1 -0
- package/node_modules/@sudocode-ai/mcp/dist/tools/specs.d.ts +35 -0
- package/node_modules/@sudocode-ai/mcp/dist/tools/specs.d.ts.map +1 -0
- package/node_modules/@sudocode-ai/mcp/dist/tools/specs.js +85 -0
- package/node_modules/@sudocode-ai/mcp/dist/tools/specs.js.map +1 -0
- package/node_modules/@sudocode-ai/mcp/dist/types.d.ts +35 -0
- package/node_modules/@sudocode-ai/mcp/dist/types.d.ts.map +1 -0
- package/node_modules/@sudocode-ai/mcp/dist/types.js +21 -0
- package/node_modules/@sudocode-ai/mcp/dist/types.js.map +1 -0
- package/node_modules/@sudocode-ai/mcp/package.json +67 -0
- package/node_modules/@sudocode-ai/types/README.md +7 -0
- package/node_modules/@sudocode-ai/types/dist/schema.d.ts +45 -0
- package/node_modules/@sudocode-ai/types/dist/schema.d.ts.map +1 -0
- package/node_modules/@sudocode-ai/types/dist/schema.js +338 -0
- package/node_modules/@sudocode-ai/types/dist/schema.js.map +1 -0
- package/node_modules/@sudocode-ai/types/package.json +46 -0
- package/package.json +51 -12
- package/index.js +0 -5
package/README.md
ADDED
|
@@ -0,0 +1,222 @@
|
|
|
1
|
+
# sudocode
|
|
2
|
+
|
|
3
|
+
Git-native spec and issue management for AI-assisted software development.
|
|
4
|
+
|
|
5
|
+
## Overview
|
|
6
|
+
|
|
7
|
+
Sudocode is a git-native workflow tool designed for AI-assisted development. It stores specs and issues as JSONL files alongside your code, enabling version control, branching, and merging of your project management data just like code.
|
|
8
|
+
|
|
9
|
+
**Key Features:**
|
|
10
|
+
- **Git-native** - All data stored in `.sudocode/` as JSONL, versioned with your code
|
|
11
|
+
- **Anchored feedback** - Link issues to specific lines in specs with smart relocation
|
|
12
|
+
- **Relationship tracking** - Model dependencies, blockers, and implementations
|
|
13
|
+
- **MCP integration** - Works seamlessly with Claude and other AI assistants
|
|
14
|
+
- **Fast local cache** - SQLite for instant queries without parsing JSONL
|
|
15
|
+
- **Bidirectional sync** - Export to markdown, edit, import back
|
|
16
|
+
|
|
17
|
+
## What's Included
|
|
18
|
+
|
|
19
|
+
This meta-package bundles all sudocode components:
|
|
20
|
+
|
|
21
|
+
- **@sudocode-ai/cli** - Command-line interface (`sudocode` command)
|
|
22
|
+
- **@sudocode-ai/mcp** - Model Context Protocol server for AI assistants
|
|
23
|
+
- **@sudocode-ai/types** - TypeScript type definitions
|
|
24
|
+
|
|
25
|
+
## Installation
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
npm install -g sudocode
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
After installation, both `sudocode` (also aliased as `sdc`) commands will be available.
|
|
32
|
+
|
|
33
|
+
## Quick Start
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
# Initialize in your project
|
|
37
|
+
sudocode init
|
|
38
|
+
|
|
39
|
+
# Create your first spec
|
|
40
|
+
sudocode spec create "User authentication system" -p 4
|
|
41
|
+
|
|
42
|
+
# Create an issue
|
|
43
|
+
sudocode issue create "Implement OAuth login" -p 3 -a alice
|
|
44
|
+
|
|
45
|
+
# Link the issue to the spec
|
|
46
|
+
sudocode link ISSUE-1 SPEC-1 --type implements
|
|
47
|
+
|
|
48
|
+
# Show what's ready to work on
|
|
49
|
+
sudocode ready
|
|
50
|
+
|
|
51
|
+
# Update issue status
|
|
52
|
+
sudocode issue update ISSUE-1 --status in_progress
|
|
53
|
+
|
|
54
|
+
# View project status
|
|
55
|
+
sudocode status
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
## Core Commands
|
|
59
|
+
|
|
60
|
+
```bash
|
|
61
|
+
# Initialization
|
|
62
|
+
sudocode init # Set up .sudocode/ directory
|
|
63
|
+
|
|
64
|
+
# Specs (specifications/requirements)
|
|
65
|
+
sudocode spec create <title> [options] # Create a spec
|
|
66
|
+
sudocode spec list # List all specs
|
|
67
|
+
sudocode spec show <id> # Show spec details
|
|
68
|
+
|
|
69
|
+
# Issues (tasks/bugs)
|
|
70
|
+
sudocode issue create <title> [options] # Create an issue
|
|
71
|
+
sudocode issue list [options] # List issues
|
|
72
|
+
sudocode issue update <id> [options] # Update issue
|
|
73
|
+
sudocode issue close <id> # Close issue
|
|
74
|
+
|
|
75
|
+
# Relationships
|
|
76
|
+
sudocode link <from> <to> --type <type> # Link entities
|
|
77
|
+
sudocode ready # Show unblocked work
|
|
78
|
+
sudocode blocked # Show blocked issues
|
|
79
|
+
|
|
80
|
+
# Feedback (link issues to spec lines)
|
|
81
|
+
sudocode feedback add <issue> <spec> [options] # Add anchored feedback
|
|
82
|
+
sudocode feedback list # List feedback
|
|
83
|
+
|
|
84
|
+
# Status
|
|
85
|
+
sudocode status # Quick status
|
|
86
|
+
sudocode stats # Detailed statistics
|
|
87
|
+
|
|
88
|
+
# Sync
|
|
89
|
+
sudocode sync # Sync JSONL with database
|
|
90
|
+
sudocode sync --watch # Auto-sync on changes
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
For full command documentation, see [@sudocode-ai/cli](https://github.com/sudocode-ai/sudocode/tree/main/cli).
|
|
94
|
+
|
|
95
|
+
## MCP Integration
|
|
96
|
+
|
|
97
|
+
Sudocode includes an MCP server for seamless AI assistant integration. To use with Claude Code, you can either:
|
|
98
|
+
|
|
99
|
+
1. Add sudocode as a plugin:
|
|
100
|
+
|
|
101
|
+
```bash
|
|
102
|
+
# In Claude Code
|
|
103
|
+
/plugin marketplace add sudocode-ai/sudocode
|
|
104
|
+
/plugin install sudocode
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
2. Configure Claude Code MCP server:
|
|
108
|
+
|
|
109
|
+
```json
|
|
110
|
+
{
|
|
111
|
+
"mcpServers": {
|
|
112
|
+
"sudocode": {
|
|
113
|
+
"command": "sudocode-mcp"
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
Restart Claude Code to apply changes.
|
|
120
|
+
|
|
121
|
+
For full MCP documentation, see [@sudocode-ai/mcp](https://github.com/sudocode-ai/sudocode/tree/main/mcp).
|
|
122
|
+
|
|
123
|
+
## Example Workflow
|
|
124
|
+
|
|
125
|
+
### Creating a Feature
|
|
126
|
+
|
|
127
|
+
```bash
|
|
128
|
+
# Create a spec for the feature
|
|
129
|
+
sudocode spec create "OAuth2 Authentication" -p 4 --tags auth,security
|
|
130
|
+
|
|
131
|
+
# Create implementation issues
|
|
132
|
+
sudocode issue create "Set up OAuth provider configuration" -p 3 -a alice
|
|
133
|
+
sudocode issue create "Implement login endpoint" -p 3 -a bob
|
|
134
|
+
sudocode issue create "Add token refresh logic" -p 2 -a alice
|
|
135
|
+
|
|
136
|
+
# Link issues to spec
|
|
137
|
+
sudocode link ISSUE-1 SPEC-1 --type implements
|
|
138
|
+
sudocode link ISSUE-2 SPEC-1 --type implements
|
|
139
|
+
sudocode link ISSUE-3 SPEC-1 --type implements
|
|
140
|
+
|
|
141
|
+
# Model dependencies
|
|
142
|
+
sudocode link ISSUE-2 ISSUE-1 --type depends-on
|
|
143
|
+
|
|
144
|
+
# Check what's ready
|
|
145
|
+
sudocode ready
|
|
146
|
+
# Shows: ISSUE-1 (no dependencies)
|
|
147
|
+
|
|
148
|
+
# Start work
|
|
149
|
+
sudocode issue update ISSUE-1 --status in_progress
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
### Adding Feedback to Specs
|
|
153
|
+
|
|
154
|
+
```bash
|
|
155
|
+
# Add feedback at a specific line
|
|
156
|
+
sudocode feedback add ISSUE-4 SPEC-1 \
|
|
157
|
+
--line 42 \
|
|
158
|
+
--content "Should we support 2FA?" \
|
|
159
|
+
--type suggestion
|
|
160
|
+
|
|
161
|
+
# Or search for text
|
|
162
|
+
sudocode feedback add ISSUE-5 SPEC-1 \
|
|
163
|
+
--text "password requirements" \
|
|
164
|
+
--content "Consider adding passwordless options" \
|
|
165
|
+
--type comment
|
|
166
|
+
|
|
167
|
+
# View feedback
|
|
168
|
+
sudocode feedback list --spec SPEC-1
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
## File Structure
|
|
172
|
+
|
|
173
|
+
After `sudocode init`, your project will have:
|
|
174
|
+
|
|
175
|
+
```
|
|
176
|
+
.sudocode/
|
|
177
|
+
├── meta.json # Config & ID counters (git tracked)
|
|
178
|
+
├── specs.jsonl # All specs (git tracked)
|
|
179
|
+
├── issues.jsonl # All issues (git tracked)
|
|
180
|
+
├── cache.db # SQLite cache (gitignored)
|
|
181
|
+
├── specs/ # Generated markdown that you can edit (gitignored)
|
|
182
|
+
├── issues/ # Generated markdown that you can edit (gitignored)
|
|
183
|
+
└── .gitignore # Ignores cache and generated files
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
The JSONL files are designed to be merged in git like code - each line is a complete entity.
|
|
187
|
+
|
|
188
|
+
## Why Git-Native?
|
|
189
|
+
|
|
190
|
+
**Traditional approach:** Project management data lives in external tools (Jira, Linear, etc.), disconnected from your code.
|
|
191
|
+
|
|
192
|
+
**Sudocode approach:** Project management data lives alongside your code in git, enabling:
|
|
193
|
+
- **Branch specs/issues** with your code branches
|
|
194
|
+
- **Merge specs/issues** when merging branches
|
|
195
|
+
- **Revert specs/issues** along with code changes
|
|
196
|
+
- **Review specs/issues** in pull requests
|
|
197
|
+
- **Version specs/issues** with release tags
|
|
198
|
+
- **AI assistants** can read and modify directly
|
|
199
|
+
|
|
200
|
+
## Use Cases
|
|
201
|
+
|
|
202
|
+
- **AI-assisted development** - Let AI agents manage issues and provide spec feedback
|
|
203
|
+
- **Spec-driven development** - Write specs, generate issues, track implementation
|
|
204
|
+
- **Context management** - Store project context that moves with your code
|
|
205
|
+
- **Local-first workflow** - No external services required, works offline
|
|
206
|
+
- **Team coordination** - Share specs/issues through git, merge like code
|
|
207
|
+
|
|
208
|
+
## Documentation
|
|
209
|
+
|
|
210
|
+
- **CLI Reference:** [@sudocode-ai/cli](https://github.com/sudocode-ai/sudocode/tree/main/cli)
|
|
211
|
+
- **MCP Server:** [@sudocode-ai/mcp](https://github.com/sudocode-ai/sudocode/tree/main/mcp)
|
|
212
|
+
- **Type Definitions:** [@sudocode-ai/types](https://github.com/sudocode-ai/sudocode/tree/main/types)
|
|
213
|
+
|
|
214
|
+
## Individual Package Installation
|
|
215
|
+
|
|
216
|
+
You can also install packages individually:
|
|
217
|
+
|
|
218
|
+
```bash
|
|
219
|
+
npm install -g @sudocode-ai/cli # CLI only
|
|
220
|
+
npm install -g @sudocode-ai/mcp # MCP server only
|
|
221
|
+
npm install @sudocode-ai/types # Types only (for development)
|
|
222
|
+
```
|
package/build.js
ADDED
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* Build script for sudocode meta-package
|
|
4
|
+
* Copies workspace packages to node_modules for bundleDependencies
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import { cpSync, mkdirSync, existsSync, rmSync } from "fs";
|
|
8
|
+
import { join, dirname } from "path";
|
|
9
|
+
import { fileURLToPath } from "url";
|
|
10
|
+
|
|
11
|
+
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
12
|
+
const rootDir = join(__dirname, "..");
|
|
13
|
+
|
|
14
|
+
console.log("Building sudocode meta-package...");
|
|
15
|
+
|
|
16
|
+
// Create node_modules/@sudocode-ai/
|
|
17
|
+
const nodeModulesDir = join(__dirname, "node_modules");
|
|
18
|
+
const scopeDir = join(nodeModulesDir, "@sudocode-ai");
|
|
19
|
+
|
|
20
|
+
if (existsSync(nodeModulesDir)) {
|
|
21
|
+
rmSync(nodeModulesDir, { recursive: true, force: true });
|
|
22
|
+
}
|
|
23
|
+
mkdirSync(scopeDir, { recursive: true });
|
|
24
|
+
|
|
25
|
+
// Copy workspace packages
|
|
26
|
+
const packages = [
|
|
27
|
+
{ name: "types", dir: "types" },
|
|
28
|
+
{ name: "cli", dir: "cli" },
|
|
29
|
+
{ name: "mcp", dir: "mcp" },
|
|
30
|
+
{ name: "local-server", dir: "server" },
|
|
31
|
+
];
|
|
32
|
+
|
|
33
|
+
for (const pkg of packages) {
|
|
34
|
+
console.log(` - Copying @sudocode-ai/${pkg.name}...`);
|
|
35
|
+
|
|
36
|
+
const srcDir = join(rootDir, pkg.dir);
|
|
37
|
+
const destDir = join(scopeDir, pkg.name);
|
|
38
|
+
|
|
39
|
+
// Copy only the files that would be published (dist/, package.json, README, LICENSE)
|
|
40
|
+
cpSync(srcDir, destDir, {
|
|
41
|
+
recursive: true,
|
|
42
|
+
filter: (src) => {
|
|
43
|
+
const relativePath = src.substring(srcDir.length + 1);
|
|
44
|
+
|
|
45
|
+
// Include the directory itself
|
|
46
|
+
if (!relativePath) return true;
|
|
47
|
+
|
|
48
|
+
const parts = relativePath.split("/");
|
|
49
|
+
const firstPart = parts[0];
|
|
50
|
+
|
|
51
|
+
// Always include package.json, README, LICENSE
|
|
52
|
+
if (
|
|
53
|
+
firstPart === "package.json" ||
|
|
54
|
+
firstPart === "README.md" ||
|
|
55
|
+
firstPart === "LICENSE"
|
|
56
|
+
) {
|
|
57
|
+
return true;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
// Include dist directory and its contents
|
|
61
|
+
if (firstPart === "dist") {
|
|
62
|
+
return true;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
// Exclude everything else (src, node_modules, tests, etc.)
|
|
66
|
+
return false;
|
|
67
|
+
},
|
|
68
|
+
});
|
|
69
|
+
|
|
70
|
+
console.log(` ✓ Copied`);
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
console.log("");
|
|
74
|
+
console.log("✓ Meta-package ready!");
|
|
75
|
+
console.log(" All workspace packages copied to node_modules/@sudocode-ai/");
|
|
@@ -0,0 +1,330 @@
|
|
|
1
|
+
# @sudocode-ai/cli
|
|
2
|
+
|
|
3
|
+
Command-line interface for [sudocode](https://github.com/sudocode-ai/sudocode) - Git-native spec and issue management for AI-assisted software development.
|
|
4
|
+
|
|
5
|
+
## Overview
|
|
6
|
+
|
|
7
|
+
The sudocode CLI provides a complete toolkit for managing specifications and issues in a git-native workflow. All data is stored in `.sudocode/` as JSONL files that can be versioned alongside your code, with a local SQLite cache for fast queries.
|
|
8
|
+
|
|
9
|
+
## Features
|
|
10
|
+
|
|
11
|
+
- **Git-native workflow** - All specs and issues stored as JSONL in `.sudocode/`
|
|
12
|
+
- **Fast local cache** - SQLite database for instant queries
|
|
13
|
+
- **Bidirectional sync** - Export to markdown for editing, import back to database
|
|
14
|
+
- **Relationship tracking** - Link specs and issues with typed relationships
|
|
15
|
+
- **Cross-references** - Add inline Obsidian-style `[[ID]]` references in markdown
|
|
16
|
+
- **Anchored feedback** - Attach issue feedback to specific lines in specs
|
|
17
|
+
- **Priority management** - 5-level priority system (0-4)
|
|
18
|
+
- **Flexible queries** - Filter by status, assignee, priority, or grep content
|
|
19
|
+
- **Watch mode** - Auto-sync markdown changes to database
|
|
20
|
+
|
|
21
|
+
## Installation
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
npm install -g @sudocode-ai/cli
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
Or install the meta-package that includes the CLI:
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
npm install -g sudocode
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## Quick Start
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
# Initialize sudocode in your project
|
|
37
|
+
sudocode init
|
|
38
|
+
|
|
39
|
+
# Create a spec
|
|
40
|
+
sudocode spec create "User authentication system" -p 4
|
|
41
|
+
|
|
42
|
+
# Create an issue
|
|
43
|
+
sudocode issue create "Implement login endpoint" -p 3 -a alice
|
|
44
|
+
|
|
45
|
+
# Link issue to spec
|
|
46
|
+
sudocode link ISSUE-1 SPEC-1 --type implements
|
|
47
|
+
|
|
48
|
+
# Show ready work
|
|
49
|
+
sudocode ready
|
|
50
|
+
|
|
51
|
+
# Update issue status
|
|
52
|
+
sudocode issue update ISSUE-1 --status in_progress
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
## Commands
|
|
56
|
+
|
|
57
|
+
### Initialization
|
|
58
|
+
|
|
59
|
+
```bash
|
|
60
|
+
sudocode init [options]
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
Initialize `.sudocode/` directory structure with database, JSONL files, and configuration.
|
|
64
|
+
|
|
65
|
+
**Options:**
|
|
66
|
+
- `--spec-prefix <prefix>` - ID prefix for specs (default: "SPEC")
|
|
67
|
+
- `--issue-prefix <prefix>` - ID prefix for issues (default: "ISSUE")
|
|
68
|
+
|
|
69
|
+
**Creates:**
|
|
70
|
+
- `.sudocode/cache.db` - SQLite database (gitignored)
|
|
71
|
+
- `.sudocode/specs.jsonl` - Spec storage (versioned)
|
|
72
|
+
- `.sudocode/issues.jsonl` - Issue storage (versioned)
|
|
73
|
+
- `.sudocode/config.json` - Metadata config (versioned)
|
|
74
|
+
- `.sudocode/.gitignore` - Ignores cache and markdown files
|
|
75
|
+
|
|
76
|
+
### Spec Management
|
|
77
|
+
|
|
78
|
+
```bash
|
|
79
|
+
# Create a new spec
|
|
80
|
+
sudocode spec create <title> [options]
|
|
81
|
+
-p, --priority <0-4> Priority level (default: 2)
|
|
82
|
+
-d, --description <text> Description
|
|
83
|
+
--design <text> Design notes
|
|
84
|
+
--file-path <path> Custom markdown file path
|
|
85
|
+
--parent <id> Parent spec ID
|
|
86
|
+
--tags <tags> Comma-separated tags
|
|
87
|
+
|
|
88
|
+
# List specs
|
|
89
|
+
sudocode spec list [options]
|
|
90
|
+
-p, --priority <priority> Filter by priority
|
|
91
|
+
-g, --grep <query> Search title or content
|
|
92
|
+
--limit <num> Limit results (default: 50)
|
|
93
|
+
|
|
94
|
+
# Show spec details
|
|
95
|
+
sudocode spec show <id>
|
|
96
|
+
|
|
97
|
+
# Delete specs
|
|
98
|
+
sudocode spec delete <id...>
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
### Issue Management
|
|
102
|
+
|
|
103
|
+
```bash
|
|
104
|
+
# Create a new issue
|
|
105
|
+
sudocode issue create <title> [options]
|
|
106
|
+
-p, --priority <0-4> Priority level (default: 2)
|
|
107
|
+
-d, --description <text> Description
|
|
108
|
+
-a, --assignee <name> Assignee username
|
|
109
|
+
--parent <id> Parent issue ID
|
|
110
|
+
--tags <tags> Comma-separated tags
|
|
111
|
+
|
|
112
|
+
# List issues
|
|
113
|
+
sudocode issue list [options]
|
|
114
|
+
-s, --status <status> Filter by status (open, in_progress, blocked, needs_review, closed)
|
|
115
|
+
-a, --assignee <assignee> Filter by assignee
|
|
116
|
+
-p, --priority <priority> Filter by priority
|
|
117
|
+
-g, --grep <query> Search title, description, or content
|
|
118
|
+
--limit <num> Limit results (default: 50)
|
|
119
|
+
|
|
120
|
+
# Show issue details
|
|
121
|
+
sudocode issue show <id>
|
|
122
|
+
|
|
123
|
+
# Update issue
|
|
124
|
+
sudocode issue update <id> [options]
|
|
125
|
+
-s, --status <status> New status
|
|
126
|
+
-p, --priority <priority> New priority
|
|
127
|
+
-a, --assignee <assignee> New assignee
|
|
128
|
+
--title <title> New title
|
|
129
|
+
--description <desc> New description
|
|
130
|
+
|
|
131
|
+
# Close issues
|
|
132
|
+
sudocode issue close <id...> [options]
|
|
133
|
+
-r, --reason <text> Reason for closing
|
|
134
|
+
|
|
135
|
+
# Delete issues
|
|
136
|
+
sudocode issue delete <id...> [options]
|
|
137
|
+
--hard Permanently delete (default: close)
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
### Relationships
|
|
141
|
+
|
|
142
|
+
```bash
|
|
143
|
+
# Link entities
|
|
144
|
+
sudocode link <from> <to> [options]
|
|
145
|
+
-t, --type <type> Relationship type (default: "references")
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
**Relationship types:**
|
|
149
|
+
- `blocks` - From blocks To (e.g., ISSUE-1 blocks ISSUE-2)
|
|
150
|
+
- `implements` - From implements To (e.g., ISSUE-1 implements SPEC-1)
|
|
151
|
+
- `references` - From references To (general reference)
|
|
152
|
+
- `depends-on` - From depends on To
|
|
153
|
+
- `related` - General relation
|
|
154
|
+
- `discovered-from` - Issue discovered from spec feedback
|
|
155
|
+
|
|
156
|
+
### Cross-References
|
|
157
|
+
|
|
158
|
+
Add inline references to specs or issues using Obsidian-style `[[ID]]` syntax.
|
|
159
|
+
|
|
160
|
+
```bash
|
|
161
|
+
# Add reference to a spec or issue
|
|
162
|
+
sudocode spec add-ref <entity-id> <reference-id> [options]
|
|
163
|
+
sudocode issue add-ref <entity-id> <reference-id> [options]
|
|
164
|
+
-l, --line <number> Line number to insert reference
|
|
165
|
+
-t, --text <text> Text to search for insertion point
|
|
166
|
+
--display <text> Display text for reference (creates [[ID|text]])
|
|
167
|
+
--type <type> Relationship type (creates [[ID]]{ type })
|
|
168
|
+
--format <format> Format: inline or newline (default: inline)
|
|
169
|
+
--position <position> Position: before or after (default: after)
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
**Notes:**
|
|
173
|
+
- Either `--line` or `--text` is required (mutually exclusive)
|
|
174
|
+
- References use Obsidian-style syntax: `[[ISSUE-001]]`
|
|
175
|
+
- Display text: `[[ISSUE-001|OAuth Implementation]]`
|
|
176
|
+
- With relationship: `[[SPEC-002]]{ implements }`
|
|
177
|
+
- Combined: `[[SPEC-002|Auth Spec]]{ blocks }`
|
|
178
|
+
- Inline format adds reference on same line with surrounding text
|
|
179
|
+
- Newline format adds reference on its own line
|
|
180
|
+
|
|
181
|
+
**Examples:**
|
|
182
|
+
|
|
183
|
+
```bash
|
|
184
|
+
# Add reference inline after line 45
|
|
185
|
+
sudocode spec add-ref SPEC-001 ISSUE-003 --line 45
|
|
186
|
+
|
|
187
|
+
# Add reference after specific text
|
|
188
|
+
sudocode spec add-ref SPEC-001 ISSUE-003 --text "Requirements:"
|
|
189
|
+
|
|
190
|
+
# Add with display text
|
|
191
|
+
sudocode spec add-ref SPEC-001 ISSUE-003 --line 45 --display "OAuth implementation"
|
|
192
|
+
|
|
193
|
+
# Add with relationship type
|
|
194
|
+
sudocode issue add-ref ISSUE-001 SPEC-002 --text "Design" --type implements
|
|
195
|
+
|
|
196
|
+
# Add on new line before text
|
|
197
|
+
sudocode spec add-ref SPEC-001 ISSUE-004 --text "## Tasks" --format newline --position before
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
### Query Commands
|
|
201
|
+
|
|
202
|
+
```bash
|
|
203
|
+
# Show ready work (no blockers)
|
|
204
|
+
sudocode ready
|
|
205
|
+
|
|
206
|
+
# Show blocked issues
|
|
207
|
+
sudocode blocked
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
### Status & Stats
|
|
211
|
+
|
|
212
|
+
```bash
|
|
213
|
+
# Quick project status
|
|
214
|
+
sudocode status [options]
|
|
215
|
+
-v, --verbose Show detailed status
|
|
216
|
+
|
|
217
|
+
# Detailed statistics
|
|
218
|
+
sudocode stats
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
### Feedback Management
|
|
222
|
+
|
|
223
|
+
Feedback allows issues to reference specific locations in specs with anchored comments.
|
|
224
|
+
|
|
225
|
+
```bash
|
|
226
|
+
# Add feedback to a spec
|
|
227
|
+
sudocode feedback add <issue-id> <spec-id> [options]
|
|
228
|
+
-l, --line <number> Line number in spec
|
|
229
|
+
-t, --text <text> Text to search for anchor
|
|
230
|
+
--type <type> Feedback type (comment, suggestion, request)
|
|
231
|
+
-c, --content <text> Feedback content (required)
|
|
232
|
+
-a, --agent <name> Agent name
|
|
233
|
+
|
|
234
|
+
# List feedback
|
|
235
|
+
sudocode feedback list [options]
|
|
236
|
+
-i, --issue <id> Filter by issue ID
|
|
237
|
+
-s, --spec <id> Filter by spec ID
|
|
238
|
+
-t, --type <type> Filter by type
|
|
239
|
+
--status <status> Filter by status (open, acknowledged, resolved, wont_fix)
|
|
240
|
+
--limit <num> Limit results (default: 50)
|
|
241
|
+
|
|
242
|
+
# Show feedback details
|
|
243
|
+
sudocode feedback show <id>
|
|
244
|
+
|
|
245
|
+
# Dismiss feedback
|
|
246
|
+
sudocode feedback dismiss <id> [options]
|
|
247
|
+
-c, --comment <text> Optional comment
|
|
248
|
+
|
|
249
|
+
# List stale feedback anchors
|
|
250
|
+
sudocode feedback stale
|
|
251
|
+
|
|
252
|
+
# Manually relocate stale anchor
|
|
253
|
+
sudocode feedback relocate <id> --line <number>
|
|
254
|
+
```
|
|
255
|
+
|
|
256
|
+
### Sync & Export
|
|
257
|
+
|
|
258
|
+
```bash
|
|
259
|
+
# Sync between markdown, JSONL, and database
|
|
260
|
+
sudocode sync [options]
|
|
261
|
+
--watch Watch for changes and auto-sync
|
|
262
|
+
--from-markdown Sync from markdown to database
|
|
263
|
+
--to-markdown Sync from database to markdown
|
|
264
|
+
|
|
265
|
+
# Export database to JSONL
|
|
266
|
+
sudocode export [options]
|
|
267
|
+
-o, --output <dir> Output directory (default: ".sudocode")
|
|
268
|
+
|
|
269
|
+
# Import JSONL to database
|
|
270
|
+
sudocode import [options]
|
|
271
|
+
-i, --input <dir> Input directory (default: ".sudocode")
|
|
272
|
+
```
|
|
273
|
+
|
|
274
|
+
## Global Options
|
|
275
|
+
|
|
276
|
+
```bash
|
|
277
|
+
--db <path> Custom database path (auto-discovers by default)
|
|
278
|
+
--json Output in JSON format
|
|
279
|
+
```
|
|
280
|
+
|
|
281
|
+
## Example Workflows
|
|
282
|
+
|
|
283
|
+
### Creating and Working on a Feature
|
|
284
|
+
|
|
285
|
+
```bash
|
|
286
|
+
# Create a spec for the feature
|
|
287
|
+
sudocode spec create "Add OAuth authentication" -p 4 --tags auth,security
|
|
288
|
+
|
|
289
|
+
# Create implementation issues
|
|
290
|
+
sudocode issue create "Set up OAuth provider" -p 3 -a alice
|
|
291
|
+
sudocode issue create "Create login flow" -p 3 -a bob
|
|
292
|
+
|
|
293
|
+
# Link issues to spec
|
|
294
|
+
sudocode link ISSUE-1 SPEC-1 --type implements
|
|
295
|
+
sudocode link ISSUE-2 SPEC-1 --type implements
|
|
296
|
+
|
|
297
|
+
# Mark an issue as blocking another
|
|
298
|
+
sudocode link ISSUE-1 ISSUE-2 --type blocks
|
|
299
|
+
|
|
300
|
+
# Check what's ready to work on
|
|
301
|
+
sudocode ready
|
|
302
|
+
|
|
303
|
+
# Start working
|
|
304
|
+
sudocode issue update ISSUE-1 --status in_progress
|
|
305
|
+
|
|
306
|
+
# Complete the work
|
|
307
|
+
sudocode issue close ISSUE-1 -r "OAuth provider configured"
|
|
308
|
+
```
|
|
309
|
+
|
|
310
|
+
### Adding Feedback to Specs
|
|
311
|
+
|
|
312
|
+
```bash
|
|
313
|
+
# Add feedback at a specific line
|
|
314
|
+
sudocode feedback add ISSUE-3 SPEC-1 \
|
|
315
|
+
--line 42 \
|
|
316
|
+
--content "Consider adding rate limiting" \
|
|
317
|
+
--type suggestion
|
|
318
|
+
|
|
319
|
+
# Add feedback by searching for text
|
|
320
|
+
sudocode feedback add ISSUE-4 SPEC-1 \
|
|
321
|
+
--text "password requirements" \
|
|
322
|
+
--content "Should we support passkeys?" \
|
|
323
|
+
--type comment
|
|
324
|
+
|
|
325
|
+
# List all feedback for a spec
|
|
326
|
+
sudocode feedback list --spec SPEC-1
|
|
327
|
+
|
|
328
|
+
# Check for stale anchors
|
|
329
|
+
sudocode feedback stale
|
|
330
|
+
```
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CLI handlers for feedback commands
|
|
3
|
+
*/
|
|
4
|
+
import type Database from 'better-sqlite3';
|
|
5
|
+
export interface CommandContext {
|
|
6
|
+
db: Database.Database;
|
|
7
|
+
outputDir: string;
|
|
8
|
+
jsonOutput: boolean;
|
|
9
|
+
}
|
|
10
|
+
export interface FeedbackAddOptions {
|
|
11
|
+
line?: string;
|
|
12
|
+
text?: string;
|
|
13
|
+
type: string;
|
|
14
|
+
content: string;
|
|
15
|
+
agent?: string;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Add feedback to a spec from an issue
|
|
19
|
+
*/
|
|
20
|
+
export declare function handleFeedbackAdd(ctx: CommandContext, issueId: string, specId: string, options: FeedbackAddOptions): Promise<void>;
|
|
21
|
+
export interface FeedbackListOptions {
|
|
22
|
+
issue?: string;
|
|
23
|
+
spec?: string;
|
|
24
|
+
type?: string;
|
|
25
|
+
dismissed?: string;
|
|
26
|
+
limit: string;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* List feedback with optional filters
|
|
30
|
+
*/
|
|
31
|
+
export declare function handleFeedbackList(ctx: CommandContext, options: FeedbackListOptions): Promise<void>;
|
|
32
|
+
/**
|
|
33
|
+
* Show detailed feedback information
|
|
34
|
+
*/
|
|
35
|
+
export declare function handleFeedbackShow(ctx: CommandContext, id: string): Promise<void>;
|
|
36
|
+
export interface FeedbackDismissOptions {
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Dismiss feedback
|
|
40
|
+
*/
|
|
41
|
+
export declare function handleFeedbackDismiss(ctx: CommandContext, id: string, options: FeedbackDismissOptions): Promise<void>;
|
|
42
|
+
/**
|
|
43
|
+
* List stale feedback anchors
|
|
44
|
+
*/
|
|
45
|
+
export declare function handleFeedbackStale(ctx: CommandContext): Promise<void>;
|
|
46
|
+
export interface FeedbackRelocateOptions {
|
|
47
|
+
line: string;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Manually relocate a stale anchor
|
|
51
|
+
*/
|
|
52
|
+
export declare function handleFeedbackRelocate(ctx: CommandContext, id: string, options: FeedbackRelocateOptions): Promise<void>;
|
|
53
|
+
//# sourceMappingURL=feedback-commands.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"feedback-commands.d.ts","sourceRoot":"","sources":["../../src/cli/feedback-commands.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAc3C,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,QAAQ,CAAC,QAAQ,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,cAAc,EACnB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,IAAI,CAAC,CA+Df;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,GAAG,EAAE,cAAc,EACnB,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,IAAI,CAAC,CAoDf;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,GAAG,EAAE,cAAc,EACnB,EAAE,EAAE,MAAM,GACT,OAAO,CAAC,IAAI,CAAC,CA4Df;AAED,MAAM,WAAW,sBAAsB;CACtC;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CACzC,GAAG,EAAE,cAAc,EACnB,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC,IAAI,CAAC,CAcf;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,GAAG,EAAE,cAAc,GAClB,OAAO,CAAC,IAAI,CAAC,CA0Cf;AAED,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,wBAAsB,sBAAsB,CAC1C,GAAG,EAAE,cAAc,EACnB,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,uBAAuB,GAC/B,OAAO,CAAC,IAAI,CAAC,CA6Cf"}
|