lastlight 0.1.15 → 0.2.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 +265 -118
- package/agent-context/rules.md +62 -9
- package/agent-context/security.md +69 -0
- package/config/default.yaml +89 -0
- package/deploy/.env.production.example +20 -2
- package/deploy/entrypoint.sh +16 -17
- package/deploy/native/README.md +160 -0
- package/deploy/native/install.sh +110 -0
- package/deploy/native/lastlight.env.example +95 -0
- package/deploy/native/lastlight.service +50 -0
- package/deploy/sandbox-entrypoint.sh +59 -42
- package/dist/admin/auth.d.ts +1 -1
- package/dist/admin/auth.js +3 -1
- package/dist/admin/auth.js.map +1 -1
- package/dist/admin/chat-session-reader.d.ts +11 -14
- package/dist/admin/chat-session-reader.js +27 -51
- package/dist/admin/chat-session-reader.js.map +1 -1
- package/dist/admin/docker.d.ts +37 -0
- package/dist/admin/docker.js +86 -1
- package/dist/admin/docker.js.map +1 -1
- package/dist/admin/index.js +38 -3
- package/dist/admin/index.js.map +1 -1
- package/dist/admin/log-search.test.d.ts +1 -0
- package/dist/admin/log-search.test.js +78 -0
- package/dist/admin/log-search.test.js.map +1 -0
- package/dist/admin/routes.d.ts +52 -3
- package/dist/admin/routes.js +780 -63
- package/dist/admin/routes.js.map +1 -1
- package/dist/admin/routes.test.js +680 -14
- package/dist/admin/routes.test.js.map +1 -1
- package/dist/admin/server-logs.test.d.ts +1 -0
- package/dist/admin/server-logs.test.js +58 -0
- package/dist/admin/server-logs.test.js.map +1 -0
- package/dist/admin/sessions.d.ts +26 -39
- package/dist/admin/sessions.js +86 -310
- package/dist/admin/sessions.js.map +1 -1
- package/dist/admin/sessions.test.d.ts +1 -0
- package/dist/admin/sessions.test.js +78 -0
- package/dist/admin/sessions.test.js.map +1 -0
- package/dist/admin/version.d.ts +15 -0
- package/dist/admin/version.js +73 -0
- package/dist/admin/version.js.map +1 -0
- package/dist/admin/version.test.d.ts +1 -0
- package/dist/admin/version.test.js +71 -0
- package/dist/admin/version.test.js.map +1 -0
- package/dist/cli-config.d.ts +55 -0
- package/dist/cli-config.js +119 -0
- package/dist/cli-config.js.map +1 -0
- package/dist/cli-config.test.d.ts +1 -0
- package/dist/cli-config.test.js +92 -0
- package/dist/cli-config.test.js.map +1 -0
- package/dist/cli-format.d.ts +19 -0
- package/dist/cli-format.js +107 -0
- package/dist/cli-format.js.map +1 -0
- package/dist/cli-server.d.ts +73 -0
- package/dist/cli-server.js +347 -0
- package/dist/cli-server.js.map +1 -0
- package/dist/cli-server.test.d.ts +1 -0
- package/dist/cli-server.test.js +38 -0
- package/dist/cli-server.test.js.map +1 -0
- package/dist/cli-timeline.d.ts +35 -0
- package/dist/cli-timeline.js +373 -0
- package/dist/cli-timeline.js.map +1 -0
- package/dist/cli-timeline.test.d.ts +1 -0
- package/dist/cli-timeline.test.js +104 -0
- package/dist/cli-timeline.test.js.map +1 -0
- package/dist/cli.d.ts +0 -19
- package/dist/cli.js +910 -194
- package/dist/cli.js.map +1 -1
- package/dist/config-overlay.test.d.ts +1 -0
- package/dist/config-overlay.test.js +112 -0
- package/dist/config-overlay.test.js.map +1 -0
- package/dist/config-resolve.d.ts +28 -0
- package/dist/config-resolve.js +47 -0
- package/dist/config-resolve.js.map +1 -0
- package/dist/config-resolve.test.d.ts +1 -0
- package/dist/config-resolve.test.js +68 -0
- package/dist/config-resolve.test.js.map +1 -0
- package/dist/config.d.ts +62 -49
- package/dist/config.js +452 -76
- package/dist/config.js.map +1 -1
- package/dist/config.test.js +201 -32
- package/dist/config.test.js.map +1 -1
- package/dist/connectors/github-webhook.js +83 -5
- package/dist/connectors/github-webhook.js.map +1 -1
- package/dist/connectors/github-webhook.test.d.ts +1 -0
- package/dist/connectors/github-webhook.test.js +156 -0
- package/dist/connectors/github-webhook.test.js.map +1 -0
- package/dist/connectors/messaging/session-manager.d.ts +18 -0
- package/dist/connectors/messaging/session-manager.js +83 -2
- package/dist/connectors/messaging/session-manager.js.map +1 -1
- package/dist/connectors/messaging/session-manager.test.d.ts +1 -0
- package/dist/connectors/messaging/session-manager.test.js +144 -0
- package/dist/connectors/messaging/session-manager.test.js.map +1 -0
- package/dist/connectors/slack/connector.d.ts +9 -0
- package/dist/connectors/slack/connector.js +15 -0
- package/dist/connectors/slack/connector.js.map +1 -1
- package/dist/connectors/slack/mrkdwn.js +81 -0
- package/dist/connectors/slack/mrkdwn.js.map +1 -1
- package/dist/connectors/slack/mrkdwn.test.js +49 -0
- package/dist/connectors/slack/mrkdwn.test.js.map +1 -1
- package/dist/connectors/types.d.ts +1 -1
- package/dist/cron/fanout.d.ts +33 -0
- package/dist/cron/fanout.js +55 -0
- package/dist/cron/fanout.js.map +1 -0
- package/dist/cron/fanout.test.d.ts +1 -0
- package/dist/cron/fanout.test.js +73 -0
- package/dist/cron/fanout.test.js.map +1 -0
- package/dist/cron/jobs.d.ts +5 -0
- package/dist/cron/jobs.js +10 -3
- package/dist/cron/jobs.js.map +1 -1
- package/dist/cron/scheduler.d.ts +12 -0
- package/dist/cron/scheduler.js +27 -1
- package/dist/cron/scheduler.js.map +1 -1
- package/dist/engine/agent-executor.d.ts +158 -0
- package/dist/engine/agent-executor.js +1140 -0
- package/dist/engine/agent-executor.js.map +1 -0
- package/dist/engine/agent-executor.test.d.ts +1 -0
- package/dist/engine/agent-executor.test.js +395 -0
- package/dist/engine/agent-executor.test.js.map +1 -0
- package/dist/engine/chat-runner.d.ts +123 -0
- package/dist/engine/chat-runner.js +379 -0
- package/dist/engine/chat-runner.js.map +1 -0
- package/dist/engine/chat-runner.test.d.ts +1 -0
- package/dist/engine/chat-runner.test.js +104 -0
- package/dist/engine/chat-runner.test.js.map +1 -0
- package/dist/engine/chat-skills.d.ts +45 -0
- package/dist/engine/chat-skills.js +184 -0
- package/dist/engine/chat-skills.js.map +1 -0
- package/dist/engine/chat-skills.test.d.ts +1 -0
- package/dist/engine/chat-skills.test.js +20 -0
- package/dist/engine/chat-skills.test.js.map +1 -0
- package/dist/engine/chat.d.ts +20 -23
- package/dist/engine/chat.js +251 -155
- package/dist/engine/chat.js.map +1 -1
- package/dist/engine/chat.test.d.ts +1 -0
- package/dist/engine/chat.test.js +42 -0
- package/dist/engine/chat.test.js.map +1 -0
- package/dist/engine/classifier.d.ts +35 -2
- package/dist/engine/classifier.js +170 -31
- package/dist/engine/classifier.js.map +1 -1
- package/dist/engine/classifier.test.d.ts +1 -0
- package/dist/engine/classifier.test.js +115 -0
- package/dist/engine/classifier.test.js.map +1 -0
- package/dist/engine/dispatcher.d.ts +60 -0
- package/dist/engine/dispatcher.js +601 -0
- package/dist/engine/dispatcher.js.map +1 -0
- package/dist/engine/dispatcher.test.d.ts +1 -0
- package/dist/engine/dispatcher.test.js +511 -0
- package/dist/engine/dispatcher.test.js.map +1 -0
- package/dist/engine/event-shim.d.ts +117 -0
- package/dist/engine/event-shim.js +435 -0
- package/dist/engine/event-shim.js.map +1 -0
- package/dist/engine/event-shim.test.d.ts +1 -0
- package/dist/engine/event-shim.test.js +194 -0
- package/dist/engine/event-shim.test.js.map +1 -0
- package/dist/engine/git-auth.d.ts +13 -17
- package/dist/engine/git-auth.js +99 -42
- package/dist/engine/git-auth.js.map +1 -1
- package/dist/engine/git-auth.test.d.ts +1 -0
- package/dist/engine/git-auth.test.js +117 -0
- package/dist/engine/git-auth.test.js.map +1 -0
- package/dist/engine/github-app-client.d.ts +7 -0
- package/dist/engine/github-app-client.js +16 -0
- package/dist/engine/github-app-client.js.map +1 -0
- package/dist/engine/github-app-client.test.d.ts +1 -0
- package/dist/engine/github-app-client.test.js +44 -0
- package/dist/engine/github-app-client.test.js.map +1 -0
- package/dist/engine/github-tools.d.ts +12 -0
- package/dist/engine/github-tools.js +261 -0
- package/dist/engine/github-tools.js.map +1 -0
- package/dist/engine/github.d.ts +1027 -43
- package/dist/engine/github.js +153 -14
- package/dist/engine/github.js.map +1 -1
- package/dist/engine/llm.d.ts +47 -0
- package/dist/engine/llm.js +221 -0
- package/dist/engine/llm.js.map +1 -0
- package/dist/engine/llm.test.d.ts +1 -0
- package/dist/engine/llm.test.js +189 -0
- package/dist/engine/llm.test.js.map +1 -0
- package/dist/engine/profiles.d.ts +249 -0
- package/dist/engine/profiles.js +42 -0
- package/dist/engine/profiles.js.map +1 -0
- package/dist/engine/router.d.ts +12 -6
- package/dist/engine/router.js +339 -81
- package/dist/engine/router.js.map +1 -1
- package/dist/engine/router.test.js +428 -78
- package/dist/engine/router.test.js.map +1 -1
- package/dist/engine/screen.d.ts +41 -0
- package/dist/engine/screen.js +93 -0
- package/dist/engine/screen.js.map +1 -0
- package/dist/engine/screen.test.d.ts +1 -0
- package/dist/engine/screen.test.js +82 -0
- package/dist/engine/screen.test.js.map +1 -0
- package/dist/index.js +377 -432
- package/dist/index.js.map +1 -1
- package/dist/managed-repos.d.ts +7 -9
- package/dist/managed-repos.js +12 -15
- package/dist/managed-repos.js.map +1 -1
- package/dist/managed-repos.test.js +24 -19
- package/dist/managed-repos.test.js.map +1 -1
- package/dist/notify/index.d.ts +15 -0
- package/dist/notify/index.js +6 -0
- package/dist/notify/index.js.map +1 -0
- package/dist/notify/model.d.ts +57 -0
- package/dist/notify/model.js +89 -0
- package/dist/notify/model.js.map +1 -0
- package/dist/notify/model.test.d.ts +1 -0
- package/dist/notify/model.test.js +109 -0
- package/dist/notify/model.test.js.map +1 -0
- package/dist/notify/notifier.d.ts +17 -0
- package/dist/notify/notifier.js +87 -0
- package/dist/notify/notifier.js.map +1 -0
- package/dist/notify/notifier.test.d.ts +1 -0
- package/dist/notify/notifier.test.js +100 -0
- package/dist/notify/notifier.test.js.map +1 -0
- package/dist/notify/render.d.ts +21 -0
- package/dist/notify/render.js +59 -0
- package/dist/notify/render.js.map +1 -0
- package/dist/notify/render.test.d.ts +1 -0
- package/dist/notify/render.test.js +65 -0
- package/dist/notify/render.test.js.map +1 -0
- package/dist/notify/transports/github.d.ts +26 -0
- package/dist/notify/transports/github.js +26 -0
- package/dist/notify/transports/github.js.map +1 -0
- package/dist/notify/transports/slack.d.ts +26 -0
- package/dist/notify/transports/slack.js +28 -0
- package/dist/notify/transports/slack.js.map +1 -0
- package/dist/notify/transports.test.d.ts +1 -0
- package/dist/notify/transports.test.js +71 -0
- package/dist/notify/transports.test.js.map +1 -0
- package/dist/notify/types.d.ts +95 -0
- package/dist/notify/types.js +16 -0
- package/dist/notify/types.js.map +1 -0
- package/dist/sandbox/docker-compose.test.d.ts +1 -0
- package/dist/sandbox/docker-compose.test.js +128 -0
- package/dist/sandbox/docker-compose.test.js.map +1 -0
- package/dist/sandbox/docker.d.ts +97 -9
- package/dist/sandbox/docker.js +192 -41
- package/dist/sandbox/docker.js.map +1 -1
- package/dist/sandbox/docker.test.d.ts +1 -0
- package/dist/sandbox/docker.test.js +137 -0
- package/dist/sandbox/docker.test.js.map +1 -0
- package/dist/sandbox/egress-allowlist.d.ts +69 -0
- package/dist/sandbox/egress-allowlist.js +164 -0
- package/dist/sandbox/egress-allowlist.js.map +1 -0
- package/dist/sandbox/egress-allowlist.test.d.ts +1 -0
- package/dist/sandbox/egress-allowlist.test.js +65 -0
- package/dist/sandbox/egress-allowlist.test.js.map +1 -0
- package/dist/sandbox/egress-firewall-config.d.ts +127 -0
- package/dist/sandbox/egress-firewall-config.js +434 -0
- package/dist/sandbox/egress-firewall-config.js.map +1 -0
- package/dist/sandbox/egress-firewall-config.test.d.ts +1 -0
- package/dist/sandbox/egress-firewall-config.test.js +244 -0
- package/dist/sandbox/egress-firewall-config.test.js.map +1 -0
- package/dist/sandbox/images.d.ts +23 -0
- package/dist/sandbox/images.js +55 -0
- package/dist/sandbox/images.js.map +1 -0
- package/dist/sandbox/index.d.ts +82 -3
- package/dist/sandbox/index.js +223 -93
- package/dist/sandbox/index.js.map +1 -1
- package/dist/sandbox/index.test.d.ts +1 -0
- package/dist/sandbox/index.test.js +157 -0
- package/dist/sandbox/index.test.js.map +1 -0
- package/dist/session-log.d.ts +63 -0
- package/dist/session-log.js +290 -0
- package/dist/session-log.js.map +1 -0
- package/dist/session-log.test.d.ts +1 -0
- package/dist/session-log.test.js +85 -0
- package/dist/session-log.test.js.map +1 -0
- package/dist/setup.d.ts +30 -1
- package/dist/setup.js +241 -25
- package/dist/setup.js.map +1 -1
- package/dist/setup.test.js +138 -6
- package/dist/setup.test.js.map +1 -1
- package/dist/state/approval-store.d.ts +86 -0
- package/dist/state/approval-store.js +140 -0
- package/dist/state/approval-store.js.map +1 -0
- package/dist/state/build-assets.d.ts +50 -0
- package/dist/state/build-assets.js +154 -0
- package/dist/state/build-assets.js.map +1 -0
- package/dist/state/build-assets.test.d.ts +1 -0
- package/dist/state/build-assets.test.js +106 -0
- package/dist/state/build-assets.test.js.map +1 -0
- package/dist/state/db.d.ts +65 -333
- package/dist/state/db.js +112 -835
- package/dist/state/db.js.map +1 -1
- package/dist/state/db.test.js +127 -91
- package/dist/state/db.test.js.map +1 -1
- package/dist/state/execution-store.d.ts +257 -0
- package/dist/state/execution-store.js +527 -0
- package/dist/state/execution-store.js.map +1 -0
- package/dist/state/migrate.d.ts +15 -0
- package/dist/state/migrate.js +175 -0
- package/dist/state/migrate.js.map +1 -0
- package/dist/state/workflow-run-store.d.ts +195 -0
- package/dist/state/workflow-run-store.js +363 -0
- package/dist/state/workflow-run-store.js.map +1 -0
- package/dist/state/workflow-run-store.test.d.ts +1 -0
- package/dist/state/workflow-run-store.test.js +264 -0
- package/dist/state/workflow-run-store.test.js.map +1 -0
- package/dist/telemetry/index.d.ts +38 -0
- package/dist/telemetry/index.js +253 -0
- package/dist/telemetry/index.js.map +1 -0
- package/dist/telemetry/index.test.d.ts +1 -0
- package/dist/telemetry/index.test.js +73 -0
- package/dist/telemetry/index.test.js.map +1 -0
- package/dist/telemetry/pi-events.d.ts +12 -0
- package/dist/telemetry/pi-events.js +134 -0
- package/dist/telemetry/pi-events.js.map +1 -0
- package/dist/telemetry/pi-events.test.d.ts +1 -0
- package/dist/telemetry/pi-events.test.js +69 -0
- package/dist/telemetry/pi-events.test.js.map +1 -0
- package/dist/workflows/dag.d.ts +13 -1
- package/dist/workflows/dag.js +7 -3
- package/dist/workflows/dag.js.map +1 -1
- package/dist/workflows/dag.test.js +22 -0
- package/dist/workflows/dag.test.js.map +1 -1
- package/dist/workflows/golden-build.test.d.ts +1 -0
- package/dist/workflows/golden-build.test.js +45 -0
- package/dist/workflows/golden-build.test.js.map +1 -0
- package/dist/workflows/loader-overlay.test.d.ts +1 -0
- package/dist/workflows/loader-overlay.test.js +101 -0
- package/dist/workflows/loader-overlay.test.js.map +1 -0
- package/dist/workflows/loader.d.ts +36 -11
- package/dist/workflows/loader.js +311 -87
- package/dist/workflows/loader.js.map +1 -1
- package/dist/workflows/loader.test.js +114 -10
- package/dist/workflows/loader.test.js.map +1 -1
- package/dist/workflows/loop-eval.js +2 -0
- package/dist/workflows/loop-eval.js.map +1 -1
- package/dist/workflows/loop-eval.test.js +14 -0
- package/dist/workflows/loop-eval.test.js.map +1 -1
- package/dist/workflows/phase-executor.d.ts +145 -0
- package/dist/workflows/phase-executor.js +691 -0
- package/dist/workflows/phase-executor.js.map +1 -0
- package/dist/workflows/phase-executor.test.d.ts +1 -0
- package/dist/workflows/phase-executor.test.js +434 -0
- package/dist/workflows/phase-executor.test.js.map +1 -0
- package/dist/workflows/phase-ref.d.ts +44 -0
- package/dist/workflows/phase-ref.js +78 -0
- package/dist/workflows/phase-ref.js.map +1 -0
- package/dist/workflows/phase-ref.test.d.ts +1 -0
- package/dist/workflows/phase-ref.test.js +24 -0
- package/dist/workflows/phase-ref.test.js.map +1 -0
- package/dist/workflows/resume.d.ts +5 -11
- package/dist/workflows/resume.js +88 -7
- package/dist/workflows/resume.js.map +1 -1
- package/dist/workflows/runner.d.ts +34 -27
- package/dist/workflows/runner.js +252 -930
- package/dist/workflows/runner.js.map +1 -1
- package/dist/workflows/runner.test.js +346 -35
- package/dist/workflows/runner.test.js.map +1 -1
- package/dist/workflows/schema.d.ts +52 -10
- package/dist/workflows/schema.js +147 -7
- package/dist/workflows/schema.js.map +1 -1
- package/dist/workflows/simple.d.ts +67 -3
- package/dist/workflows/simple.js +248 -87
- package/dist/workflows/simple.js.map +1 -1
- package/dist/workflows/simple.test.d.ts +1 -0
- package/dist/workflows/simple.test.js +107 -0
- package/dist/workflows/simple.test.js.map +1 -0
- package/dist/workflows/templates.d.ts +29 -0
- package/dist/workflows/templates.js +42 -4
- package/dist/workflows/templates.js.map +1 -1
- package/dist/workflows/templates.test.js +103 -0
- package/dist/workflows/templates.test.js.map +1 -1
- package/dist/workflows/triggers.d.ts +21 -0
- package/dist/workflows/triggers.js +44 -0
- package/dist/workflows/triggers.js.map +1 -0
- package/dist/workflows/verdict.d.ts +19 -0
- package/dist/workflows/verdict.js +30 -0
- package/dist/workflows/verdict.js.map +1 -0
- package/dist/workflows/verdict.test.d.ts +1 -0
- package/dist/workflows/verdict.test.js +44 -0
- package/dist/workflows/verdict.test.js.map +1 -0
- package/dist/worktree/manager.d.ts +1 -1
- package/dist/worktree/manager.js +14 -14
- package/dist/worktree/manager.js.map +1 -1
- package/dist/worktree/manager.test.d.ts +1 -0
- package/dist/worktree/manager.test.js +87 -0
- package/dist/worktree/manager.test.js.map +1 -0
- package/docker-compose.yml +206 -5
- package/package.json +19 -9
- package/sandbox.Dockerfile +97 -18
- package/skills/README.md +40 -0
- package/skills/browser-qa/SKILL.md +193 -0
- package/skills/browser-qa/scripts/agent-browser.mjs +380 -0
- package/skills/building/SKILL.md +95 -0
- package/skills/chat/SKILL.md +30 -11
- package/skills/code-review/SKILL.md +59 -0
- package/skills/debug-production/SKILL.md +108 -0
- package/skills/demo/SKILL.md +194 -0
- package/skills/demo/scripts/compose-demo.sh +205 -0
- package/skills/issue-answer/SKILL.md +90 -0
- package/skills/issue-comment/SKILL.md +38 -24
- package/skills/issue-triage/SKILL.md +103 -37
- package/skills/issue-triage/references/AGENT-BRIEF.md +61 -0
- package/skills/pr-comment/SKILL.md +64 -0
- package/skills/pr-review/SKILL.md +65 -49
- package/skills/qa-test/SKILL.md +97 -0
- package/skills/repo-health/SKILL.md +48 -45
- package/skills/security-feedback/SKILL.md +173 -0
- package/skills/security-feedback/references/templates.md +77 -0
- package/skills/security-review/SKILL.md +213 -0
- package/skills/security-review/references/issue-format.md +302 -0
- package/skills/verify/SKILL.md +118 -0
- package/workflows/answer.yaml +37 -0
- package/workflows/build.yaml +32 -22
- package/workflows/cron-security.yaml +6 -0
- package/workflows/demo.yaml +55 -0
- package/workflows/explore.yaml +9 -0
- package/workflows/pr-comment.yaml +16 -0
- package/workflows/pr-fix.yaml +3 -0
- package/workflows/pr-review.yaml +4 -1
- package/workflows/prompts/answer.md +67 -0
- package/workflows/prompts/architect.md +24 -7
- package/workflows/prompts/demo.md +100 -0
- package/workflows/prompts/executor.md +29 -20
- package/workflows/prompts/explore-ask.md +51 -22
- package/workflows/prompts/explore-publish.md +2 -2
- package/workflows/prompts/explore-read.md +24 -10
- package/workflows/prompts/explore-synthesize.md +15 -8
- package/workflows/prompts/fix.md +9 -10
- package/workflows/prompts/guardrails.md +26 -8
- package/workflows/prompts/pr-fix.md +6 -7
- package/workflows/prompts/pr.md +11 -10
- package/workflows/prompts/qa-browser.md +95 -0
- package/workflows/prompts/qa-synth.md +44 -0
- package/workflows/prompts/qa-test.md +60 -0
- package/workflows/prompts/re-reviewer.md +8 -9
- package/workflows/prompts/reviewer.md +10 -9
- package/workflows/prompts/verify-browser.md +93 -0
- package/workflows/prompts/verify-synth.md +44 -0
- package/workflows/prompts/verify.md +63 -0
- package/workflows/qa-test.yaml +87 -0
- package/workflows/security-feedback.yaml +25 -0
- package/workflows/security-review.yaml +29 -0
- package/workflows/verify.yaml +85 -0
- package/deploy/mcp-config.tmpl.json +0 -14
- package/dist/cron/rate-limits.d.ts +0 -26
- package/dist/cron/rate-limits.js +0 -193
- package/dist/cron/rate-limits.js.map +0 -1
- package/dist/engine/executor.d.ts +0 -75
- package/dist/engine/executor.js +0 -292
- package/dist/engine/executor.js.map +0 -1
- package/mcp-github-app/package.json +0 -18
- package/mcp-github-app/src/auth.js +0 -66
- package/mcp-github-app/src/github.js +0 -371
- package/mcp-github-app/src/index.js +0 -534
- package/skills/devops/webhook-subscriptions/SKILL.md +0 -180
- package/skills/github/DESCRIPTION.md +0 -3
- package/skills/github/codebase-inspection/SKILL.md +0 -115
- package/skills/github/github-auth/SKILL.md +0 -54
- package/skills/github/github-auth/scripts/gh-env.sh +0 -66
- package/skills/github/github-code-review/SKILL.md +0 -480
- package/skills/github/github-code-review/references/review-output-template.md +0 -74
- package/skills/github/github-issues/SKILL.md +0 -369
- package/skills/github/github-issues/templates/bug-report.md +0 -35
- package/skills/github/github-issues/templates/feature-request.md +0 -31
- package/skills/github/github-pr-workflow/SKILL.md +0 -395
- package/skills/github/github-pr-workflow/references/ci-troubleshooting.md +0 -183
- package/skills/github/github-pr-workflow/references/conventional-commits.md +0 -71
- package/skills/github/github-pr-workflow/templates/pr-body-bugfix.md +0 -35
- package/skills/github/github-pr-workflow/templates/pr-body-feature.md +0 -33
- package/skills/github/github-repo-management/SKILL.md +0 -515
- package/skills/github/github-repo-management/references/github-api-cheatsheet.md +0 -161
- package/skills/github-orchestrator/SKILL.md +0 -103
- package/skills/mcp/DESCRIPTION.md +0 -3
- package/skills/mcp/mcporter/SKILL.md +0 -122
- package/skills/mcp/native-mcp/SKILL.md +0 -356
- package/skills/software-development/architect/SKILL.md +0 -154
- package/skills/software-development/assure-guardrails/SKILL.md +0 -239
- package/skills/software-development/plan/SKILL.md +0 -64
- package/skills/software-development/requesting-code-review/SKILL.md +0 -291
- package/skills/software-development/subagent-driven-development/SKILL.md +0 -433
- package/skills/software-development/systematic-debugging/SKILL.md +0 -366
- package/skills/software-development/test-driven-development/SKILL.md +0 -342
|
@@ -1,154 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: architect
|
|
3
|
-
description: >
|
|
4
|
-
Read-only deep analysis role. Diagnose problems, analyze codebases, and
|
|
5
|
-
recommend approaches with file:line evidence. Never writes or edits files.
|
|
6
|
-
Use for build request analysis, complex PR reviews, debugging investigations,
|
|
7
|
-
and architecture questions.
|
|
8
|
-
version: 1.0.0
|
|
9
|
-
author: Last Light (adapted from OmX architect role)
|
|
10
|
-
license: MIT
|
|
11
|
-
metadata:
|
|
12
|
-
hermes:
|
|
13
|
-
tags: [analysis, architecture, read-only, diagnosis]
|
|
14
|
-
related_skills: [plan, systematic-debugging, subagent-driven-development]
|
|
15
|
-
---
|
|
16
|
-
|
|
17
|
-
# Architect — Read-Only Deep Analysis
|
|
18
|
-
|
|
19
|
-
## Identity
|
|
20
|
-
|
|
21
|
-
You are the **Architect**. You diagnose, analyze, and recommend with file-backed
|
|
22
|
-
evidence. You are strictly read-only.
|
|
23
|
-
|
|
24
|
-
**Core principle:** Never judge code you have not opened. Never give generic advice
|
|
25
|
-
detached from this codebase. Acknowledge uncertainty instead of speculating.
|
|
26
|
-
|
|
27
|
-
## GitHub-First Gate
|
|
28
|
-
|
|
29
|
-
If this analysis is for a build request or implementation work, ensure a **GitHub issue**
|
|
30
|
-
exists before starting. If the request came from Discord, Slack, or CLI with no linked
|
|
31
|
-
issue, create one first. Post the analysis summary to the issue when complete.
|
|
32
|
-
|
|
33
|
-
## When to Use
|
|
34
|
-
|
|
35
|
-
- Analyzing a build request before implementation begins
|
|
36
|
-
- Deep review of complex PRs (>300 lines or >5 files changed)
|
|
37
|
-
- Debugging investigations where root cause is unclear
|
|
38
|
-
- Architecture questions about how systems fit together
|
|
39
|
-
- Pre-implementation analysis for the Architect→Executor→Reviewer cycle
|
|
40
|
-
|
|
41
|
-
**vs. plan skill:** `plan` produces an implementation task list. `architect` produces
|
|
42
|
-
a diagnostic analysis with root causes, evidence, and tradeoffs. Use architect first,
|
|
43
|
-
then plan to turn the analysis into actionable tasks.
|
|
44
|
-
|
|
45
|
-
## Constraints
|
|
46
|
-
|
|
47
|
-
- **Never** write or edit files
|
|
48
|
-
- **Never** commit, push, or run mutating commands
|
|
49
|
-
- **Never** judge code you have not opened and read
|
|
50
|
-
- **Never** give generic advice — ground everything in this codebase
|
|
51
|
-
- **Always** cite `file:line` for every important claim
|
|
52
|
-
- **Always** acknowledge uncertainty instead of speculating
|
|
53
|
-
- Only use read-only tools: file reads, search/grep, `git log`, `git blame`, `git diff`, read-only terminal commands
|
|
54
|
-
- Ask only when the next step materially changes scope or requires a business decision
|
|
55
|
-
|
|
56
|
-
## Execution Loop
|
|
57
|
-
|
|
58
|
-
1. **Gather context first.** Read the relevant files, git history, tests, and any
|
|
59
|
-
linked issues or PRs. Use parallel reads when possible.
|
|
60
|
-
2. **Form a hypothesis.** Based on the evidence, what is the root cause or the
|
|
61
|
-
best approach?
|
|
62
|
-
3. **Cross-check against the code.** Open every file your hypothesis depends on.
|
|
63
|
-
Verify your assumptions. Look for edge cases, callers, and dependencies.
|
|
64
|
-
4. **Return structured output.** Summary, root cause, recommendations, tradeoffs.
|
|
65
|
-
|
|
66
|
-
### Success Criteria
|
|
67
|
-
|
|
68
|
-
- Every important claim cites `file:line` evidence
|
|
69
|
-
- Root cause is identified, not just symptoms
|
|
70
|
-
- Recommendations are concrete and implementable
|
|
71
|
-
- Tradeoffs are acknowledged
|
|
72
|
-
- Analysis is grounded — no "should work" or "probably fine"
|
|
73
|
-
|
|
74
|
-
### Verification Loop
|
|
75
|
-
|
|
76
|
-
- Default effort: **high**
|
|
77
|
-
- Stop when diagnosis and recommendations are grounded in evidence
|
|
78
|
-
- Keep reading until the analysis is grounded
|
|
79
|
-
- Never stop at a plausible theory when `file:line` evidence is still missing
|
|
80
|
-
|
|
81
|
-
## Output Format
|
|
82
|
-
|
|
83
|
-
```markdown
|
|
84
|
-
## Summary
|
|
85
|
-
[2-3 sentences: what you found and main recommendation]
|
|
86
|
-
|
|
87
|
-
## Analysis
|
|
88
|
-
[Detailed findings with file:line references]
|
|
89
|
-
|
|
90
|
-
## Root Cause
|
|
91
|
-
[The fundamental issue, not symptoms]
|
|
92
|
-
|
|
93
|
-
## Recommendations
|
|
94
|
-
1. [Highest priority] — [effort: low/medium/high] — [impact: description]
|
|
95
|
-
2. [Next priority] — [effort] — [impact]
|
|
96
|
-
...
|
|
97
|
-
|
|
98
|
-
## Tradeoffs
|
|
99
|
-
| Option | Pros | Cons |
|
|
100
|
-
|--------|------|------|
|
|
101
|
-
| A | ... | ... |
|
|
102
|
-
| B | ... | ... |
|
|
103
|
-
|
|
104
|
-
## Unknowns
|
|
105
|
-
- [What could not be determined from code alone]
|
|
106
|
-
|
|
107
|
-
## References
|
|
108
|
-
- `path/to/file.ts:42` — [what it shows]
|
|
109
|
-
- `path/to/other.ts:108` — [what it shows]
|
|
110
|
-
```
|
|
111
|
-
|
|
112
|
-
## As a Delegated Role
|
|
113
|
-
|
|
114
|
-
When used via `delegate_task` in the Architect→Executor→Reviewer cycle:
|
|
115
|
-
|
|
116
|
-
```python
|
|
117
|
-
delegate_task(
|
|
118
|
-
goal="Architect analysis: [specific task or question]",
|
|
119
|
-
context="""
|
|
120
|
-
ROLE: You are the ARCHITECT. Read-only analysis only. You MUST NOT
|
|
121
|
-
edit files, create files, or run mutating commands. You may only read
|
|
122
|
-
files, search code, and run read-only terminal commands.
|
|
123
|
-
|
|
124
|
-
TASK: [what to analyze]
|
|
125
|
-
|
|
126
|
-
CONTEXT:
|
|
127
|
-
[issue body, comments, repo structure, constraints]
|
|
128
|
-
|
|
129
|
-
OUTPUT: Follow the architect output format — Summary, Analysis,
|
|
130
|
-
Root Cause, Recommendations, Tradeoffs, Unknowns, References.
|
|
131
|
-
Every recommendation must include file:line references.
|
|
132
|
-
""",
|
|
133
|
-
toolsets=['terminal', 'file']
|
|
134
|
-
)
|
|
135
|
-
```
|
|
136
|
-
|
|
137
|
-
## Final Checklist
|
|
138
|
-
|
|
139
|
-
Before completing your analysis:
|
|
140
|
-
|
|
141
|
-
- [ ] Did I read the code before concluding?
|
|
142
|
-
- [ ] Does every key finding cite `file:line` evidence?
|
|
143
|
-
- [ ] Is the root cause explicit (not just symptoms)?
|
|
144
|
-
- [ ] Are recommendations concrete and implementable?
|
|
145
|
-
- [ ] Did I acknowledge tradeoffs?
|
|
146
|
-
- [ ] Did I flag unknowns honestly?
|
|
147
|
-
|
|
148
|
-
## Anti-Patterns
|
|
149
|
-
|
|
150
|
-
- Giving advice without reading the code ("you should probably...")
|
|
151
|
-
- Speculating about behavior without checking ("this likely does...")
|
|
152
|
-
- Generic recommendations not grounded in this specific codebase
|
|
153
|
-
- Stopping at surface symptoms without tracing to root cause
|
|
154
|
-
- Recommending changes without considering callers and dependencies
|
|
@@ -1,239 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: assure-guardrails
|
|
3
|
-
description: >
|
|
4
|
-
Pre-flight check before implementation work. Verifies a repo has the foundational
|
|
5
|
-
dev guardrails (test framework, linting, type checking) needed for the build cycle.
|
|
6
|
-
Creates issues for missing guardrails and blocks implementation until they're resolved.
|
|
7
|
-
version: 1.0.0
|
|
8
|
-
author: Last Light
|
|
9
|
-
license: MIT
|
|
10
|
-
tags: [guardrails, pre-flight, testing, linting, quality, workflow]
|
|
11
|
-
related_skills: [architect, subagent-driven-development, test-driven-development, requesting-code-review]
|
|
12
|
-
---
|
|
13
|
-
|
|
14
|
-
# Assure Guardrails
|
|
15
|
-
|
|
16
|
-
## Purpose
|
|
17
|
-
|
|
18
|
-
The build cycle depends on foundational tooling: TDD needs a test framework, the
|
|
19
|
-
requesting-code-review pipeline needs linting and type checking, the Reviewer needs
|
|
20
|
-
tests to run. If any of these are missing, implementation work will either skip
|
|
21
|
-
quality checks or fail at verification.
|
|
22
|
-
|
|
23
|
-
This skill runs **after cloning a repo and reading its docs**, but **before the
|
|
24
|
-
Architect phase**. It ensures the foundations exist. If they don't, it creates
|
|
25
|
-
GitHub issues to add them and links those issues to the original task.
|
|
26
|
-
|
|
27
|
-
**Core principle:** You cannot build reliably on a repo without tests, linting, and
|
|
28
|
-
type checking. Fix the foundations first, then build features.
|
|
29
|
-
|
|
30
|
-
## When to Run
|
|
31
|
-
|
|
32
|
-
Run this check:
|
|
33
|
-
- Before any build request (Architect→Executor→Reviewer cycle)
|
|
34
|
-
- Before any test coverage analysis
|
|
35
|
-
- Before any planned implementation work on a managed repo
|
|
36
|
-
- Skip for: pure documentation changes, issue triage, PR reviews, health reports
|
|
37
|
-
|
|
38
|
-
## What to Check
|
|
39
|
-
|
|
40
|
-
After cloning the repo and reading `CLAUDE.md`/`AGENTS.md`, verify these guardrails:
|
|
41
|
-
|
|
42
|
-
### 1. Test Framework
|
|
43
|
-
|
|
44
|
-
**Check for:**
|
|
45
|
-
- Test runner config (`vitest.config.*`, `jest.config.*`, `pytest.ini`, `pyproject.toml [tool.pytest]`, `Cargo.toml [dev-dependencies]`, etc.)
|
|
46
|
-
- Test script in `package.json` (`scripts.test`) or equivalent
|
|
47
|
-
- At least one test file exists (`*.test.*`, `*.spec.*`, `tests/`, `__tests__/`)
|
|
48
|
-
- Tests actually run: execute the test command and confirm it doesn't error
|
|
49
|
-
|
|
50
|
-
**If missing:** The repo has no test framework. TDD is impossible. This is a blocker.
|
|
51
|
-
|
|
52
|
-
### 2. Linting
|
|
53
|
-
|
|
54
|
-
**Check for:**
|
|
55
|
-
- Linter config (`.eslintrc*`, `biome.json`, `.ruff.toml`, `ruff.toml`, `.flake8`, `clippy` in Cargo)
|
|
56
|
-
- Lint script in `package.json` (`scripts.lint`) or equivalent
|
|
57
|
-
- Linter actually runs without crashing
|
|
58
|
-
|
|
59
|
-
**If missing:** Code quality checks in the review pipeline will be skipped.
|
|
60
|
-
|
|
61
|
-
### 3. Type Checking
|
|
62
|
-
|
|
63
|
-
**Check for:**
|
|
64
|
-
- TypeScript: `tsconfig.json` and a typecheck script (`tsc --noEmit`)
|
|
65
|
-
- Python: `mypy.ini`, `pyproject.toml [tool.mypy]`, or `pyrightconfig.json`
|
|
66
|
-
- Rust: built-in (cargo check)
|
|
67
|
-
- Go: built-in (go vet)
|
|
68
|
-
|
|
69
|
-
**If missing:** Type errors won't be caught before merge.
|
|
70
|
-
|
|
71
|
-
### 4. CI Pipeline (informational, not blocking)
|
|
72
|
-
|
|
73
|
-
**Check for:**
|
|
74
|
-
- `.github/workflows/` with test/lint/typecheck steps
|
|
75
|
-
- Or equivalent CI config (`.gitlab-ci.yml`, `Jenkinsfile`, etc.)
|
|
76
|
-
|
|
77
|
-
**If missing:** Note it as a recommendation but don't block on it.
|
|
78
|
-
|
|
79
|
-
## Detection by Language
|
|
80
|
-
|
|
81
|
-
Use the repo's `CLAUDE.md` first — it often documents the exact commands. Fall back to
|
|
82
|
-
auto-detection only if docs don't cover it.
|
|
83
|
-
|
|
84
|
-
### JavaScript / TypeScript
|
|
85
|
-
```bash
|
|
86
|
-
# Test framework
|
|
87
|
-
cat package.json | grep -E '"test"'
|
|
88
|
-
ls vitest.config.* jest.config.* 2>/dev/null
|
|
89
|
-
find . -name '*.test.*' -o -name '*.spec.*' | head -5
|
|
90
|
-
|
|
91
|
-
# Linting
|
|
92
|
-
cat package.json | grep -E '"lint"'
|
|
93
|
-
ls .eslintrc* biome.json 2>/dev/null
|
|
94
|
-
|
|
95
|
-
# Type checking
|
|
96
|
-
ls tsconfig.json 2>/dev/null
|
|
97
|
-
cat package.json | grep -E '"typecheck"|"tsc"'
|
|
98
|
-
```
|
|
99
|
-
|
|
100
|
-
### Python
|
|
101
|
-
```bash
|
|
102
|
-
# Test framework
|
|
103
|
-
ls pytest.ini setup.cfg pyproject.toml 2>/dev/null
|
|
104
|
-
grep -l pytest pyproject.toml setup.cfg 2>/dev/null
|
|
105
|
-
find . -name 'test_*.py' -o -name '*_test.py' | head -5
|
|
106
|
-
|
|
107
|
-
# Linting
|
|
108
|
-
ls .ruff.toml ruff.toml .flake8 2>/dev/null
|
|
109
|
-
|
|
110
|
-
# Type checking
|
|
111
|
-
ls mypy.ini pyrightconfig.json 2>/dev/null
|
|
112
|
-
grep -l mypy pyproject.toml 2>/dev/null
|
|
113
|
-
```
|
|
114
|
-
|
|
115
|
-
### Rust
|
|
116
|
-
```bash
|
|
117
|
-
# Tests are built-in (cargo test)
|
|
118
|
-
grep '\[dev-dependencies\]' Cargo.toml
|
|
119
|
-
# Linting is built-in (cargo clippy)
|
|
120
|
-
# Type checking is built-in (cargo check)
|
|
121
|
-
```
|
|
122
|
-
|
|
123
|
-
## Output Format
|
|
124
|
-
|
|
125
|
-
Produce a guardrails report:
|
|
126
|
-
|
|
127
|
-
```markdown
|
|
128
|
-
## Guardrails Report: {repo}
|
|
129
|
-
|
|
130
|
-
### Test Framework
|
|
131
|
-
- Status: PRESENT / MISSING / BROKEN
|
|
132
|
-
- Runner: {vitest / jest / pytest / cargo test / ...}
|
|
133
|
-
- Command: {npm test / pytest / ...}
|
|
134
|
-
- Test count: {N tests found}
|
|
135
|
-
- Notes: {any issues}
|
|
136
|
-
|
|
137
|
-
### Linting
|
|
138
|
-
- Status: PRESENT / MISSING / BROKEN
|
|
139
|
-
- Tool: {biome / eslint / ruff / clippy / ...}
|
|
140
|
-
- Command: {npm run lint / ...}
|
|
141
|
-
- Notes: {any issues}
|
|
142
|
-
|
|
143
|
-
### Type Checking
|
|
144
|
-
- Status: PRESENT / MISSING / BROKEN
|
|
145
|
-
- Tool: {tsc / mypy / cargo check / ...}
|
|
146
|
-
- Command: {npm run typecheck / ...}
|
|
147
|
-
- Notes: {any issues}
|
|
148
|
-
|
|
149
|
-
### CI Pipeline
|
|
150
|
-
- Status: PRESENT / MISSING
|
|
151
|
-
- Notes: {what it covers}
|
|
152
|
-
|
|
153
|
-
### Verdict: READY / BLOCKED
|
|
154
|
-
```
|
|
155
|
-
|
|
156
|
-
## When Guardrails Are Missing
|
|
157
|
-
|
|
158
|
-
If any of tests, linting, or type checking are **MISSING** or **BROKEN**:
|
|
159
|
-
|
|
160
|
-
### 1. Create a guardrails issue
|
|
161
|
-
|
|
162
|
-
Use `mcp_github_create_issue` to create an issue in the target repo:
|
|
163
|
-
|
|
164
|
-
```
|
|
165
|
-
Title: Add missing dev guardrails: {list of missing items}
|
|
166
|
-
|
|
167
|
-
Labels: enhancement, p1-high
|
|
168
|
-
|
|
169
|
-
Body:
|
|
170
|
-
## Missing Guardrails
|
|
171
|
-
|
|
172
|
-
The following foundational tooling is missing or broken in this repo:
|
|
173
|
-
|
|
174
|
-
- [ ] {Test framework — no test runner configured}
|
|
175
|
-
- [ ] {Linting — no linter configured}
|
|
176
|
-
- [ ] {Type checking — no typecheck script}
|
|
177
|
-
|
|
178
|
-
## Why This Matters
|
|
179
|
-
|
|
180
|
-
These are prerequisites for reliable development:
|
|
181
|
-
- **Tests** are required for TDD and the verification pipeline
|
|
182
|
-
- **Linting** catches style and correctness issues before review
|
|
183
|
-
- **Type checking** catches type errors before merge
|
|
184
|
-
|
|
185
|
-
## Blocked Work
|
|
186
|
-
|
|
187
|
-
This issue blocks #{original_issue_number} — implementation work cannot
|
|
188
|
-
proceed reliably without these foundations.
|
|
189
|
-
|
|
190
|
-
## Suggested Setup
|
|
191
|
-
|
|
192
|
-
{Language-specific recommendations based on what the repo already uses}
|
|
193
|
-
```
|
|
194
|
-
|
|
195
|
-
### 2. Link to the original task
|
|
196
|
-
|
|
197
|
-
Post a comment on the original task issue:
|
|
198
|
-
|
|
199
|
-
```
|
|
200
|
-
Guardrails check found missing foundations in this repo:
|
|
201
|
-
- {list}
|
|
202
|
-
|
|
203
|
-
Created #{guardrails_issue_number} to add them. Implementation work on this
|
|
204
|
-
task should wait until the guardrails are in place, or proceed with the
|
|
205
|
-
understanding that quality verification will be limited.
|
|
206
|
-
```
|
|
207
|
-
|
|
208
|
-
### 3. Decide whether to proceed or block
|
|
209
|
-
|
|
210
|
-
**Block** (create guardrails first, then resume original task):
|
|
211
|
-
- No test framework at all — TDD is impossible
|
|
212
|
-
- Tests exist but are completely broken — verification is meaningless
|
|
213
|
-
|
|
214
|
-
**Proceed with warning** (note limitations in PR description):
|
|
215
|
-
- Linting missing — code quality review still works, just less automated
|
|
216
|
-
- Type checking missing — reviewer can still catch type issues manually
|
|
217
|
-
- CI missing — local verification still works
|
|
218
|
-
|
|
219
|
-
### 4. If blocking: run the guardrails fix as a build request
|
|
220
|
-
|
|
221
|
-
Treat the guardrails issue as a build request itself — run it through the
|
|
222
|
-
Architect→Executor→Reviewer cycle. Once the guardrails PR is merged, resume
|
|
223
|
-
the original task.
|
|
224
|
-
|
|
225
|
-
## Integration with the Build Cycle
|
|
226
|
-
|
|
227
|
-
In the github-orchestrator build flow, this check runs between Phase 0 (pre-context
|
|
228
|
-
intake) and Phase 1 (architect analysis):
|
|
229
|
-
|
|
230
|
-
```
|
|
231
|
-
Phase 0: Pre-context intake (read issue, clone repo, read CLAUDE.md)
|
|
232
|
-
↓
|
|
233
|
-
GUARDRAILS CHECK (this skill)
|
|
234
|
-
↓
|
|
235
|
-
READY → Phase 1: Architect analysis (proceed normally)
|
|
236
|
-
BLOCKED → Create guardrails issue → fix foundations first → resume
|
|
237
|
-
```
|
|
238
|
-
|
|
239
|
-
In subagent-driven-development, run this before dispatching the first task.
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: plan
|
|
3
|
-
description: Plan mode for Hermes — inspect context, write a markdown plan into the active workspace's `.hermes/plans/` directory, and do not execute the work.
|
|
4
|
-
version: 1.0.0
|
|
5
|
-
author: Hermes Agent
|
|
6
|
-
license: MIT
|
|
7
|
-
metadata:
|
|
8
|
-
hermes:
|
|
9
|
-
tags: [planning, plan-mode, implementation, workflow]
|
|
10
|
-
related_skills: [subagent-driven-development, architect]
|
|
11
|
-
---
|
|
12
|
-
|
|
13
|
-
# Plan Mode
|
|
14
|
-
|
|
15
|
-
Use this skill when the user wants a plan instead of execution.
|
|
16
|
-
|
|
17
|
-
## GitHub-First Gate
|
|
18
|
-
|
|
19
|
-
If this plan will lead to implementation work (code changes, PRs), ensure a **GitHub issue**
|
|
20
|
-
exists to track it before writing the plan. If the request came from Discord, Slack, or CLI
|
|
21
|
-
with no linked issue, create one in the appropriate managed repo.
|
|
22
|
-
The plan should reference the issue number and the plan file path should be posted to the issue.
|
|
23
|
-
|
|
24
|
-
## Core behavior
|
|
25
|
-
|
|
26
|
-
For this turn, you are planning only.
|
|
27
|
-
|
|
28
|
-
- Do not implement code.
|
|
29
|
-
- Do not edit project files except the plan markdown file.
|
|
30
|
-
- Do not run mutating terminal commands, commit, push, or perform external actions.
|
|
31
|
-
- You may inspect the repo or other context with read-only commands/tools when needed.
|
|
32
|
-
- Your deliverable is a markdown plan saved inside the active workspace under `.hermes/plans/`.
|
|
33
|
-
|
|
34
|
-
## Output requirements
|
|
35
|
-
|
|
36
|
-
Write a markdown plan that is concrete and actionable.
|
|
37
|
-
|
|
38
|
-
Include, when relevant:
|
|
39
|
-
- Goal
|
|
40
|
-
- Current context / assumptions
|
|
41
|
-
- Proposed approach
|
|
42
|
-
- Step-by-step plan
|
|
43
|
-
- Files likely to change
|
|
44
|
-
- Tests / validation
|
|
45
|
-
- Risks, tradeoffs, and open questions
|
|
46
|
-
|
|
47
|
-
If the task is code-related, include exact file paths, likely test targets, and verification steps.
|
|
48
|
-
|
|
49
|
-
## Save location
|
|
50
|
-
|
|
51
|
-
Save the plan with `write_file` under:
|
|
52
|
-
- `.hermes/plans/YYYY-MM-DD_HHMMSS-<slug>.md`
|
|
53
|
-
|
|
54
|
-
Treat that as relative to the active working directory / backend workspace. Hermes file tools are backend-aware, so using this relative path keeps the plan with the workspace on local, docker, ssh, modal, and daytona backends.
|
|
55
|
-
|
|
56
|
-
If the runtime provides a specific target path, use that exact path.
|
|
57
|
-
If not, create a sensible timestamped filename yourself under `.hermes/plans/`.
|
|
58
|
-
|
|
59
|
-
## Interaction style
|
|
60
|
-
|
|
61
|
-
- If the request is clear enough, write the plan directly.
|
|
62
|
-
- If no explicit instruction accompanies `/plan`, infer the task from the current conversation context.
|
|
63
|
-
- If it is genuinely underspecified, ask a brief clarifying question instead of guessing.
|
|
64
|
-
- After saving the plan, reply briefly with what you planned and the saved path.
|