neondeck 1.0.0-beta.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +22 -0
- package/DEVELOPMENT.md +310 -0
- package/LICENSE +21 -0
- package/README.md +128 -0
- package/SOUL.md +8 -0
- package/bin/neondeck.mjs +27 -0
- package/config/dashboard.json +208 -0
- package/config/dashboard.schema.json +207 -0
- package/dist/SOUL.md +8 -0
- package/dist/assets/app-BuuvLo98.js +3620 -0
- package/dist/assets/app-BuuvLo98.js.map +1 -0
- package/dist/assets/autopilot-CKgEx8yQ.js +68025 -0
- package/dist/assets/autopilot-CKgEx8yQ.js.map +1 -0
- package/dist/assets/briefing-DYVbJaqk.js +2 -0
- package/dist/assets/briefing-DoO-fJr1.js +22 -0
- package/dist/assets/briefing-DoO-fJr1.js.map +1 -0
- package/dist/assets/command-run-B2TWLpLL.js +20 -0
- package/dist/assets/command-run-B2TWLpLL.js.map +1 -0
- package/dist/assets/command-run-CzQra_Y7.js +2 -0
- package/dist/assets/display-assistant-CbCRBSYM.js +389 -0
- package/dist/assets/display-assistant-CbCRBSYM.js.map +1 -0
- package/dist/assets/fix-pr-ci-BlUl-2ht.js +46 -0
- package/dist/assets/fix-pr-ci-BlUl-2ht.js.map +1 -0
- package/dist/assets/fix-pr-ci-Dl1wpKXp.js +2 -0
- package/dist/assets/migrations/20260710061339_neondeck_pre_1_0_baseline/migration.sql +748 -0
- package/dist/assets/migrations/20260710061339_neondeck_pre_1_0_baseline/snapshot.json +7240 -0
- package/dist/assets/prepare-pr-worktree-CLzccRYh.js +2 -0
- package/dist/assets/prepare-pr-worktree-DxyTygiU.js +17 -0
- package/dist/assets/prepare-pr-worktree-DxyTygiU.js.map +1 -0
- package/dist/assets/push-pr-autofix-BFNSEASU.js +2 -0
- package/dist/assets/push-pr-autofix-DlVjw1IN.js +17 -0
- package/dist/assets/push-pr-autofix-DlVjw1IN.js.map +1 -0
- package/dist/assets/review-pr-for-human-B2j8wz2L.js +2 -0
- package/dist/assets/review-pr-for-human-DcGE-7wb.js +708 -0
- package/dist/assets/review-pr-for-human-DcGE-7wb.js.map +1 -0
- package/dist/assets/safety-CawD9GxD.js +2499 -0
- package/dist/assets/safety-CawD9GxD.js.map +1 -0
- package/dist/assets/scheduled-agent-instruction-CQgogBv3.js +22 -0
- package/dist/assets/scheduled-agent-instruction-CQgogBv3.js.map +1 -0
- package/dist/assets/scheduled-agent-instruction-Dr2ebZRD.js +2 -0
- package/dist/assets/scheduler-tick-Cy26qBld.js +105 -0
- package/dist/assets/scheduler-tick-Cy26qBld.js.map +1 -0
- package/dist/assets/skills/github-gh/SKILL.md +56 -0
- package/dist/assets/skills/neon-ci-fix/SKILL.md +15 -0
- package/dist/assets/skills/neon-docs-fix/SKILL.md +15 -0
- package/dist/assets/skills/neon-issue-triage/SKILL.md +13 -0
- package/dist/assets/skills/neon-pr-review/SKILL.md +19 -0
- package/dist/assets/skills/neondeck/SKILL.md +123 -0
- package/dist/assets/skills/neondeck-handoff/SKILL.md +31 -0
- package/dist/assets/triage-pr-event-BlE3GKNR.js +17 -0
- package/dist/assets/triage-pr-event-BlE3GKNR.js.map +1 -0
- package/dist/assets/triage-pr-event-hxUP587F.js +2 -0
- package/dist/assets/verify-then-push-pr-autofix-CIl5ZwZm.js +2 -0
- package/dist/assets/verify-then-push-pr-autofix-Djy0UFUv.js +75 -0
- package/dist/assets/verify-then-push-pr-autofix-Djy0UFUv.js.map +1 -0
- package/dist/config/dashboard.json +208 -0
- package/dist/config/dashboard.schema.json +207 -0
- package/dist/server.mjs +582 -0
- package/dist/server.mjs.map +1 -0
- package/dist/skills/github-gh/SKILL.md +56 -0
- package/dist/skills/neon-ci-fix/SKILL.md +15 -0
- package/dist/skills/neon-docs-fix/SKILL.md +15 -0
- package/dist/skills/neon-issue-triage/SKILL.md +13 -0
- package/dist/skills/neon-pr-review/SKILL.md +19 -0
- package/dist/skills/neondeck/SKILL.md +123 -0
- package/dist/skills/neondeck-handoff/SKILL.md +31 -0
- package/drizzle.config.ts +7 -0
- package/package.json +155 -0
- package/shared/patch-anchors.ts +78 -0
- package/src/agents/busywork-workflow.ts +24 -0
- package/src/agents/display-assistant.ts +134 -0
- package/src/agents/pr-review-assistant.ts +25 -0
- package/src/agents/scheduler-workflow.ts +20 -0
- package/src/agents/support/tools.ts +346 -0
- package/src/app.ts +1 -0
- package/src/cli/index.ts +560 -0
- package/src/cli/learning.ts +44 -0
- package/src/cli/mcp.ts +496 -0
- package/src/cli/modules.ts +107 -0
- package/src/cli/onboarding.ts +667 -0
- package/src/cli/options.ts +103 -0
- package/src/cli/output.ts +399 -0
- package/src/cli/preapprovals.ts +204 -0
- package/src/cli/prompts.ts +108 -0
- package/src/cli/types.ts +59 -0
- package/src/db.ts +41 -0
- package/src/desktop/open.ts +698 -0
- package/src/desktop/service.ts +863 -0
- package/src/domains/mcp/actions.ts +420 -0
- package/src/domains/mcp/config.ts +501 -0
- package/src/domains/mcp/format.ts +35 -0
- package/src/domains/mcp/gate.ts +188 -0
- package/src/domains/mcp/index.ts +9 -0
- package/src/domains/mcp/instructions.ts +18 -0
- package/src/domains/mcp/oauth.ts +1063 -0
- package/src/domains/mcp/policy.ts +15 -0
- package/src/domains/mcp/registry.ts +461 -0
- package/src/domains/mcp/schemas.ts +171 -0
- package/src/domains/mcp/stdio.ts +451 -0
- package/src/domains/mcp/store.ts +905 -0
- package/src/domains/mcp/tools.ts +119 -0
- package/src/lib/action-result.ts +51 -0
- package/src/lib/exec.ts +118 -0
- package/src/lib/git.ts +20 -0
- package/src/lib/report-html.ts +193 -0
- package/src/lib/sqlite.ts +51 -0
- package/src/lib/valibot.ts +33 -0
- package/src/modules/app-state/index.ts +5 -0
- package/src/modules/app-state/native-notifications.ts +76 -0
- package/src/modules/app-state/notification-events.ts +45 -0
- package/src/modules/app-state/notifications.ts +276 -0
- package/src/modules/app-state/types.ts +42 -0
- package/src/modules/app-state/workflow-summaries.ts +201 -0
- package/src/modules/autonomous-audit/index.ts +225 -0
- package/src/modules/autopilot/actions.ts +165 -0
- package/src/modules/autopilot/admissions.ts +865 -0
- package/src/modules/autopilot/approvals.ts +59 -0
- package/src/modules/autopilot/ci-fix-run.ts +1332 -0
- package/src/modules/autopilot/ci-fix.ts +692 -0
- package/src/modules/autopilot/comments.ts +426 -0
- package/src/modules/autopilot/fixtures.ts +344 -0
- package/src/modules/autopilot/github-facts.ts +303 -0
- package/src/modules/autopilot/index.ts +64 -0
- package/src/modules/autopilot/notifications.ts +271 -0
- package/src/modules/autopilot/push-support.ts +288 -0
- package/src/modules/autopilot/push.ts +661 -0
- package/src/modules/autopilot/recovery.ts +656 -0
- package/src/modules/autopilot/review-feedback.ts +651 -0
- package/src/modules/autopilot/review-support.ts +524 -0
- package/src/modules/autopilot/revision-run.ts +445 -0
- package/src/modules/autopilot/schemas.ts +485 -0
- package/src/modules/autopilot/state-mappers.ts +512 -0
- package/src/modules/autopilot/state-schemas.ts +451 -0
- package/src/modules/autopilot/state-store.ts +183 -0
- package/src/modules/autopilot/state.ts +255 -0
- package/src/modules/autopilot/triage-support.ts +234 -0
- package/src/modules/autopilot/triage.ts +156 -0
- package/src/modules/autopilot/utils.ts +145 -0
- package/src/modules/autopilot/worktree.ts +622 -0
- package/src/modules/autopilot-policy/config.ts +110 -0
- package/src/modules/autopilot-policy/index.ts +4 -0
- package/src/modules/autopilot-policy/risk.ts +359 -0
- package/src/modules/autopilot-policy/schemas.ts +284 -0
- package/src/modules/autopilot-policy/service.ts +304 -0
- package/src/modules/commands/actions.ts +112 -0
- package/src/modules/commands/handlers/index.ts +3 -0
- package/src/modules/commands/handlers/misc.ts +441 -0
- package/src/modules/commands/handlers/queue.ts +694 -0
- package/src/modules/commands/handlers/repo.ts +339 -0
- package/src/modules/commands/index.ts +5 -0
- package/src/modules/commands/registry.ts +157 -0
- package/src/modules/commands/runner.ts +152 -0
- package/src/modules/commands/schemas.ts +107 -0
- package/src/modules/commands/summaries.ts +92 -0
- package/src/modules/commands/utils.ts +113 -0
- package/src/modules/config/actions.ts +253 -0
- package/src/modules/config/events.ts +80 -0
- package/src/modules/config/files.ts +9 -0
- package/src/modules/config/history.ts +74 -0
- package/src/modules/config/index.ts +9 -0
- package/src/modules/config/mutations/dashboard.ts +319 -0
- package/src/modules/config/mutations/execution.ts +89 -0
- package/src/modules/config/mutations/models.ts +467 -0
- package/src/modules/config/mutations/providers.ts +163 -0
- package/src/modules/config/mutations/repos.ts +620 -0
- package/src/modules/config/read.ts +135 -0
- package/src/modules/config/result.ts +66 -0
- package/src/modules/config/schemas.ts +181 -0
- package/src/modules/docs-drift/index.ts +1 -0
- package/src/modules/docs-drift/service.ts +863 -0
- package/src/modules/execution/actions.ts +35 -0
- package/src/modules/execution/approvals.ts +322 -0
- package/src/modules/execution/exedev/checkouts.ts +356 -0
- package/src/modules/execution/exedev/context.ts +286 -0
- package/src/modules/execution/index.ts +7 -0
- package/src/modules/execution/policy.ts +102 -0
- package/src/modules/execution/run.ts +589 -0
- package/src/modules/execution/schemas.ts +116 -0
- package/src/modules/execution/scope.ts +137 -0
- package/src/modules/execution/store.ts +320 -0
- package/src/modules/execution/utils.ts +105 -0
- package/src/modules/execution-policy/index.ts +424 -0
- package/src/modules/flue/execution-context.ts +41 -0
- package/src/modules/github/actions.ts +334 -0
- package/src/modules/github/checks.ts +484 -0
- package/src/modules/github/client.ts +110 -0
- package/src/modules/github/comments.ts +204 -0
- package/src/modules/github/errors.ts +50 -0
- package/src/modules/github/index.ts +92 -0
- package/src/modules/github/issues.ts +116 -0
- package/src/modules/github/pr-file-cache.ts +264 -0
- package/src/modules/github/pull-requests.ts +384 -0
- package/src/modules/github/queue.ts +342 -0
- package/src/modules/github/reviews.ts +1421 -0
- package/src/modules/github/schemas.ts +794 -0
- package/src/modules/github/state-truncation.ts +31 -0
- package/src/modules/handoff/index.ts +2 -0
- package/src/modules/handoff/schemas.ts +61 -0
- package/src/modules/handoff/service.ts +587 -0
- package/src/modules/hygiene/index.ts +1 -0
- package/src/modules/hygiene/service.ts +513 -0
- package/src/modules/kilo/actions.ts +229 -0
- package/src/modules/kilo/ci-fix-run-reconcile.ts +299 -0
- package/src/modules/kilo/docs-drift-boundary.ts +178 -0
- package/src/modules/kilo/index.ts +8 -0
- package/src/modules/kilo/notifications.ts +295 -0
- package/src/modules/kilo/process.ts +637 -0
- package/src/modules/kilo/results/actions.ts +66 -0
- package/src/modules/kilo/results/gates.ts +227 -0
- package/src/modules/kilo/results/index.ts +23 -0
- package/src/modules/kilo/results/schemas.ts +112 -0
- package/src/modules/kilo/results/service.ts +512 -0
- package/src/modules/kilo/results/state.ts +508 -0
- package/src/modules/kilo/results/verify.ts +328 -0
- package/src/modules/kilo/revision-reconcile.ts +187 -0
- package/src/modules/kilo/runtime-facts.ts +128 -0
- package/src/modules/kilo/schemas.ts +265 -0
- package/src/modules/kilo/service.ts +714 -0
- package/src/modules/kilo/sessions-adapters.ts +343 -0
- package/src/modules/kilo/sessions.ts +446 -0
- package/src/modules/kilo/store.ts +689 -0
- package/src/modules/kilo/utils.ts +166 -0
- package/src/modules/learning/automation-health.ts +441 -0
- package/src/modules/learning/automation-memory.ts +179 -0
- package/src/modules/learning/index.ts +6 -0
- package/src/modules/learning/observability.ts +616 -0
- package/src/modules/learning/operator.ts +404 -0
- package/src/modules/learning/reviews/agents.ts +33 -0
- package/src/modules/learning/reviews/complete.ts +321 -0
- package/src/modules/learning/reviews/context.ts +145 -0
- package/src/modules/learning/reviews/events.ts +306 -0
- package/src/modules/learning/reviews/index.ts +6 -0
- package/src/modules/learning/reviews/pr-cadence.ts +157 -0
- package/src/modules/learning/reviews/pr-context.ts +749 -0
- package/src/modules/learning/reviews/prepare.ts +387 -0
- package/src/modules/learning/reviews/schemas.ts +184 -0
- package/src/modules/learning/reviews/store.ts +405 -0
- package/src/modules/learning/skill-patches/actions.ts +86 -0
- package/src/modules/learning/skill-patches/index.ts +3 -0
- package/src/modules/learning/skill-patches/schemas.ts +60 -0
- package/src/modules/learning/skill-patches/service.ts +571 -0
- package/src/modules/learning/skill-patches/support.ts +417 -0
- package/src/modules/memory/actions.ts +183 -0
- package/src/modules/memory/candidates.ts +525 -0
- package/src/modules/memory/events.ts +2 -0
- package/src/modules/memory/index.ts +6 -0
- package/src/modules/memory/prompt.ts +214 -0
- package/src/modules/memory/schemas.ts +170 -0
- package/src/modules/memory/service.ts +578 -0
- package/src/modules/memory/store.ts +489 -0
- package/src/modules/pr-events/actions.ts +191 -0
- package/src/modules/pr-events/index.ts +45 -0
- package/src/modules/pr-events/schemas.ts +186 -0
- package/src/modules/pr-events/service.ts +1414 -0
- package/src/modules/pr-events/target.ts +222 -0
- package/src/modules/pr-events/utils.ts +85 -0
- package/src/modules/pr-events/watermarks.ts +308 -0
- package/src/modules/pr-local-diffs/index.ts +334 -0
- package/src/modules/pr-review-assist/actions.ts +199 -0
- package/src/modules/pr-review-assist/index.ts +3 -0
- package/src/modules/pr-review-assist/schemas.ts +74 -0
- package/src/modules/pr-review-assist/service.ts +656 -0
- package/src/modules/prepared-diffs/actions.ts +132 -0
- package/src/modules/prepared-diffs/index.ts +53 -0
- package/src/modules/prepared-diffs/schemas.ts +255 -0
- package/src/modules/prepared-diffs/service.ts +777 -0
- package/src/modules/prepared-diffs/store.ts +606 -0
- package/src/modules/reports/index.ts +1 -0
- package/src/modules/reports/service.ts +322 -0
- package/src/modules/repos/index.ts +3 -0
- package/src/modules/repos/model-discovery.ts +233 -0
- package/src/modules/repos/providers.ts +194 -0
- package/src/modules/repos/registry.ts +232 -0
- package/src/modules/runtime/agent-config.ts +167 -0
- package/src/modules/runtime/doctor.ts +528 -0
- package/src/modules/runtime/env.ts +123 -0
- package/src/modules/runtime/index.ts +12 -0
- package/src/modules/runtime/local-api-auth.ts +43 -0
- package/src/modules/runtime/metrics.ts +211 -0
- package/src/modules/runtime/skills-actions.ts +141 -0
- package/src/modules/runtime/skills.ts +689 -0
- package/src/modules/runtime/soul.ts +68 -0
- package/src/modules/runtime/status-database.ts +252 -0
- package/src/modules/runtime/status-schema.ts +149 -0
- package/src/modules/runtime/status.ts +482 -0
- package/src/modules/runtime/subagents.ts +37 -0
- package/src/modules/runtime/utility-model.ts +47 -0
- package/src/modules/safety/index.ts +3 -0
- package/src/modules/safety/policy-entries.ts +2432 -0
- package/src/modules/safety/schemas.ts +63 -0
- package/src/modules/safety/service.ts +58 -0
- package/src/modules/safety/tools.ts +15 -0
- package/src/modules/scheduled-tasks/actions.ts +113 -0
- package/src/modules/scheduled-tasks/dispatch.ts +105 -0
- package/src/modules/scheduled-tasks/index.ts +6 -0
- package/src/modules/scheduled-tasks/schemas.ts +91 -0
- package/src/modules/scheduled-tasks/service.ts +296 -0
- package/src/modules/scheduled-tasks/store.ts +814 -0
- package/src/modules/scheduled-tasks/triggers.ts +87 -0
- package/src/modules/scheduler/actions.ts +37 -0
- package/src/modules/scheduler/dispatch.ts +126 -0
- package/src/modules/scheduler/index.ts +4 -0
- package/src/modules/scheduler/lease.ts +247 -0
- package/src/modules/scheduler/pr-watch-event-deltas.ts +367 -0
- package/src/modules/scheduler/pr-watch-events.ts +834 -0
- package/src/modules/scheduler/schemas.ts +79 -0
- package/src/modules/scheduler/service.ts +228 -0
- package/src/modules/scheduler/utils.ts +106 -0
- package/src/modules/scheduler/workflow-invocation.ts +40 -0
- package/src/modules/sessions/actions.ts +213 -0
- package/src/modules/sessions/active-session.ts +46 -0
- package/src/modules/sessions/agent-context.ts +146 -0
- package/src/modules/sessions/approval-nudges.ts +156 -0
- package/src/modules/sessions/events.ts +58 -0
- package/src/modules/sessions/index.ts +10 -0
- package/src/modules/sessions/queries.ts +252 -0
- package/src/modules/sessions/references.ts +113 -0
- package/src/modules/sessions/schemas.ts +263 -0
- package/src/modules/sessions/service.ts +845 -0
- package/src/modules/sessions/store.ts +559 -0
- package/src/modules/sessions/summaries.ts +129 -0
- package/src/modules/sessions/utils.ts +18 -0
- package/src/modules/watches/actions.ts +115 -0
- package/src/modules/watches/index.ts +6 -0
- package/src/modules/watches/polling.ts +245 -0
- package/src/modules/watches/references.ts +293 -0
- package/src/modules/watches/schemas.ts +156 -0
- package/src/modules/watches/service.ts +558 -0
- package/src/modules/watches/store.ts +398 -0
- package/src/modules/watches/utils.ts +51 -0
- package/src/modules/worktree-verification/index.ts +256 -0
- package/src/modules/worktrees/access.ts +129 -0
- package/src/modules/worktrees/actions.ts +108 -0
- package/src/modules/worktrees/cleanup.ts +98 -0
- package/src/modules/worktrees/errors.ts +38 -0
- package/src/modules/worktrees/git.ts +48 -0
- package/src/modules/worktrees/index.ts +5 -0
- package/src/modules/worktrees/locks.ts +192 -0
- package/src/modules/worktrees/paths.ts +209 -0
- package/src/modules/worktrees/queries.ts +31 -0
- package/src/modules/worktrees/schemas.ts +234 -0
- package/src/modules/worktrees/service.ts +657 -0
- package/src/modules/worktrees/store.ts +414 -0
- package/src/repo-edit/actions.ts +129 -0
- package/src/repo-edit/audit.ts +180 -0
- package/src/repo-edit/fuzzy-replace.ts +256 -0
- package/src/repo-edit/git.ts +784 -0
- package/src/repo-edit/index.ts +4 -0
- package/src/repo-edit/locks.ts +27 -0
- package/src/repo-edit/patch-parser.ts +212 -0
- package/src/repo-edit/patch-service.ts +572 -0
- package/src/repo-edit/path-safety.ts +294 -0
- package/src/repo-edit/schemas.ts +220 -0
- package/src/repo-edit/service.ts +488 -0
- package/src/repo-edit/support.ts +459 -0
- package/src/runtime-home/app-db/index.ts +73 -0
- package/src/runtime-home/app-db/migrate.ts +491 -0
- package/src/runtime-home/app-db/migrations/20260710061339_neondeck_pre_1_0_baseline/migration.sql +748 -0
- package/src/runtime-home/app-db/migrations/20260710061339_neondeck_pre_1_0_baseline/snapshot.json +7240 -0
- package/src/runtime-home/app-db/reconcile.ts +155 -0
- package/src/runtime-home/app-db/schema.ts +1118 -0
- package/src/runtime-home/bootstrap.ts +171 -0
- package/src/runtime-home/defaults.ts +42 -0
- package/src/runtime-home/files.ts +193 -0
- package/src/runtime-home/index.ts +68 -0
- package/src/runtime-home/paths.ts +75 -0
- package/src/runtime-home/schemas.ts +485 -0
- package/src/sandboxes/exedev.ts +676 -0
- package/src/server/app.ts +5 -0
- package/src/server/autopilot-push-dispatch.ts +326 -0
- package/src/server/create-app.ts +160 -0
- package/src/server/events/config-stream.ts +67 -0
- package/src/server/events/notification-stream.ts +49 -0
- package/src/server/events/session-stream.ts +49 -0
- package/src/server/http.ts +56 -0
- package/src/server/learning-hooks.ts +430 -0
- package/src/server/middleware.ts +81 -0
- package/src/server/routes/autopilot.ts +318 -0
- package/src/server/routes/commands.ts +12 -0
- package/src/server/routes/config.ts +124 -0
- package/src/server/routes/execution.ts +71 -0
- package/src/server/routes/github.ts +372 -0
- package/src/server/routes/handoff.ts +69 -0
- package/src/server/routes/kilo.ts +179 -0
- package/src/server/routes/learning.ts +384 -0
- package/src/server/routes/mcp.ts +301 -0
- package/src/server/routes/memory.ts +99 -0
- package/src/server/routes/metrics.ts +12 -0
- package/src/server/routes/notifications.ts +48 -0
- package/src/server/routes/repo-edit.ts +115 -0
- package/src/server/routes/reports.ts +127 -0
- package/src/server/routes/repos.ts +50 -0
- package/src/server/routes/runtime.ts +48 -0
- package/src/server/routes/safety.ts +13 -0
- package/src/server/routes/scheduled-tasks.ts +58 -0
- package/src/server/routes/scheduler.ts +13 -0
- package/src/server/routes/sessions.ts +216 -0
- package/src/server/routes/skills.ts +103 -0
- package/src/server/routes/watches.ts +81 -0
- package/src/server/routes/workflows.ts +21 -0
- package/src/server/routes/worktrees.ts +64 -0
- package/src/server/scheduler-workflow.ts +541 -0
- package/src/server/serve.ts +100 -0
- package/src/setup.ts +162 -0
- package/src/skills/github-gh/SKILL.md +56 -0
- package/src/skills/neon-ci-fix/SKILL.md +15 -0
- package/src/skills/neon-docs-fix/SKILL.md +15 -0
- package/src/skills/neon-issue-triage/SKILL.md +13 -0
- package/src/skills/neon-pr-review/SKILL.md +19 -0
- package/src/skills/neondeck/SKILL.md +123 -0
- package/src/skills/neondeck-handoff/SKILL.md +31 -0
- package/src/workflows/briefing.ts +14 -0
- package/src/workflows/command-run.ts +15 -0
- package/src/workflows/comment-pr-autofix-result.ts +10 -0
- package/src/workflows/curate_learning_store.ts +37 -0
- package/src/workflows/dev-doctor.ts +10 -0
- package/src/workflows/fix-pr-ci-failure.ts +10 -0
- package/src/workflows/fix-pr-ci.ts +15 -0
- package/src/workflows/fix-pr-review-feedback.ts +10 -0
- package/src/workflows/handoff_to_kilo.ts +10 -0
- package/src/workflows/prepare-pr-worktree.ts +10 -0
- package/src/workflows/promote_kilo_result.ts +10 -0
- package/src/workflows/push-pr-autofix.ts +10 -0
- package/src/workflows/reconcile_kilo_task.ts +10 -0
- package/src/workflows/review-pr-for-human.ts +15 -0
- package/src/workflows/review_conversation_for_learning.ts +37 -0
- package/src/workflows/review_kilo_result.ts +10 -0
- package/src/workflows/review_pr_batch_for_learning.ts +37 -0
- package/src/workflows/scheduled-agent-instruction.ts +16 -0
- package/src/workflows/scheduler-tick.ts +10 -0
- package/src/workflows/summarize_kilo_session.ts +25 -0
- package/src/workflows/triage-pr-event.ts +10 -0
- package/src/workflows/verify-pr-worktree.ts +10 -0
- package/src/workflows/verify-then-push-pr-autofix.ts +82 -0
- package/src/workflows/verify_kilo_result.ts +10 -0
- package/src/workflows/watch-pr.ts +10 -0
- package/web/dist/assets/GitHubPrReview-QK9oqeDs.js +2 -0
- package/web/dist/assets/MultiFileView-CMm6tA9f.js +2970 -0
- package/web/dist/assets/abap-CLvhMVsD.js +1 -0
- package/web/dist/assets/actionscript-3--17pq3dv.js +1 -0
- package/web/dist/assets/ada-C5qYipkI.js +1 -0
- package/web/dist/assets/andromeeda-vGVdxbeo.js +1 -0
- package/web/dist/assets/angular-html-BVBpGdXr.js +1 -0
- package/web/dist/assets/angular-ts-BfdufMKP.js +1 -0
- package/web/dist/assets/apache-U0d_L8uA.js +1 -0
- package/web/dist/assets/apex-VAyPSnFM.js +1 -0
- package/web/dist/assets/apl-DWBSSoBH.js +1 -0
- package/web/dist/assets/applescript-CCn79oCD.js +1 -0
- package/web/dist/assets/ara-4CJ0cIlV.js +1 -0
- package/web/dist/assets/asciidoc-DE70LPWp.js +1 -0
- package/web/dist/assets/asm-Cmm7eHzH.js +1 -0
- package/web/dist/assets/astro-3LtMP0Sq.js +1 -0
- package/web/dist/assets/aurora-x-CDeNXAV0.js +1 -0
- package/web/dist/assets/awk-BWXHIvNe.js +1 -0
- package/web/dist/assets/ayu-dark-DluEY0Gj.js +1 -0
- package/web/dist/assets/ayu-light-C3h-C4tm.js +1 -0
- package/web/dist/assets/ayu-mirage-Bqwy1Gya.js +1 -0
- package/web/dist/assets/ballerina-B7ZEbQpA.js +1 -0
- package/web/dist/assets/bat-Bo4NYOV-.js +1 -0
- package/web/dist/assets/beancount-D-usSTwE.js +1 -0
- package/web/dist/assets/berry-DKpUyyne.js +1 -0
- package/web/dist/assets/bibtex-Ci_nEsc7.js +1 -0
- package/web/dist/assets/bicep-CUHmPFLl.js +1 -0
- package/web/dist/assets/bird2-C6vDhewU.js +1 -0
- package/web/dist/assets/blade-llJRbbtR.js +1 -0
- package/web/dist/assets/bsl-BkkzgIyY.js +1 -0
- package/web/dist/assets/c-Wt1voDr2.js +1 -0
- package/web/dist/assets/c3-BFHwR3_K.js +1 -0
- package/web/dist/assets/cadence-CQ2zXKGN.js +1 -0
- package/web/dist/assets/cairo-DLTphjLi.js +1 -0
- package/web/dist/assets/catppuccin-frappe-3VR1Za6u.js +1 -0
- package/web/dist/assets/catppuccin-latte-DwIHMF0Q.js +1 -0
- package/web/dist/assets/catppuccin-macchiato-DYnBP6_5.js +1 -0
- package/web/dist/assets/catppuccin-mocha-DYhrFGRu.js +1 -0
- package/web/dist/assets/clarity-SemFz856.js +1 -0
- package/web/dist/assets/clojure-DqKBuwfJ.js +1 -0
- package/web/dist/assets/cmake-Bj61d0ZC.js +1 -0
- package/web/dist/assets/cobol-x_HIyl2P.js +1 -0
- package/web/dist/assets/codeowners-C8r90Shi.js +1 -0
- package/web/dist/assets/codeql-oeQT6MSM.js +1 -0
- package/web/dist/assets/coffee-CThvmt4R.js +1 -0
- package/web/dist/assets/common-lisp-Cv5bFMCO.js +1 -0
- package/web/dist/assets/coq-BrsZFFmf.js +1 -0
- package/web/dist/assets/cpp-NtAeskI3.js +1 -0
- package/web/dist/assets/crystal-DNu_sX0G.js +1 -0
- package/web/dist/assets/csharp-oqKa8noW.js +1 -0
- package/web/dist/assets/css-DJp_X0uY.js +1 -0
- package/web/dist/assets/csv-Dx-8-gkx.js +1 -0
- package/web/dist/assets/cue-CE9AQfxI.js +1 -0
- package/web/dist/assets/cypher-ClKdZ_lG.js +1 -0
- package/web/dist/assets/d-qD-0Kul2.js +1 -0
- package/web/dist/assets/dark-plus-Cs2F2srj.js +1 -0
- package/web/dist/assets/dart-CnvKMtbv.js +1 -0
- package/web/dist/assets/dax-BkyTk9wS.js +1 -0
- package/web/dist/assets/desktop-Dlh5hvp9.js +1 -0
- package/web/dist/assets/diff-woXpYk--.js +1 -0
- package/web/dist/assets/docker-IyjqRm3v.js +1 -0
- package/web/dist/assets/dotenv-_5a1GRtc.js +1 -0
- package/web/dist/assets/dracula-BHWKrbxM.js +1 -0
- package/web/dist/assets/dracula-soft-5eyTD99u.js +1 -0
- package/web/dist/assets/dream-maker-DW3nJb8Q.js +1 -0
- package/web/dist/assets/edge-ozw5tpLl.js +1 -0
- package/web/dist/assets/elixir-VhA6FeZt.js +1 -0
- package/web/dist/assets/elm-dREJmIFz.js +1 -0
- package/web/dist/assets/emacs-lisp-B4R74twV.js +1 -0
- package/web/dist/assets/erb-CIg6G69l.js +1 -0
- package/web/dist/assets/erlang-Cphh6RMH.js +1 -0
- package/web/dist/assets/everforest-dark-sB-x3p7T.js +1 -0
- package/web/dist/assets/everforest-light-Df2xbC6M.js +1 -0
- package/web/dist/assets/fennel-DQxkIbk2.js +1 -0
- package/web/dist/assets/fish-BJitypiv.js +1 -0
- package/web/dist/assets/fluent-C03EYrpw.js +1 -0
- package/web/dist/assets/fortran-fixed-form-DEKoE2YW.js +1 -0
- package/web/dist/assets/fortran-free-form-CYNrtFtB.js +1 -0
- package/web/dist/assets/fsharp-D13ZGOAj.js +1 -0
- package/web/dist/assets/gdresource-C0sCabJj.js +1 -0
- package/web/dist/assets/gdscript-Cp2uCuqX.js +1 -0
- package/web/dist/assets/gdshader-CBce3t8t.js +1 -0
- package/web/dist/assets/genie-CV2tkWYe.js +1 -0
- package/web/dist/assets/gherkin-DExj1W_8.js +1 -0
- package/web/dist/assets/git-commit-BSykSTBG.js +1 -0
- package/web/dist/assets/git-rebase-B44mJPta.js +1 -0
- package/web/dist/assets/github-dark-C-LZuMrd.js +1 -0
- package/web/dist/assets/github-dark-default-DXG-b-1a.js +1 -0
- package/web/dist/assets/github-dark-dimmed-Bx1FflLF.js +1 -0
- package/web/dist/assets/github-dark-high-contrast-B_tTalzw.js +1 -0
- package/web/dist/assets/github-light-EUqPIrTm.js +1 -0
- package/web/dist/assets/github-light-default-BXViO-2h.js +1 -0
- package/web/dist/assets/github-light-high-contrast-B68TUdTA.js +1 -0
- package/web/dist/assets/gleam-CSRkHgEL.js +1 -0
- package/web/dist/assets/glimmer-js-vH_gHG0-.js +1 -0
- package/web/dist/assets/glimmer-ts--abOzSAQ.js +1 -0
- package/web/dist/assets/glsl-Dv5r7kPw.js +1 -0
- package/web/dist/assets/gn-ilITqXS6.js +1 -0
- package/web/dist/assets/gnuplot-7GGW24-e.js +1 -0
- package/web/dist/assets/go-rLFTqkRN.js +1 -0
- package/web/dist/assets/graphql-CB4jsw2E.js +1 -0
- package/web/dist/assets/groovy-CacY0gHj.js +1 -0
- package/web/dist/assets/gruvbox-dark-hard-C820rvS2.js +1 -0
- package/web/dist/assets/gruvbox-dark-medium-BPjhmG05.js +1 -0
- package/web/dist/assets/gruvbox-dark-soft-MrdJrrXF.js +1 -0
- package/web/dist/assets/gruvbox-light-hard-BC_s9l72.js +1 -0
- package/web/dist/assets/gruvbox-light-medium-BAWPOn9u.js +1 -0
- package/web/dist/assets/gruvbox-light-soft-BSMLrYjP.js +1 -0
- package/web/dist/assets/hack-DvEYX148.js +1 -0
- package/web/dist/assets/haml-zE6W3STP.js +1 -0
- package/web/dist/assets/handlebars-CzBR2SDs.js +1 -0
- package/web/dist/assets/haskell-D8IpX4py.js +1 -0
- package/web/dist/assets/haxe-OTjmBuCE.js +1 -0
- package/web/dist/assets/hcl-Dh228itO.js +1 -0
- package/web/dist/assets/hjson-CxZEssPk.js +1 -0
- package/web/dist/assets/hlsl-Cvrh5tZx.js +1 -0
- package/web/dist/assets/horizon-CE9ld1lL.js +1 -0
- package/web/dist/assets/horizon-bright-DSNQnXHK.js +1 -0
- package/web/dist/assets/houston-CsvMBhTu.js +1 -0
- package/web/dist/assets/html-C8UlPnhE.js +1 -0
- package/web/dist/assets/html-derivative-CY6NRz-J.js +1 -0
- package/web/dist/assets/http-Cyd7bS_S.js +1 -0
- package/web/dist/assets/hurl-CWPsiEpf.js +1 -0
- package/web/dist/assets/hxml-B0Qn7Nwc.js +1 -0
- package/web/dist/assets/hy-CZbG8q4J.js +1 -0
- package/web/dist/assets/imba-DsUTQ-LC.js +1 -0
- package/web/dist/assets/index-DqZpo0Jd.js +44 -0
- package/web/dist/assets/index-_jKCE4ks.css +2 -0
- package/web/dist/assets/ini-B5eOa1yu.js +1 -0
- package/web/dist/assets/java-CGc3VwQr.js +1 -0
- package/web/dist/assets/javascript-CUt1pgmJ.js +1 -0
- package/web/dist/assets/jinja-CD-Z-FLd.js +1 -0
- package/web/dist/assets/jison-imPNup1l.js +1 -0
- package/web/dist/assets/json-Bg9ijW3F.js +1 -0
- package/web/dist/assets/json5-BR5RXkoi.js +1 -0
- package/web/dist/assets/jsonc-CYpm1nAK.js +1 -0
- package/web/dist/assets/jsonl-CmCQp5Yx.js +1 -0
- package/web/dist/assets/jsonnet-CJTPZ8u_.js +1 -0
- package/web/dist/assets/jssm-DXw9l8Rf.js +1 -0
- package/web/dist/assets/jsx-CY6oMTks.js +1 -0
- package/web/dist/assets/julia-Dc3O-irA.js +1 -0
- package/web/dist/assets/just-BhOq_Kbv.js +1 -0
- package/web/dist/assets/kanagawa-dragon-CXtmUGW6.js +1 -0
- package/web/dist/assets/kanagawa-lotus-BN08jTvb.js +1 -0
- package/web/dist/assets/kanagawa-wave-CTweb8Dz.js +1 -0
- package/web/dist/assets/kdl-CsD5j6eV.js +1 -0
- package/web/dist/assets/kotlin-DhhofPvG.js +1 -0
- package/web/dist/assets/kusto-C7mF5XQf.js +1 -0
- package/web/dist/assets/laserwave-C_8bwKvT.js +1 -0
- package/web/dist/assets/latex-Cu4Y1d5w.js +1 -0
- package/web/dist/assets/lean-CewbzKMR.js +1 -0
- package/web/dist/assets/less-DVTAwKKz.js +1 -0
- package/web/dist/assets/light-plus-DVQuIRkW.js +1 -0
- package/web/dist/assets/liquid-CvXMrjlQ.js +1 -0
- package/web/dist/assets/llvm-Cm23YOpf.js +1 -0
- package/web/dist/assets/log-BNLmms1o.js +1 -0
- package/web/dist/assets/logo-Cluzi2Zq.js +1 -0
- package/web/dist/assets/lua-BjLEUjKY.js +1 -0
- package/web/dist/assets/luau-FMPmPwt6.js +1 -0
- package/web/dist/assets/make-Dixweg8N.js +1 -0
- package/web/dist/assets/markdown-BYOwaDjH.js +1 -0
- package/web/dist/assets/marko-DvhNOisQ.js +1 -0
- package/web/dist/assets/material-theme-Bm3Qr25_.js +1 -0
- package/web/dist/assets/material-theme-darker-2IIEA8gg.js +1 -0
- package/web/dist/assets/material-theme-lighter-uhdI0v04.js +1 -0
- package/web/dist/assets/material-theme-ocean-CHQ94UKr.js +1 -0
- package/web/dist/assets/material-theme-palenight-B5W6OYN7.js +1 -0
- package/web/dist/assets/matlab-D7qyCx1q.js +1 -0
- package/web/dist/assets/mdc-Bm9TpL1X.js +1 -0
- package/web/dist/assets/mdx-DQZ5AkYe.js +1 -0
- package/web/dist/assets/mermaid-Bk4SNUv9.js +1 -0
- package/web/dist/assets/min-dark-BSWPekZh.js +1 -0
- package/web/dist/assets/min-light-DDpmG2fV.js +1 -0
- package/web/dist/assets/mipsasm-BMqwQI7S.js +1 -0
- package/web/dist/assets/mojo-BgCJLMeH.js +1 -0
- package/web/dist/assets/monokai-CdkpiU2Y.js +1 -0
- package/web/dist/assets/moonbit-CaWjb8XO.js +1 -0
- package/web/dist/assets/move-B1IS1UjX.js +1 -0
- package/web/dist/assets/narrat-_X_XdTYD.js +1 -0
- package/web/dist/assets/nextflow-BJtWHP5T.js +1 -0
- package/web/dist/assets/nextflow-groovy-DJMQeKeT.js +1 -0
- package/web/dist/assets/nginx-Bhc82uuv.js +1 -0
- package/web/dist/assets/night-owl-DhmEMT88.js +1 -0
- package/web/dist/assets/night-owl-light-eJ-hLW7d.js +1 -0
- package/web/dist/assets/nim-DXTVBFnF.js +1 -0
- package/web/dist/assets/nix-IvuFDN5E.js +1 -0
- package/web/dist/assets/nord-Cb4Vim4T.js +1 -0
- package/web/dist/assets/nushell-DcLAeLz5.js +1 -0
- package/web/dist/assets/objective-c-D1A_Heim.js +1 -0
- package/web/dist/assets/objective-cpp-BsSzOQcm.js +1 -0
- package/web/dist/assets/ocaml-O90oeIOV.js +1 -0
- package/web/dist/assets/odin-B1RWQWA5.js +1 -0
- package/web/dist/assets/one-dark-pro-CLwyXe_n.js +1 -0
- package/web/dist/assets/one-light-D7Lr4KcI.js +1 -0
- package/web/dist/assets/openscad-BUDT5pXO.js +1 -0
- package/web/dist/assets/pascal-4ZHwLPI5.js +1 -0
- package/web/dist/assets/perl-C7veXV9z.js +1 -0
- package/web/dist/assets/php-BRiuMnnr.js +1 -0
- package/web/dist/assets/pierre-dark-CpLgRqie.js +1 -0
- package/web/dist/assets/pierre-dark-protanopia-deuteranopia-B35FxJx-.js +1 -0
- package/web/dist/assets/pierre-dark-soft-kZQmAZld.js +1 -0
- package/web/dist/assets/pierre-dark-tritanopia-CpjhbsIL.js +1 -0
- package/web/dist/assets/pierre-dark-vibrant-CpQYzh95.js +1 -0
- package/web/dist/assets/pierre-light-CoaEpmwp.js +1 -0
- package/web/dist/assets/pierre-light-protanopia-deuteranopia-0fSaH845.js +1 -0
- package/web/dist/assets/pierre-light-soft-lWLdNTOI.js +1 -0
- package/web/dist/assets/pierre-light-tritanopia-CEbqgOJL.js +1 -0
- package/web/dist/assets/pierre-light-vibrant-D80Fkn33.js +1 -0
- package/web/dist/assets/pkl-ot-7Btpt.js +1 -0
- package/web/dist/assets/plastic-DQwYfKfQ.js +1 -0
- package/web/dist/assets/plsql-DGHpHOYJ.js +1 -0
- package/web/dist/assets/po-BiJDBrnU.js +1 -0
- package/web/dist/assets/poimandres-DRFjx7u4.js +1 -0
- package/web/dist/assets/polar-C7UOKdEL.js +1 -0
- package/web/dist/assets/postcss-BXeXVLqQ.js +1 -0
- package/web/dist/assets/powerquery-DNMTfnFr.js +1 -0
- package/web/dist/assets/powershell-DshXNtvi.js +1 -0
- package/web/dist/assets/prisma-BsRQq5mF.js +1 -0
- package/web/dist/assets/prolog-iXnhIJG7.js +1 -0
- package/web/dist/assets/proto-DB4EqR-F.js +1 -0
- package/web/dist/assets/pug-C5hz5LQ7.js +1 -0
- package/web/dist/assets/puppet-CDv2pdJW.js +1 -0
- package/web/dist/assets/purescript-9MfHhQsQ.js +1 -0
- package/web/dist/assets/python-gzcpVVnB.js +1 -0
- package/web/dist/assets/qml-BdUV3aTS.js +1 -0
- package/web/dist/assets/qmldir-DCQb3MpD.js +1 -0
- package/web/dist/assets/qss-Fe1Jh2GI.js +1 -0
- package/web/dist/assets/r-8R7vtdQc.js +1 -0
- package/web/dist/assets/racket-DcIDlBhZ.js +1 -0
- package/web/dist/assets/raku-B3gFvitq.js +1 -0
- package/web/dist/assets/razor-DRL52XO2.js +1 -0
- package/web/dist/assets/red-CJ3rzSJv.js +1 -0
- package/web/dist/assets/reg-CRGYupPL.js +1 -0
- package/web/dist/assets/regexp-Omp9DhTb.js +1 -0
- package/web/dist/assets/rel-BtDbiS_P.js +1 -0
- package/web/dist/assets/riscv-Ckw8ddFX.js +1 -0
- package/web/dist/assets/rolldown-runtime-QTnfLwEv.js +1 -0
- package/web/dist/assets/ron-VUp2lXgN.js +1 -0
- package/web/dist/assets/rose-pine-BthvhNj6.js +1 -0
- package/web/dist/assets/rose-pine-dawn-Dg85fqjY.js +1 -0
- package/web/dist/assets/rose-pine-moon-hon4tzzS.js +1 -0
- package/web/dist/assets/rosmsg-CAekHB0j.js +1 -0
- package/web/dist/assets/rst-BHX71KW9.js +1 -0
- package/web/dist/assets/ruby-B--HzjGU.js +1 -0
- package/web/dist/assets/rust-Cfkwpbl8.js +1 -0
- package/web/dist/assets/sas-DrLaYOK_.js +1 -0
- package/web/dist/assets/sass-DXrisJhu.js +1 -0
- package/web/dist/assets/scala-DKOlJaKm.js +1 -0
- package/web/dist/assets/scheme-DQCgrYNe.js +1 -0
- package/web/dist/assets/scss-DdSxiZKl.js +1 -0
- package/web/dist/assets/sdbl-bTVj8UrX.js +1 -0
- package/web/dist/assets/shaderlab-TOUzSsQk.js +1 -0
- package/web/dist/assets/shellscript-DwcUjJBL.js +1 -0
- package/web/dist/assets/shellsession-CPZkydE6.js +1 -0
- package/web/dist/assets/slack-dark-DnToyrRv.js +1 -0
- package/web/dist/assets/slack-ochin-B2OO5cIa.js +1 -0
- package/web/dist/assets/smalltalk-B16xEiuN.js +1 -0
- package/web/dist/assets/snazzy-light-4G7pJPwS.js +1 -0
- package/web/dist/assets/solarized-dark-DV17i1UV.js +1 -0
- package/web/dist/assets/solarized-light-DSh2HLQt.js +1 -0
- package/web/dist/assets/solidity-CKzVLygQ.js +1 -0
- package/web/dist/assets/soy-Br5FhD7c.js +1 -0
- package/web/dist/assets/sparql-D_iOobhT.js +1 -0
- package/web/dist/assets/splunk-BC2Px7Mm.js +1 -0
- package/web/dist/assets/sql-DNssxck8.js +1 -0
- package/web/dist/assets/ssh-config-BgfXC-Er.js +1 -0
- package/web/dist/assets/stata-DXn1tqOr.js +1 -0
- package/web/dist/assets/stylus-B6D30XZt.js +1 -0
- package/web/dist/assets/surfaces-B8Ko8AJ3.js +1 -0
- package/web/dist/assets/surrealql-IeLNQw0f.js +1 -0
- package/web/dist/assets/svelte-DOdLCIlh.js +1 -0
- package/web/dist/assets/swift-DonLKvLd.js +1 -0
- package/web/dist/assets/synthwave-84-nFMaYfgc.js +1 -0
- package/web/dist/assets/system-verilog-DJ5XKQeo.js +1 -0
- package/web/dist/assets/systemd-BxMlprV5.js +1 -0
- package/web/dist/assets/talonscript-CohzipZa.js +1 -0
- package/web/dist/assets/tasl-DMoTqEGO.js +1 -0
- package/web/dist/assets/tcl-CZd0xW_V.js +1 -0
- package/web/dist/assets/templ-CIwIngms.js +1 -0
- package/web/dist/assets/terraform-DswuEJGm.js +1 -0
- package/web/dist/assets/tex-D8QMumu5.js +1 -0
- package/web/dist/assets/tokyo-night-oM2G3aXe.js +1 -0
- package/web/dist/assets/toml-CcmNWLt0.js +1 -0
- package/web/dist/assets/ts-tags-BMVY4q-l.js +1 -0
- package/web/dist/assets/tsv-sltzmVWM.js +1 -0
- package/web/dist/assets/tsx-5Eka4NBX.js +1 -0
- package/web/dist/assets/turtle-ByJddavk.js +1 -0
- package/web/dist/assets/twig-C8o_5mgw.js +1 -0
- package/web/dist/assets/typescript-DOu2WMV5.js +1 -0
- package/web/dist/assets/typespec-BRdr0IET.js +1 -0
- package/web/dist/assets/typst-DI99ib-x.js +1 -0
- package/web/dist/assets/v-DETTlOr0.js +1 -0
- package/web/dist/assets/vala-zf12oZj6.js +1 -0
- package/web/dist/assets/vb-Djn5o6TS.js +1 -0
- package/web/dist/assets/verilog-CiiDBU1e.js +1 -0
- package/web/dist/assets/vesper-DdrHHSXu.js +1 -0
- package/web/dist/assets/vhdl-BroJfC0k.js +1 -0
- package/web/dist/assets/viml-DvXPmvsu.js +1 -0
- package/web/dist/assets/vitesse-black-fwtXNY1n.js +1 -0
- package/web/dist/assets/vitesse-dark-BZCL-v6S.js +1 -0
- package/web/dist/assets/vitesse-light-VbXTXTou.js +1 -0
- package/web/dist/assets/vue-BU18DNDL.js +1 -0
- package/web/dist/assets/vue-html-BeluIYX0.js +1 -0
- package/web/dist/assets/vue-vine-DGUAbOCX.js +1 -0
- package/web/dist/assets/vyper-CgoNMtux.js +1 -0
- package/web/dist/assets/wasm-BnjxR4X6.js +1 -0
- package/web/dist/assets/wasm-ByWQv1Qj.js +1 -0
- package/web/dist/assets/wenyan-C8pVoKbM.js +1 -0
- package/web/dist/assets/wgsl-BsKzXJz4.js +1 -0
- package/web/dist/assets/wikitext-ClFFjSW2.js +1 -0
- package/web/dist/assets/wit-DdvCle-K.js +1 -0
- package/web/dist/assets/wolfram-DLL8P-h_.js +1 -0
- package/web/dist/assets/worker-CBKQOXEl.js +160 -0
- package/web/dist/assets/xml-DIqSwXR3.js +1 -0
- package/web/dist/assets/xsl-Ct_-YIAy.js +1 -0
- package/web/dist/assets/yaml-DTtCYNlS.js +1 -0
- package/web/dist/assets/zenscript-BnlCZFoB.js +1 -0
- package/web/dist/assets/zig-CMLA9XwU.js +1 -0
- package/web/dist/icons/neondeck-icon-192.png +0 -0
- package/web/dist/icons/neondeck-icon-512.png +0 -0
- package/web/dist/icons/neondeck-icon.svg +41 -0
- package/web/dist/icons/neondeck-maskable-512.png +0 -0
- package/web/dist/index.html +24 -0
- package/web/dist/manifest.webmanifest +28 -0
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
## Unreleased
|
|
4
|
+
|
|
5
|
+
## 1.0.0-beta.4 - 2026-07-12
|
|
6
|
+
|
|
7
|
+
- fix(runtime): make concurrent runtime-home initialization atomic
|
|
8
|
+
- fix(flue): expose command, watch, scheduler, GitHub, and doctor operations through Flue actions/workflows
|
|
9
|
+
- feat(release): add release watch command and default-branch check polling
|
|
10
|
+
- feat(dev): add local dev doctor command and diagnostics action
|
|
11
|
+
- feat(dashboard): add runtime overview panel for home, repos, jobs, and skills
|
|
12
|
+
- feat(watches): add automatic PR watch polling and an active watches panel
|
|
13
|
+
- feat(commands): add Neon slash command workflows and dashboard buttons
|
|
14
|
+
- feat(setup): add explicit runtime home setup command
|
|
15
|
+
- feat(skills): add runtime skill discovery, loading, and reload actions
|
|
16
|
+
- feat(scheduler): add durable scheduled jobs, notifications, and blueprint automations
|
|
17
|
+
- feat(watches): add persistent PR watch actions with quiet refresh semantics
|
|
18
|
+
- feat(repos): add repo registry API and registry-aware GitHub PR queries
|
|
19
|
+
- fix(config): reject empty self-configuration action inputs
|
|
20
|
+
- fix(config): audit self-configuration mutations and require confirmation for destructive actions
|
|
21
|
+
- feat(config): add Valibot-backed Neondeck self-configuration actions for repos and schedules
|
|
22
|
+
- feat(runtime): add validated Neondeck runtime home bootstrap with seeded config, runtime skill, and separate app/Flue SQLite state
|
package/DEVELOPMENT.md
ADDED
|
@@ -0,0 +1,310 @@
|
|
|
1
|
+
# Development
|
|
2
|
+
|
|
3
|
+
This file is for people working inside this repository. The root
|
|
4
|
+
[`README.md`](./README.md) is the high-level landing page; the public docs site
|
|
5
|
+
under `docs/` carries the detailed user-facing guides.
|
|
6
|
+
|
|
7
|
+
## Requirements
|
|
8
|
+
|
|
9
|
+
- Node 26.4.0 or newer
|
|
10
|
+
- A KiloCode, OpenAI, or Anthropic API key for the configured Flue model
|
|
11
|
+
provider
|
|
12
|
+
- A GitHub token for GitHub-backed panels and workflows
|
|
13
|
+
|
|
14
|
+
Use any Node installer or version manager. With `fnm`, that looks like:
|
|
15
|
+
|
|
16
|
+
```sh
|
|
17
|
+
fnm install 26.4.0
|
|
18
|
+
fnm use 26.4.0
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
Then install dependencies:
|
|
22
|
+
|
|
23
|
+
```sh
|
|
24
|
+
npm install
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
## First Run
|
|
28
|
+
|
|
29
|
+
Run the guided setup wizard:
|
|
30
|
+
|
|
31
|
+
```sh
|
|
32
|
+
npm run init
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
The wizard prepares the runtime home, writes local secrets to
|
|
36
|
+
`$NEONDECK_HOME/.env`, tunes `SOUL.md`, configures the selected model provider,
|
|
37
|
+
optionally sets a low-cost utility model, adds local git checkouts, applies a
|
|
38
|
+
dashboard preset, and can create command preapprovals.
|
|
39
|
+
|
|
40
|
+
The CLI is also the base for direct command-and-control surfaces:
|
|
41
|
+
|
|
42
|
+
```sh
|
|
43
|
+
npm run cli -- status
|
|
44
|
+
npm run cli -- doctor
|
|
45
|
+
npm run cli -- db status
|
|
46
|
+
npm run cli -- repo add ~/dev/neondeck
|
|
47
|
+
npm run cli -- watch-pr pandemicsyn/neondeck#123
|
|
48
|
+
npm run cli -- tui
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
## Runtime Home And Secrets
|
|
52
|
+
|
|
53
|
+
Packaged/local app secrets live in the runtime home:
|
|
54
|
+
|
|
55
|
+
```text
|
|
56
|
+
$NEONDECK_HOME/.env
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
For checkout-based development, repo-root `.env` is also supported as a
|
|
60
|
+
dev-only fallback when the runtime-home file does not define a value.
|
|
61
|
+
|
|
62
|
+
```sh
|
|
63
|
+
KILOCODE_API_KEY=...
|
|
64
|
+
KILOCODE_ORGANIZATION_ID=...
|
|
65
|
+
OPENAI_API_KEY=...
|
|
66
|
+
ANTHROPIC_API_KEY=...
|
|
67
|
+
GITHUB_TOKEN=...
|
|
68
|
+
GITHUB_LOGIN=...
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
Neondeck resolves runtime home in this order:
|
|
72
|
+
|
|
73
|
+
```text
|
|
74
|
+
NEONDECK_HOME
|
|
75
|
+
XDG_CONFIG_HOME/neondeck
|
|
76
|
+
~/.config/neondeck
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
The runtime home contains `.env`, `config.json`, `mcp.json`, `repos.json`,
|
|
80
|
+
`dashboard.json`, `SOUL.md`, `skills/`, and separate
|
|
81
|
+
`data/neondeck.db` and `data/flue.db` databases. Neondeck app database
|
|
82
|
+
migrations are shipped with the package and auto-apply before app code touches
|
|
83
|
+
`data/neondeck.db`; pre-migration backups are kept under `data/backups/`.
|
|
84
|
+
|
|
85
|
+
Initialize or validate the runtime home explicitly without starting the server:
|
|
86
|
+
|
|
87
|
+
```sh
|
|
88
|
+
npm run setup
|
|
89
|
+
npm run setup -- --home ./data/dev-home
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
For new installs, prefer `npm run init`; `npm run setup` is the lower-level
|
|
93
|
+
non-interactive initializer.
|
|
94
|
+
|
|
95
|
+
## Local Development
|
|
96
|
+
|
|
97
|
+
```sh
|
|
98
|
+
npm run dev
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
Open `http://127.0.0.1:5173/`.
|
|
102
|
+
|
|
103
|
+
The dev command runs the Flue/Hono backend and Vite dashboard together. Runtime
|
|
104
|
+
home, repository, MCP server/approval, scheduler, and skill state are visible in
|
|
105
|
+
the Runtime Overview panel.
|
|
106
|
+
|
|
107
|
+
Neon command workflows can be run from dashboard controls, typed into chat, or
|
|
108
|
+
invoked through Flue:
|
|
109
|
+
|
|
110
|
+
```sh
|
|
111
|
+
curl -X POST 'http://127.0.0.1:5173/api/flue/workflows/command-run?wait=result' \
|
|
112
|
+
-H 'Content-Type: application/json' \
|
|
113
|
+
-d '{"input":{"command":"/briefing"}}'
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
Common commands include `/repo-status`, `/review-queue`, `/review-pr <ref>`,
|
|
117
|
+
`/fix-ci [ref]`, `/explain-ci [--report] [ref]`, `/summarize-pr [ref]`,
|
|
118
|
+
`/draft-pr-description [repo]`, `/prepare-pr [repo]`, `/review-local [repo]`,
|
|
119
|
+
`/briefing`, `/reasoning [level]`, `/memory ...`, `/dev-doctor`,
|
|
120
|
+
`/watch-pr <ref>`.
|
|
121
|
+
|
|
122
|
+
## CLI Surface
|
|
123
|
+
|
|
124
|
+
From a source checkout, use `npm run cli -- <command>`. After package install,
|
|
125
|
+
use `neondeck <command>`.
|
|
126
|
+
|
|
127
|
+
Available top-level commands:
|
|
128
|
+
|
|
129
|
+
```sh
|
|
130
|
+
npm run cli -- init
|
|
131
|
+
npm run cli -- dev
|
|
132
|
+
npm run cli -- serve
|
|
133
|
+
npm run cli -- open [profile]
|
|
134
|
+
npm run cli -- service status
|
|
135
|
+
npm run cli -- status
|
|
136
|
+
npm run cli -- repo list
|
|
137
|
+
npm run cli -- mcp list
|
|
138
|
+
npm run cli -- db status
|
|
139
|
+
npm run cli -- learning status
|
|
140
|
+
npm run cli -- watch-pr <repo#number>
|
|
141
|
+
npm run cli -- note "message"
|
|
142
|
+
npm run cli -- register-pr <repo#number>
|
|
143
|
+
npm run cli -- doctor
|
|
144
|
+
npm run cli -- tui
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
The `tui` command exists as the future OpenTUI entrypoint.
|
|
148
|
+
|
|
149
|
+
## Checks
|
|
150
|
+
|
|
151
|
+
Fast loop:
|
|
152
|
+
|
|
153
|
+
```sh
|
|
154
|
+
npm run check
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
Individual checks:
|
|
158
|
+
|
|
159
|
+
```sh
|
|
160
|
+
npm run lint
|
|
161
|
+
npm run typecheck
|
|
162
|
+
npm run test
|
|
163
|
+
npm run test:integration
|
|
164
|
+
npm run test:all
|
|
165
|
+
npm run format:check
|
|
166
|
+
npm run db:check
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
Full verification:
|
|
170
|
+
|
|
171
|
+
```sh
|
|
172
|
+
npm run verify
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
`npm run check` is the fast local loop: lint, import-layer check, database
|
|
176
|
+
migration check, typecheck, and the unit Vitest suite. The slower
|
|
177
|
+
git/worktree/Kilo/autopilot workflow coverage lives under
|
|
178
|
+
`npm run test:integration`, while `npm run test:all` runs every Vitest suite.
|
|
179
|
+
`npm run verify` keeps the full pre-release path: lint, import-layer check,
|
|
180
|
+
database migration check, typecheck, all tests, production builds, npm package
|
|
181
|
+
smoke checks, and format check.
|
|
182
|
+
|
|
183
|
+
## Database Migrations
|
|
184
|
+
|
|
185
|
+
Use Drizzle migrations for Neondeck app state:
|
|
186
|
+
|
|
187
|
+
```sh
|
|
188
|
+
npm run db:generate -- --name <migration_name>
|
|
189
|
+
npm run db:check
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
Keep Neondeck app state separate from Flue runtime state unless the roadmap says
|
|
193
|
+
otherwise.
|
|
194
|
+
|
|
195
|
+
## Build And Package
|
|
196
|
+
|
|
197
|
+
```sh
|
|
198
|
+
npm run typecheck
|
|
199
|
+
npm run build
|
|
200
|
+
npm start
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
Production app release helpers:
|
|
204
|
+
|
|
205
|
+
```sh
|
|
206
|
+
npm run release:app
|
|
207
|
+
npm run release:npm:check
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
After a production build or package install:
|
|
211
|
+
|
|
212
|
+
```sh
|
|
213
|
+
neondeck service install
|
|
214
|
+
neondeck open
|
|
215
|
+
neondeck open sidebar
|
|
216
|
+
```
|
|
217
|
+
|
|
218
|
+
`neondeck service install` creates a macOS launchd agent or Linux systemd user
|
|
219
|
+
unit with absolute Node and built server entry paths and logs under
|
|
220
|
+
runtime-home `data/logs/server.log`. `neondeck open` probes `/api/health`,
|
|
221
|
+
starts the installed service when present, falls back to a detached built server
|
|
222
|
+
process when no service exists, and opens a dedicated browser app window when a
|
|
223
|
+
supported Chromium browser is available.
|
|
224
|
+
|
|
225
|
+
`neondeck serve` and the login service run the built Flue server entry from
|
|
226
|
+
`dist/server.mjs`; from a source checkout, use `npm run dev` for the fast loop
|
|
227
|
+
or run `npm run build:server` before testing the packaged path.
|
|
228
|
+
|
|
229
|
+
## Marketing And Docs Site
|
|
230
|
+
|
|
231
|
+
The Astro site lives under `docs/` and deploys to Cloudflare for
|
|
232
|
+
`neondeck.dev`.
|
|
233
|
+
|
|
234
|
+
```sh
|
|
235
|
+
npm run docs:astro-dev # hot Astro dev server
|
|
236
|
+
npm run docs:dev # build, then preview
|
|
237
|
+
npm run docs:build
|
|
238
|
+
npm run docs:preview
|
|
239
|
+
npm run docs:deploy
|
|
240
|
+
```
|
|
241
|
+
|
|
242
|
+
The Cloudflare deployment config is `docs/wrangler.jsonc`.
|
|
243
|
+
|
|
244
|
+
## Publishing
|
|
245
|
+
|
|
246
|
+
User-facing pull requests should include a concise Changeset:
|
|
247
|
+
|
|
248
|
+
```sh
|
|
249
|
+
npm run changeset
|
|
250
|
+
```
|
|
251
|
+
|
|
252
|
+
Use `patch` for fixes, `minor` for features, and `major` for breaking changes.
|
|
253
|
+
The private docs workspace is excluded from package versioning. While Neondeck
|
|
254
|
+
is on the beta channel, enter Changesets prerelease mode before consuming the
|
|
255
|
+
pending changesets:
|
|
256
|
+
|
|
257
|
+
```sh
|
|
258
|
+
npx changeset pre enter beta
|
|
259
|
+
npm run version-packages
|
|
260
|
+
```
|
|
261
|
+
|
|
262
|
+
Commit the generated package versions, lockfile, changelog, and Changesets
|
|
263
|
+
state. Tag the exact package version and push the version commit and annotated
|
|
264
|
+
tag together:
|
|
265
|
+
|
|
266
|
+
```sh
|
|
267
|
+
version="$(node -p "JSON.parse(require('node:fs').readFileSync('package.json', 'utf8')).version")"
|
|
268
|
+
git tag -a "v${version}" -m "neondeck v${version}"
|
|
269
|
+
git push origin main --follow-tags
|
|
270
|
+
```
|
|
271
|
+
|
|
272
|
+
Prerelease tags such as `v1.0.0-beta.1` publish to npm's `next` dist-tag.
|
|
273
|
+
Stable tags publish to `latest`. Before creating a tag, the workflow can validate
|
|
274
|
+
a branch or commit without publishing:
|
|
275
|
+
|
|
276
|
+
```sh
|
|
277
|
+
gh workflow run npm-publish.yml \
|
|
278
|
+
-f release_ref=main \
|
|
279
|
+
-f npm_tag=auto \
|
|
280
|
+
-f dry_run=true
|
|
281
|
+
```
|
|
282
|
+
|
|
283
|
+
The npm release path is separate from the GitHub app archive release:
|
|
284
|
+
|
|
285
|
+
- `.github/workflows/npm-package.yml` validates the packed npm artifact on PRs.
|
|
286
|
+
- `.github/workflows/npm-publish.yml` verifies the release tag, runs
|
|
287
|
+
`npm run release:npm:check`, and publishes `neondeck` to npm from `v*` tags.
|
|
288
|
+
|
|
289
|
+
For the first npm publish, the package must be created before npm trusted
|
|
290
|
+
publishing can be configured. Set a temporary granular publish token with
|
|
291
|
+
bypass-2FA enabled as the `NPM_TOKEN` secret on the GitHub `npm` environment,
|
|
292
|
+
then push the first release tag. After `neondeck` exists on npm, configure
|
|
293
|
+
trusted publishing for GitHub Actions with workflow filename `npm-publish.yml`,
|
|
294
|
+
environment `npm`, and allowed action `npm publish`. Delete the GitHub secret
|
|
295
|
+
and revoke the temporary npm token after the first trusted publish succeeds.
|
|
296
|
+
|
|
297
|
+
## Deeper Runtime Docs
|
|
298
|
+
|
|
299
|
+
The detailed runtime and configuration material belongs in the docs site:
|
|
300
|
+
|
|
301
|
+
- `docs/src/pages/docs/getting-started.astro`
|
|
302
|
+
- `docs/src/pages/docs/configuration.astro`
|
|
303
|
+
- `docs/src/pages/docs/agent-runtime.astro`
|
|
304
|
+
- `docs/src/pages/docs/execution.astro`
|
|
305
|
+
- `docs/src/pages/docs/mcp.astro`
|
|
306
|
+
- `docs/src/pages/docs/memory-learning.astro`
|
|
307
|
+
- `docs/src/pages/docs/deployment.astro`
|
|
308
|
+
- `docs/src/pages/docs/contributing.astro`
|
|
309
|
+
|
|
310
|
+
Update those pages when changing user-facing runtime behavior.
|
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Florian Hines
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
# neondeck
|
|
2
|
+
|
|
3
|
+
A companion agent for keeping PRs moving.
|
|
4
|
+
|
|
5
|
+
Neon watches your PRs, tracks CI and release checks, prepares fixes when work
|
|
6
|
+
gets stuck, and can configure its own repos, schedules, models, and deck layout
|
|
7
|
+
through typed actions.
|
|
8
|
+
|
|
9
|
+
It is especially useful on a companion display, vertical panel, or Corsair
|
|
10
|
+
Xeneon Edge-style deck, where your active work can stay visible without taking
|
|
11
|
+
over your editor. The backend is Node 26, Hono, and Flue; the dashboard is Vite,
|
|
12
|
+
React, and Tailwind. Neondeck can run on your machine or on a remote host, with
|
|
13
|
+
mutable state stored in SQLite under a runtime home you control.
|
|
14
|
+
|
|
15
|
+
## Built for work in progress
|
|
16
|
+
|
|
17
|
+
Neon watches your PRs, prepares fixes, and keeps the busywork moving.
|
|
18
|
+
|
|
19
|
+
- **Your PRs, with CI status at a glance.** See open PRs across your repos in
|
|
20
|
+
one panel, with live check status and stale-work flags.
|
|
21
|
+
- **Watch a PR, then let autopilot move it.** Track a PR through merge, checks,
|
|
22
|
+
and deploy. When review feedback or CI failures need action, autopilot can
|
|
23
|
+
prepare a fix in an isolated worktree, run checks, and hand you the diff or
|
|
24
|
+
push it when repo policy allows.
|
|
25
|
+
- **Review and approve PRs on the deck.** Read diffs, leave inline comments,
|
|
26
|
+
resolve threads, and submit approvals or change requests without switching to
|
|
27
|
+
github.com.
|
|
28
|
+
- **Handoff, both directions.** Delegate work to agents like Kilo or Codex, then
|
|
29
|
+
let the finished PR come back to Neon for checks and deployment follow-through.
|
|
30
|
+
- **Briefings and scheduled instructions.** Pull your PRs, watches, CI failures,
|
|
31
|
+
and next actions into a morning briefing, or run your own saved prompt on a
|
|
32
|
+
timer.
|
|
33
|
+
- **Sandboxed, gated execution.** Keep code-changing work in throwaway
|
|
34
|
+
worktrees, gate shell commands through approval policy, or run work off your
|
|
35
|
+
machine on an `exe.dev` sandbox VM.
|
|
36
|
+
- **Memory that learns from your work.** Let Neon remember approved preferences
|
|
37
|
+
and repo conventions from conversations and PR feedback.
|
|
38
|
+
- **Ask Neon to set up the deck.** Configure repos, models, schedules, layout,
|
|
39
|
+
and display behavior through typed actions instead of hand-editing every file.
|
|
40
|
+
|
|
41
|
+
## Project shape
|
|
42
|
+
|
|
43
|
+
- `src/`: Hono/Flue backend, agents, actions, workflows, persistence, metrics,
|
|
44
|
+
CLI, and runtime-home setup.
|
|
45
|
+
- `web/`: Vite, React, and Tailwind dashboard for the local companion display.
|
|
46
|
+
- `docs/`: Astro marketing/docs site deployed to Cloudflare for
|
|
47
|
+
[neondeck.dev](https://neondeck.dev).
|
|
48
|
+
- `config/`: checked-in defaults copied into new runtime homes.
|
|
49
|
+
- `SOUL.md`: default personality/context material for Neon.
|
|
50
|
+
|
|
51
|
+
## Quick start
|
|
52
|
+
|
|
53
|
+
Use Node 26.4.0 or newer.
|
|
54
|
+
|
|
55
|
+
```sh
|
|
56
|
+
npm install
|
|
57
|
+
npm run init
|
|
58
|
+
npm run dev
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
Open `http://127.0.0.1:5173/`.
|
|
62
|
+
|
|
63
|
+
The setup wizard prepares a runtime home, configures provider secrets, adds
|
|
64
|
+
local repositories, applies a dashboard preset, and can create initial schedules
|
|
65
|
+
and command preapprovals.
|
|
66
|
+
|
|
67
|
+
## Runtime home
|
|
68
|
+
|
|
69
|
+
Mutable local state lives outside the source tree. Neondeck resolves runtime
|
|
70
|
+
home in this order:
|
|
71
|
+
|
|
72
|
+
```text
|
|
73
|
+
NEONDECK_HOME
|
|
74
|
+
XDG_CONFIG_HOME/neondeck
|
|
75
|
+
~/.config/neondeck
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
That home contains local secrets, runtime config, repo registration, dashboard
|
|
79
|
+
layout, schedules, skills, and separate SQLite databases for Neondeck app state
|
|
80
|
+
and Flue runtime state.
|
|
81
|
+
|
|
82
|
+
## Common commands
|
|
83
|
+
|
|
84
|
+
```sh
|
|
85
|
+
npm run dev # local backend + dashboard
|
|
86
|
+
npm run cli -- status # runtime readiness and configured paths
|
|
87
|
+
npm run cli -- doctor # local diagnostics
|
|
88
|
+
npm run check # fast local verification
|
|
89
|
+
npm run test:integration # slower workflow coverage
|
|
90
|
+
npm run build # production dashboard/server + docs build
|
|
91
|
+
npm run docs:astro-dev # hot dev server for the docs site
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
After a production build or package install:
|
|
95
|
+
|
|
96
|
+
```sh
|
|
97
|
+
neondeck service install
|
|
98
|
+
neondeck open
|
|
99
|
+
neondeck open sidebar
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
## Documentation
|
|
103
|
+
|
|
104
|
+
- [neondeck.dev](https://neondeck.dev): public site and product docs.
|
|
105
|
+
- [Getting started](https://neondeck.dev/docs/getting-started/): install,
|
|
106
|
+
secrets, runtime home, dashboard launch, and local app install.
|
|
107
|
+
- [Configuration](https://neondeck.dev/docs/configuration/): runtime config,
|
|
108
|
+
models, providers, repos, schedules, SOUL, and skills.
|
|
109
|
+
- [Agent runtime](https://neondeck.dev/docs/agent-runtime/): Flue agents,
|
|
110
|
+
actions, workflows, memory, watches, reports, and scheduled tasks.
|
|
111
|
+
- [Execution environments](https://neondeck.dev/docs/execution/): local and
|
|
112
|
+
sandboxed execution policy.
|
|
113
|
+
- [MCP servers](https://neondeck.dev/docs/mcp/): MCP registration, OAuth, tool
|
|
114
|
+
policy, and approvals.
|
|
115
|
+
- [Contributing](https://neondeck.dev/docs/contributing/): roadmap workflow,
|
|
116
|
+
checks, reviews, and PR expectations.
|
|
117
|
+
- [Development](./DEVELOPMENT.md): repo-local setup, checks, builds, packaging,
|
|
118
|
+
docs deployment, and publishing notes.
|
|
119
|
+
|
|
120
|
+
## Status
|
|
121
|
+
|
|
122
|
+
Neondeck is active local-first infrastructure work. The roadmap lives in
|
|
123
|
+
`.plans/ROADMAP.md`; it is the source of truth for implementation order and
|
|
124
|
+
near-term priorities.
|
|
125
|
+
|
|
126
|
+
## License
|
|
127
|
+
|
|
128
|
+
MIT
|
package/SOUL.md
ADDED
package/bin/neondeck.mjs
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import { spawn } from 'node:child_process';
|
|
3
|
+
import { fileURLToPath } from 'node:url';
|
|
4
|
+
|
|
5
|
+
const cliEntry = fileURLToPath(new URL('../src/cli/index.ts', import.meta.url));
|
|
6
|
+
const tsxLoader = import.meta.resolve('tsx');
|
|
7
|
+
const child = spawn(
|
|
8
|
+
process.execPath,
|
|
9
|
+
['--import', tsxLoader, cliEntry, ...process.argv.slice(2)],
|
|
10
|
+
{
|
|
11
|
+
stdio: 'inherit',
|
|
12
|
+
env: process.env,
|
|
13
|
+
},
|
|
14
|
+
);
|
|
15
|
+
|
|
16
|
+
child.once('error', (error) => {
|
|
17
|
+
console.error(error instanceof Error ? error.message : String(error));
|
|
18
|
+
process.exit(1);
|
|
19
|
+
});
|
|
20
|
+
|
|
21
|
+
child.once('exit', (code, signal) => {
|
|
22
|
+
if (signal) {
|
|
23
|
+
process.kill(process.pid, signal);
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
process.exit(code ?? 0);
|
|
27
|
+
});
|