@zerwiz/ymir 0.1.4 → 0.1.7
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/.agents/README.md +291 -0
- package/.agents/agents/bragi-marketer.md +111 -0
- package/.agents/agents/brokk.md +352 -0
- package/.agents/agents/forseti-reviewer.md +93 -0
- package/.agents/agents/frigg-consent.md +77 -0
- package/.agents/agents/groa-update.md +77 -0
- package/.agents/agents/hnoss-designer.md +69 -0
- package/.agents/agents/huginn-researcher.md +99 -0
- package/.agents/agents/jord-projects.md +78 -0
- package/.agents/agents/kvasir-scout.md +91 -0
- package/.agents/agents/mimir-planner.md +92 -0
- package/.agents/agents/muninn-stow.md +77 -0
- package/.agents/agents/saga-bearings.md +78 -0
- package/.agents/agents/sindri-developer.md +114 -0
- package/.agents/agents/snotra-documenter.md +105 -0
- package/.agents/agents/syn-recovery.md +78 -0
- package/.agents/agents/tyr-check.md +78 -0
- package/.agents/agents/urdh-hold.md +77 -0
- package/.agents/agents/volundr-smith.md +80 -0
- package/.agents/agents/vor-diagnostics.md +77 -0
- package/.agents/assets/agents/naming.md +50 -0
- package/.agents/assets/agents/registry.md +93 -0
- package/.agents/assets/agents/runtime.md +36 -0
- package/.agents/assets/agents/toon-tasks-cli.md +42 -0
- package/.agents/assets/templates/company_entity.template.md +37 -0
- package/.agents/backend/README.md +74 -0
- package/.agents/backend/backends/cmux.sh +649 -0
- package/.agents/backend/backends/herdr-eventwait.py +157 -0
- package/.agents/backend/backends/herdr-workspace-move.py +114 -0
- package/.agents/backend/backends/herdr.sh +3386 -0
- package/.agents/backend/backends/orca.sh +290 -0
- package/.agents/backend/backends/tmux.sh +357 -0
- package/.agents/backend/backends/zellij.sh +700 -0
- package/.agents/backend/fm-afk-launch.sh +654 -0
- package/.agents/backend/fm-afk-return.sh +241 -0
- package/.agents/backend/fm-afk-start.sh +172 -0
- package/.agents/backend/fm-arm-command-policy.mjs +960 -0
- package/.agents/backend/fm-arm-pretool-check.sh +200 -0
- package/.agents/backend/fm-backend-hometag-lib.sh +52 -0
- package/.agents/backend/fm-backend.sh +981 -0
- package/.agents/backend/fm-backlog-handoff.sh +909 -0
- package/.agents/backend/fm-backlog-receive.sh +187 -0
- package/.agents/backend/fm-backlog-transition-lib.sh +779 -0
- package/.agents/backend/fm-bearings-board.sh +204 -0
- package/.agents/backend/fm-bearings-snapshot.sh +546 -0
- package/.agents/backend/fm-bootstrap.sh +1568 -0
- package/.agents/backend/fm-branch-outcome.sh +203 -0
- package/.agents/backend/fm-branch-prompt.sh +101 -0
- package/.agents/backend/fm-brief.sh +452 -0
- package/.agents/backend/fm-busy-event.sh +234 -0
- package/.agents/backend/fm-busy-lib.sh +986 -0
- package/.agents/backend/fm-captain-hold.sh +1001 -0
- package/.agents/backend/fm-cd-command-policy.mjs +153 -0
- package/.agents/backend/fm-cd-pretool-check.sh +190 -0
- package/.agents/backend/fm-check-lib.sh +74 -0
- package/.agents/backend/fm-check-register.sh +42 -0
- package/.agents/backend/fm-check-unregister.sh +52 -0
- package/.agents/backend/fm-classify-lib.sh +1770 -0
- package/.agents/backend/fm-claude-stop-autoarm.sh +334 -0
- package/.agents/backend/fm-composer-lib.sh +1416 -0
- package/.agents/backend/fm-config-inherit-lib.sh +1202 -0
- package/.agents/backend/fm-config-push.sh +254 -0
- package/.agents/backend/fm-control-lib.sh +251 -0
- package/.agents/backend/fm-control.sh +878 -0
- package/.agents/backend/fm-crew-state.sh +625 -0
- package/.agents/backend/fm-cursor-lib.sh +243 -0
- package/.agents/backend/fm-decision-hold.sh +232 -0
- package/.agents/backend/fm-doc-audience-check.sh +269 -0
- package/.agents/backend/fm-dod-lib.sh +67 -0
- package/.agents/backend/fm-ensure-agents-md.sh +253 -0
- package/.agents/backend/fm-extension-launch-barrier.mjs +129 -0
- package/.agents/backend/fm-extension.mjs +2577 -0
- package/.agents/backend/fm-extension.sh +16 -0
- package/.agents/backend/fm-ff-lib.sh +420 -0
- package/.agents/backend/fm-fleet-snapshot.sh +1463 -0
- package/.agents/backend/fm-fleet-sync.sh +458 -0
- package/.agents/backend/fm-fleet-view.sh +96 -0
- package/.agents/backend/fm-gate-refuse-lib.sh +102 -0
- package/.agents/backend/fm-guard.sh +242 -0
- package/.agents/backend/fm-harness.sh +195 -0
- package/.agents/backend/fm-herdr-ci-cleanup.sh +115 -0
- package/.agents/backend/fm-herdr-lab.sh +346 -0
- package/.agents/backend/fm-herdr-session-cleanup.sh +337 -0
- package/.agents/backend/fm-home-seed.sh +984 -0
- package/.agents/backend/fm-home-summary-refresh.sh +255 -0
- package/.agents/backend/fm-hook-host-lib.sh +36 -0
- package/.agents/backend/fm-inactive-reconcile.sh +531 -0
- package/.agents/backend/fm-inbox.sh +399 -0
- package/.agents/backend/fm-install-actionlint.sh +84 -0
- package/.agents/backend/fm-install-herdr.sh +96 -0
- package/.agents/backend/fm-install-shellcheck.sh +84 -0
- package/.agents/backend/fm-install-treehouse.sh +95 -0
- package/.agents/backend/fm-kimi-turnend-hook.sh +276 -0
- package/.agents/backend/fm-lease-lib.sh +218 -0
- package/.agents/backend/fm-lease.sh +189 -0
- package/.agents/backend/fm-line-cap-lib.sh +51 -0
- package/.agents/backend/fm-lint-workflows.sh +137 -0
- package/.agents/backend/fm-lint.sh +591 -0
- package/.agents/backend/fm-lock-lib.sh +104 -0
- package/.agents/backend/fm-lock.sh +107 -0
- package/.agents/backend/fm-marker-lib.sh +12 -0
- package/.agents/backend/fm-merge-local.sh +74 -0
- package/.agents/backend/fm-merge-outcome-lib.sh +138 -0
- package/.agents/backend/fm-nm-run-lib.sh +124 -0
- package/.agents/backend/fm-on.sh +125 -0
- package/.agents/backend/fm-operational-input.sh +253 -0
- package/.agents/backend/fm-peek.sh +46 -0
- package/.agents/backend/fm-pending-reply-lib.sh +1409 -0
- package/.agents/backend/fm-pr-check.sh +135 -0
- package/.agents/backend/fm-pr-lib.sh +1016 -0
- package/.agents/backend/fm-pr-merge.sh +707 -0
- package/.agents/backend/fm-pr-poll.sh +110 -0
- package/.agents/backend/fm-primary-scope-lib.sh +33 -0
- package/.agents/backend/fm-procevent-extension-capture.pl +259 -0
- package/.agents/backend/fm-procevent-lavish.sh +628 -0
- package/.agents/backend/fm-procevent-lib.sh +892 -0
- package/.agents/backend/fm-procevent-quota.sh +290 -0
- package/.agents/backend/fm-procevent-remote-reply.sh +577 -0
- package/.agents/backend/fm-procevent-when.sh +504 -0
- package/.agents/backend/fm-procevent.sh +1466 -0
- package/.agents/backend/fm-project-mode.sh +92 -0
- package/.agents/backend/fm-project-origin-lib.sh +180 -0
- package/.agents/backend/fm-promote.sh +282 -0
- package/.agents/backend/fm-public-followup-emit.sh +260 -0
- package/.agents/backend/fm-public-followup-lib.sh +398 -0
- package/.agents/backend/fm-public-followup.sh +1330 -0
- package/.agents/backend/fm-push-transition-lib.sh +168 -0
- package/.agents/backend/fm-quota-axi-lib.sh +93 -0
- package/.agents/backend/fm-quota-choose.sh +384 -0
- package/.agents/backend/fm-remote-delta-read.sh +189 -0
- package/.agents/backend/fm-remote-doctor.sh +800 -0
- package/.agents/backend/fm-remote-entrypoint.sh +193 -0
- package/.agents/backend/fm-remote-file.sh +234 -0
- package/.agents/backend/fm-remote-home-provision.sh +259 -0
- package/.agents/backend/fm-remote-home-seed.sh +259 -0
- package/.agents/backend/fm-remote-inherit-push.sh +90 -0
- package/.agents/backend/fm-remote-inherit.sh +179 -0
- package/.agents/backend/fm-remote-job-lib.sh +1241 -0
- package/.agents/backend/fm-remote-job-reap-orphans.sh +137 -0
- package/.agents/backend/fm-remote-job-worker.sh +1124 -0
- package/.agents/backend/fm-remote-readiness-lib.sh +44 -0
- package/.agents/backend/fm-remote-secondmate-control.sh +340 -0
- package/.agents/backend/fm-review-diff.sh +158 -0
- package/.agents/backend/fm-secondmate-charter-lib.sh +44 -0
- package/.agents/backend/fm-secondmate-nudge-lib.sh +68 -0
- package/.agents/backend/fm-secondmate-parent-lib.sh +70 -0
- package/.agents/backend/fm-secondmate-reconcile.sh +371 -0
- package/.agents/backend/fm-secondmate-registry-lib.sh +311 -0
- package/.agents/backend/fm-secondmate-report.sh +88 -0
- package/.agents/backend/fm-send.sh +1059 -0
- package/.agents/backend/fm-session-lock-lib.sh +176 -0
- package/.agents/backend/fm-session-start.sh +970 -0
- package/.agents/backend/fm-sessionstart-cursor.sh +40 -0
- package/.agents/backend/fm-sessionstart-nudge.sh +45 -0
- package/.agents/backend/fm-sessionstart-run.sh +145 -0
- package/.agents/backend/fm-spawn.sh +3153 -0
- package/.agents/backend/fm-startup-memory-budget-lib.sh +224 -0
- package/.agents/backend/fm-startup-memory-budget.sh +94 -0
- package/.agents/backend/fm-startup-network.sh +642 -0
- package/.agents/backend/fm-stow-cascade.sh +251 -0
- package/.agents/backend/fm-subagent-pretool-check.sh +207 -0
- package/.agents/backend/fm-supervise-daemon.sh +1732 -0
- package/.agents/backend/fm-supervision-instructions.sh +215 -0
- package/.agents/backend/fm-supervision-lib.sh +90 -0
- package/.agents/backend/fm-supervisor-target-lib.sh +78 -0
- package/.agents/backend/fm-tangle-lib.sh +53 -0
- package/.agents/backend/fm-task-inbox-lib.sh +402 -0
- package/.agents/backend/fm-tasks-axi-lib.sh +123 -0
- package/.agents/backend/fm-teardown.sh +2922 -0
- package/.agents/backend/fm-test-isolation-proof.sh +588 -0
- package/.agents/backend/fm-test-run.sh +2191 -0
- package/.agents/backend/fm-timeout-lib.sh +141 -0
- package/.agents/backend/fm-timing-lib.sh +179 -0
- package/.agents/backend/fm-tmux-lib.sh +291 -0
- package/.agents/backend/fm-tool-update-check.sh +898 -0
- package/.agents/backend/fm-trace-context-lib.sh +227 -0
- package/.agents/backend/fm-transition-lib.sh +103 -0
- package/.agents/backend/fm-turnend-guard-cursor.sh +391 -0
- package/.agents/backend/fm-turnend-guard-grok.sh +90 -0
- package/.agents/backend/fm-turnend-guard.sh +432 -0
- package/.agents/backend/fm-update.sh +110 -0
- package/.agents/backend/fm-vendor-auth-probe.sh +190 -0
- package/.agents/backend/fm-voice-client.py +1373 -0
- package/.agents/backend/fm-voice-relay.py +1256 -0
- package/.agents/backend/fm-wake-drain.sh +592 -0
- package/.agents/backend/fm-wake-grant.sh +127 -0
- package/.agents/backend/fm-wake-lib.sh +1849 -0
- package/.agents/backend/fm-watch-arm.sh +602 -0
- package/.agents/backend/fm-watch-checkpoint.sh +109 -0
- package/.agents/backend/fm-watch.sh +1962 -0
- package/.agents/backend/fm-x-dismiss.sh +116 -0
- package/.agents/backend/fm-x-followup.sh +286 -0
- package/.agents/backend/fm-x-lib.sh +1000 -0
- package/.agents/backend/fm-x-link.sh +234 -0
- package/.agents/backend/fm-x-poll.sh +185 -0
- package/.agents/backend/fm-x-reply.sh +385 -0
- package/.agents/backend/fm_voice_frame.py +166 -0
- package/.agents/backend/fm_voice_records.py +574 -0
- package/.agents/backend/model-bridge.py +360 -0
- package/.agents/backend/opencode-go-bridge.py +30 -0
- package/.agents/bus/README.md +12 -0
- package/.agents/bus/messages.json +1 -0
- package/.agents/config/agents.machine.example.yaml +16 -0
- package/.agents/config/agents.yaml.example +72 -0
- package/.agents/config/crew-dispatch.json +22 -0
- package/.agents/config/cron.yaml +11 -0
- package/.agents/config/eindri-dispatch.json +67 -0
- package/.agents/config/eindri-harness +1 -0
- package/.agents/config/startup-memory-budget +1 -0
- package/.agents/filebrowser/.filebrowser.json +6 -0
- package/.agents/filebrowser/README.md +11 -0
- package/.agents/gateway/README.md +12 -0
- package/.agents/github/README.md +15 -0
- package/.agents/github/webhooks/.gitkeep +0 -0
- package/.agents/github/workflows/.gitkeep +0 -0
- package/.agents/harness/opencode/plugins/lib/rodd-operational-input.js +37 -0
- package/.agents/harness/opencode/plugins/package.json +4 -0
- package/.agents/harness/opencode/plugins/saga-sessionstart.js +77 -0
- package/.agents/harness/opencode/plugins/syn-cd-check.js +61 -0
- package/.agents/harness/opencode/plugins/syn-pretool-check.js +68 -0
- package/.agents/harness/opencode/plugins/syn-turnend-guard.js +105 -0
- package/.agents/harness/opencode/plugins/syn-watch-arm.js +521 -0
- package/.agents/memory/README.md +46 -0
- package/.agents/memory/runes_audit.md +5 -0
- package/.agents/migrations/0001-hodd-layout.sh +38 -0
- package/.agents/migrations/0002-a2a-mcp.sh +27 -0
- package/.agents/migrations/0003-private-data-separation.sh +121 -0
- package/.agents/migrations/0004-hoard-and-realms.sh +104 -0
- package/.agents/migrations/0005-roots-out-of-tree.sh +158 -0
- package/.agents/sandbox/Dockerfile.utgard +19 -0
- package/.agents/sandbox/README.md +14 -0
- package/.agents/sandbox/utgard.config.json +14 -0
- package/.agents/skills/README.md +59 -0
- package/.agents/skills/bragi-marketing/README.md +3 -0
- package/.agents/skills/bragi-marketing/SKILL.md +82 -0
- package/.agents/skills/eindri-homes/README.md +3 -0
- package/.agents/skills/eindri-homes/SKILL.md +291 -0
- package/.agents/skills/eindri-homes/assets/control-plane.md +122 -0
- package/.agents/skills/eindri-homes/assets/dispatch.md +80 -0
- package/.agents/skills/frigg-consent/README.md +3 -0
- package/.agents/skills/frigg-consent/SKILL.md +56 -0
- package/.agents/skills/galdr-ymirsystem/README.md +3 -0
- package/.agents/skills/galdr-ymirsystem/SKILL.md +159 -0
- package/.agents/skills/galdr-ymirsystem/assets/README.md +74 -0
- package/.agents/skills/galdr-ymirsystem/assets/brokk-distro-runtime.md +390 -0
- package/.agents/skills/galdr-ymirsystem/assets/build-method.md +113 -0
- package/.agents/skills/galdr-ymirsystem/assets/build-tool-categories.md +178 -0
- package/.agents/skills/galdr-ymirsystem/assets/eindri-orchestration.md +518 -0
- package/.agents/skills/galdr-ymirsystem/assets/eindri-profiles.md +136 -0
- package/.agents/skills/galdr-ymirsystem/assets/harness-integration/README.md +736 -0
- package/.agents/skills/galdr-ymirsystem/assets/harness-integration/claude-code.md +197 -0
- package/.agents/skills/galdr-ymirsystem/assets/harness-integration/codex.md +191 -0
- package/.agents/skills/galdr-ymirsystem/assets/harness-integration/cursor.md +193 -0
- package/.agents/skills/galdr-ymirsystem/assets/harness-integration/opencode.md +262 -0
- package/.agents/skills/galdr-ymirsystem/assets/harness-integration/pi.md +295 -0
- package/.agents/skills/galdr-ymirsystem/assets/hlidskjalf-ui.md +539 -0
- package/.agents/skills/galdr-ymirsystem/assets/installation.md +763 -0
- package/.agents/skills/galdr-ymirsystem/assets/local-models/HOST-DATA.example.md +72 -0
- package/.agents/skills/galdr-ymirsystem/assets/local-models.md +274 -0
- package/.agents/skills/galdr-ymirsystem/assets/memory-well.md +163 -0
- package/.agents/skills/galdr-ymirsystem/assets/nornir-jobs.md +415 -0
- package/.agents/skills/galdr-ymirsystem/assets/norse-naming.md +325 -0
- package/.agents/skills/galdr-ymirsystem/assets/odrerir-hall.md +133 -0
- package/.agents/skills/galdr-ymirsystem/assets/pi-boot/einherjar-spawn.schema.json +81 -0
- package/.agents/skills/galdr-ymirsystem/assets/pi-boot/herdr-profile.toml +75 -0
- package/.agents/skills/galdr-ymirsystem/assets/pi-boot/pi-profile.yml +101 -0
- package/.agents/skills/galdr-ymirsystem/assets/pi-boot/supervision-tree.yml +163 -0
- package/.agents/skills/galdr-ymirsystem/assets/pi-boot-guide.md +58 -0
- package/.agents/skills/galdr-ymirsystem/assets/porting-upstream-to-norse.md +301 -0
- package/.agents/skills/galdr-ymirsystem/assets/principles.md +385 -0
- package/.agents/skills/galdr-ymirsystem/assets/reference-adoption.md +99 -0
- package/.agents/skills/galdr-ymirsystem/assets/registry.md +379 -0
- package/.agents/skills/galdr-ymirsystem/assets/runtime-compliance.md +463 -0
- package/.agents/skills/galdr-ymirsystem/assets/runtime-components.md +553 -0
- package/.agents/skills/galdr-ymirsystem/assets/smidja.md +180 -0
- package/.agents/skills/galdr-ymirsystem/schemas/toon-schemas.md +190 -0
- package/.agents/skills/galdr-ymirsystem/scripts/README.md +45 -0
- package/.agents/skills/galdr-ymirsystem/scripts/bench-one.sh +248 -0
- package/.agents/skills/galdr-ymirsystem/scripts/compliance-check.sh +503 -0
- package/.agents/skills/galdr-ymirsystem/scripts/gpu-sample.sh +43 -0
- package/.agents/skills/galdr-ymirsystem/scripts/stop-all.sh +34 -0
- package/.agents/skills/galdr-ymirsystem/scripts/toon-check.py +188 -0
- package/.agents/skills/gjallarhorn-relay/README.md +3 -0
- package/.agents/skills/gjallarhorn-relay/SKILL.md +283 -0
- package/.agents/skills/groa-update/SKILL.md +90 -0
- package/.agents/skills/hamr-adapters/README.md +3 -0
- package/.agents/skills/hamr-adapters/SKILL.md +123 -0
- package/.agents/skills/hamr-adapters/references/common/control-and-recovery.md +37 -0
- package/.agents/skills/hamr-adapters/references/common/dispatch.md +32 -0
- package/.agents/skills/hamr-adapters/references/common/model-and-effort.md +42 -0
- package/.agents/skills/hamr-adapters/references/common/primary-hooks.md +40 -0
- package/.agents/skills/hamr-adapters/references/harness/claude.md +55 -0
- package/.agents/skills/hamr-adapters/references/harness/codex.md +43 -0
- package/.agents/skills/hamr-adapters/references/harness/cursor.md +75 -0
- package/.agents/skills/hamr-adapters/references/harness/grok.md +69 -0
- package/.agents/skills/hamr-adapters/references/harness/kimi.md +51 -0
- package/.agents/skills/hamr-adapters/references/harness/muse.md +70 -0
- package/.agents/skills/hamr-adapters/references/harness/opencode.md +42 -0
- package/.agents/skills/hamr-adapters/references/harness/pi.md +56 -0
- package/.agents/skills/herdr-panes/README.md +3 -0
- package/.agents/skills/herdr-panes/SKILL.md +92 -0
- package/.agents/skills/herdr-panes/assets/herdr-backend.md +346 -0
- package/.agents/skills/herdr-panes/assets/tmux-backend.md +115 -0
- package/.agents/skills/hnoss-design/DESIGN.md +19 -0
- package/.agents/skills/hnoss-design/README.md +3 -0
- package/.agents/skills/hnoss-design/SKILL.md +83 -0
- package/.agents/skills/hvild-afk/README.md +3 -0
- package/.agents/skills/hvild-afk/SKILL.md +241 -0
- package/.agents/skills/jord-projects/README.md +3 -0
- package/.agents/skills/jord-projects/SKILL.md +92 -0
- package/.agents/skills/lifecycle/SKILL.md +56 -0
- package/.agents/skills/lifecycle/smoke_test.sh +57 -0
- package/.agents/skills/lifecycle/start.sh +21 -0
- package/.agents/skills/lifecycle/status.sh +35 -0
- package/.agents/skills/lifecycle/stop.sh +16 -0
- package/.agents/skills/muninn-stow/README.md +3 -0
- package/.agents/skills/muninn-stow/SKILL.md +309 -0
- package/.agents/skills/no-mistakes/SKILL.md +379 -0
- package/.agents/skills/nornir-schedule/README.md +3 -0
- package/.agents/skills/nornir-schedule/SKILL.md +25 -0
- package/.agents/skills/nornir-schedule/assets/events.md +137 -0
- package/.agents/skills/nornir-schedule/assets/quota.md +131 -0
- package/.agents/skills/nsr-compliance/README.md +3 -0
- package/.agents/skills/nsr-compliance/SKILL.md +29 -0
- package/.agents/skills/nsr-compliance/assets/nsr/README.md +40 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/RULES/README.md +15 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/RULES/git-workflow.md +18 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/RULES/security.md +22 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/RULES/tech-stack.md +8 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/agents_skills/NSRcompliance/SKILL.md +71 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/agents_skills/NSRcompliance/config/core_four.yaml +16 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/agents_skills/NSRcompliance/gates/check_danger.sh +102 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/agents_skills/NSRcompliance/gates/check_wiring.sh +69 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/agents_skills/NSRcompliance/gates/validate_code.sh +29 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/agents_skills/NSRcompliance/gates/verify_docs.py +66 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/agents_skills/NSRcompliance/generate.sh +109 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/agents_skills/NSRcompliance/harness/envelopes/result_envelope.json +14 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/agents_skills/NSRcompliance/harness/envelopes/task_envelope.json +20 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/agents_skills/NSRcompliance/harness/runner.py +303 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/agents_skills/NSRcompliance/telemetry/logger.py +112 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/agents_skills/NSRcompliance/templates/compliance/README.md +18 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/agents_skills/NSRcompliance/templates/compliance/config/README.md +10 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/agents_skills/NSRcompliance/templates/compliance/gates/README.md +12 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/agents_skills/NSRcompliance/templates/compliance/gates/check_env.sh +23 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/agents_skills/NSRcompliance/templates/compliance/gates/check_paths.sh +20 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/agents_skills/NSRcompliance/templates/compliance/gates/check_platform.sh +23 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/agents_skills/NSRcompliance/templates/compliance/harness/README.md +11 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/agents_skills/NSRcompliance/templates/compliance/harness/envelopes/README.md +10 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/agents_skills/NSRcompliance/templates/compliance/installer/README.md +10 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/agents_skills/NSRcompliance/templates/compliance/installer/install.sh +125 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/agents_skills/NSRcompliance/templates/compliance/telemetry/README.md +11 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/agents_skills/README.md +20 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/agents_skills/features/README.md +36 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/agents_skills/features/SKILL-template.md +14 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/agents_skills/git_ops/README.md +25 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/agents_skills/git_ops/SKILL.md +13 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/agents_skills/git_ops/create_branch.sh +6 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/agents_skills/git_ops/safe_commit.sh +9 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/agents_skills/git_ops/sync_upstream.sh +6 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/agents_skills/lifecycle/README.md +27 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/agents_skills/lifecycle/SKILL.md +15 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/agents_skills/lifecycle/smoke_test.sh +12 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/agents_skills/lifecycle/start.sh +19 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/agents_skills/lifecycle/status.sh +12 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/agents_skills/lifecycle/stop.sh +15 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/compliance/README.md +18 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/compliance/config/README.md +10 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/compliance/config/core_four.yaml +13 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/compliance/gates/README.md +12 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/compliance/gates/check_danger.sh +102 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/compliance/gates/check_env.sh +23 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/compliance/gates/check_paths.sh +20 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/compliance/gates/check_platform.sh +23 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/compliance/gates/check_wiring.sh +69 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/compliance/harness/README.md +11 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/compliance/harness/envelopes/README.md +10 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/compliance/harness/envelopes/result_envelope.json +14 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/compliance/harness/envelopes/task_envelope.json +20 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/compliance/harness/runner.py +303 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/compliance/installer/README.md +10 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/compliance/installer/install.sh +125 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/compliance/telemetry/README.md +11 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/compliance/telemetry/logger.py +112 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/docs/BEST_PRACTICES/README.md +14 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/docs/BEST_PRACTICES/api.md +17 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/docs/BEST_PRACTICES/compliance-wiring.md +155 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/docs/BEST_PRACTICES/frontend.md +15 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/docs/CI_CD/README.md +11 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/docs/CI_CD/deployment/README.md +23 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/docs/CI_CD/deployment/clients/README.md +16 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/docs/CI_CD/deployment/clients/template-README.md +11 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/docs/CI_CD/deployment/deploy.sh +49 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/docs/CI_CD/deployment/envs/README.md +12 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/docs/CI_CD/deployment/envs/development.env.example +17 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/docs/CI_CD/deployment/envs/production.env.example +17 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/docs/CI_CD/deployment/envs/staging.env.example +17 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/docs/CI_CD/deployment/tenants/README.md +11 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/docs/CI_CD/deployment/tenants/template.env.example +8 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/docs/DEVELOPER_SETUP/README.md +26 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/docs/DEVELOPER_SETUP/agent.md +7 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/docs/DEVELOPER_SETUP/developers/dev-1.md +20 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/docs/DEVELOPER_SETUP/linux.md +9 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/docs/DEVELOPER_SETUP/macos.md +10 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/docs/DEVELOPER_SETUP/shared.md +19 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/docs/DEVELOPER_SETUP/windows.md +14 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/docs/HOSTING/README.md +25 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/docs/HOSTING/_template.md +41 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/docs/HOSTING/hosting-1.md +41 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/docs/README.md +21 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/docs/RUNBOOK/README.md +15 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/docs/RUNBOOK/deployment.md +19 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/docs/RUNBOOK/disaster-recovery.md +15 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/docs/RUNBOOK/ops-tasks.md +14 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/docs/features/README.md +16 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/docs/project-skills.md +146 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/docs/research/README.md +11 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/docs/research/software-compliance-research.md +269 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/docs/working-with-agents.md +260 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/root/AGENTS.md +38 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/root/ARCHITECTURE.md +36 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/root/BEST_PRACTICES.md +27 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/root/CI_CD.md +23 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/root/FEATURES.md +15 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/root/README.md +22 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/root/RULES.md +37 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/root/STRUCTURE.md +45 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/root/TECH_STACK.md +28 -0
- package/.agents/skills/nsr-compliance/assets/nsr/scaffold-spec.md +63 -0
- package/.agents/skills/nsr-compliance/assets/nsr/scripts/scaffold.sh +103 -0
- package/.agents/skills/nsr-compliance/assets/nsr/scripts/validate.sh +52 -0
- package/.agents/skills/nsr-compliance/assets/nsrcompliance/SKILL.md +71 -0
- package/.agents/skills/nsr-compliance/assets/nsrcompliance/config/core_four.yaml +16 -0
- package/.agents/skills/nsr-compliance/assets/nsrcompliance/gates/check_danger.sh +102 -0
- package/.agents/skills/nsr-compliance/assets/nsrcompliance/gates/check_wiring.sh +69 -0
- package/.agents/skills/nsr-compliance/assets/nsrcompliance/gates/validate_code.sh +29 -0
- package/.agents/skills/nsr-compliance/assets/nsrcompliance/gates/verify_docs.py +66 -0
- package/.agents/skills/nsr-compliance/assets/nsrcompliance/generate.sh +109 -0
- package/.agents/skills/nsr-compliance/assets/nsrcompliance/harness/envelopes/result_envelope.json +14 -0
- package/.agents/skills/nsr-compliance/assets/nsrcompliance/harness/envelopes/task_envelope.json +20 -0
- package/.agents/skills/nsr-compliance/assets/nsrcompliance/harness/runner.py +303 -0
- package/.agents/skills/nsr-compliance/assets/nsrcompliance/telemetry/logger.py +112 -0
- package/.agents/skills/nsr-compliance/assets/nsrcompliance/templates/compliance/README.md +18 -0
- package/.agents/skills/nsr-compliance/assets/nsrcompliance/templates/compliance/config/README.md +10 -0
- package/.agents/skills/nsr-compliance/assets/nsrcompliance/templates/compliance/gates/README.md +12 -0
- package/.agents/skills/nsr-compliance/assets/nsrcompliance/templates/compliance/gates/check_env.sh +23 -0
- package/.agents/skills/nsr-compliance/assets/nsrcompliance/templates/compliance/gates/check_paths.sh +20 -0
- package/.agents/skills/nsr-compliance/assets/nsrcompliance/templates/compliance/gates/check_platform.sh +23 -0
- package/.agents/skills/nsr-compliance/assets/nsrcompliance/templates/compliance/harness/README.md +11 -0
- package/.agents/skills/nsr-compliance/assets/nsrcompliance/templates/compliance/harness/envelopes/README.md +10 -0
- package/.agents/skills/nsr-compliance/assets/nsrcompliance/templates/compliance/installer/README.md +10 -0
- package/.agents/skills/nsr-compliance/assets/nsrcompliance/templates/compliance/installer/install.sh +125 -0
- package/.agents/skills/nsr-compliance/assets/nsrcompliance/templates/compliance/telemetry/README.md +11 -0
- package/.agents/skills/pr-ops/README.md +3 -0
- package/.agents/skills/pr-ops/SKILL.md +109 -0
- package/.agents/skills/ratatoskr-a2a/README.md +3 -0
- package/.agents/skills/ratatoskr-a2a/SKILL.md +148 -0
- package/.agents/skills/rules-check-drift/SKILL.md +81 -0
- package/.agents/skills/saga-bearings/README.md +3 -0
- package/.agents/skills/saga-bearings/SKILL.md +26 -0
- package/.agents/skills/saga-bearings/assets/bearings.md +161 -0
- package/.agents/skills/saga-bearings/assets/board-template.html +731 -0
- package/.agents/skills/saga-bearings/assets/recap.md +56 -0
- package/.agents/skills/syn-recovery/README.md +3 -0
- package/.agents/skills/syn-recovery/SKILL.md +54 -0
- package/.agents/skills/tyr-check/README.md +3 -0
- package/.agents/skills/tyr-check/SKILL.md +218 -0
- package/.agents/skills/urdh-hold/README.md +3 -0
- package/.agents/skills/urdh-hold/SKILL.md +25 -0
- package/.agents/skills/urdh-hold/assets/decisions.md +15 -0
- package/.agents/skills/urdh-hold/assets/hold.md +54 -0
- package/.agents/skills/vor-diagnostics/README.md +3 -0
- package/.agents/skills/vor-diagnostics/SKILL.md +68 -0
- package/.agents/skills/ymir-host/README.md +3 -0
- package/.agents/skills/ymir-host/SKILL.md +35 -0
- package/.agents/skills/ymir-host/assets/desktop.md +36 -0
- package/.agents/skills/ymir-host/assets/install.md +69 -0
- package/.agents/skills/ymir-host/assets/omarchy.md +297 -0
- package/.agents/skills/ymir-host/assets/runbooks.md +15 -0
- package/.agents/skills/ymir-host/assets/thjazi.md +220 -0
- package/.agents/skills/ymir-host/assets/update.md +64 -0
- package/.agents/tests/assets/board-render-harness.mjs +117 -0
- package/.agents/tests/cmux-test-safety.sh +51 -0
- package/.agents/tests/fixtures.sh +291 -0
- package/.agents/tests/fm-afk-inject-e2e.test.sh +428 -0
- package/.agents/tests/fm-afk-inject-herdr-e2e.test.sh +536 -0
- package/.agents/tests/fm-afk-launch.test.sh +961 -0
- package/.agents/tests/fm-afk-pi-herdr-return-e2e.test.sh +297 -0
- package/.agents/tests/fm-afk-return.test.sh +283 -0
- package/.agents/tests/fm-arm-pretool-check.test.sh +482 -0
- package/.agents/tests/fm-ask-user-authority.test.sh +42 -0
- package/.agents/tests/fm-backend-autodetect-smoke.test.sh +176 -0
- package/.agents/tests/fm-backend-cmux-smoke.test.sh +188 -0
- package/.agents/tests/fm-backend-cmux.test.sh +1166 -0
- package/.agents/tests/fm-backend-herdr-eventwait-smoke.test.sh +136 -0
- package/.agents/tests/fm-backend-herdr-eventwait.test.py +106 -0
- package/.agents/tests/fm-backend-herdr-focus-flash-e2e.test.sh +409 -0
- package/.agents/tests/fm-backend-herdr-launcher-workspace-e2e.test.sh +437 -0
- package/.agents/tests/fm-backend-herdr-presentation-e2e.test.sh +1424 -0
- package/.agents/tests/fm-backend-herdr-prune-safety-e2e.test.sh +180 -0
- package/.agents/tests/fm-backend-herdr-respawn-idem-e2e.test.sh +182 -0
- package/.agents/tests/fm-backend-herdr-smoke.test.sh +355 -0
- package/.agents/tests/fm-backend-herdr-workspace-per-home-e2e.test.sh +251 -0
- package/.agents/tests/fm-backend-herdr.test.sh +4606 -0
- package/.agents/tests/fm-backend-orca.test.sh +1357 -0
- package/.agents/tests/fm-backend-tmux-smoke.test.sh +173 -0
- package/.agents/tests/fm-backend-zellij-smoke.test.sh +205 -0
- package/.agents/tests/fm-backend-zellij.test.sh +1360 -0
- package/.agents/tests/fm-backend.test.sh +1142 -0
- package/.agents/tests/fm-backlog-atomicity.test.sh +2302 -0
- package/.agents/tests/fm-backlog-handoff.test.sh +1360 -0
- package/.agents/tests/fm-bearings-board-render.test.sh +135 -0
- package/.agents/tests/fm-bearings-board.test.sh +414 -0
- package/.agents/tests/fm-bearings-snapshot.test.sh +1990 -0
- package/.agents/tests/fm-bootstrap-network-parallel.test.sh +316 -0
- package/.agents/tests/fm-bootstrap.test.sh +1178 -0
- package/.agents/tests/fm-branch-supervision.test.sh +552 -0
- package/.agents/tests/fm-brief.test.sh +785 -0
- package/.agents/tests/fm-busy-adapter-wiring.test.sh +324 -0
- package/.agents/tests/fm-busy-state.test.sh +465 -0
- package/.agents/tests/fm-calm-pi-extension.test.sh +3979 -0
- package/.agents/tests/fm-captain-hold-lifecycle.test.sh +1187 -0
- package/.agents/tests/fm-cd-pretool-check.test.sh +400 -0
- package/.agents/tests/fm-check-unregister.test.sh +198 -0
- package/.agents/tests/fm-classify-corr-token.test.sh +543 -0
- package/.agents/tests/fm-classify-decision-key.test.sh +340 -0
- package/.agents/tests/fm-claude-stop-autoarm-live-e2e.test.sh +164 -0
- package/.agents/tests/fm-claude-stop-autoarm.test.sh +1190 -0
- package/.agents/tests/fm-cmux-claude-composer-live-e2e.test.sh +110 -0
- package/.agents/tests/fm-codex-continuity-live-e2e.test.sh +55 -0
- package/.agents/tests/fm-composer-ghost.test.sh +716 -0
- package/.agents/tests/fm-composer-lib.test.sh +666 -0
- package/.agents/tests/fm-composer-matrix-live-e2e.test.sh +220 -0
- package/.agents/tests/fm-control-herdr-smoke.test.sh +149 -0
- package/.agents/tests/fm-control-relaunch.test.sh +1530 -0
- package/.agents/tests/fm-control.test.sh +910 -0
- package/.agents/tests/fm-crew-state.test.sh +1610 -0
- package/.agents/tests/fm-cursor-harness.test.sh +404 -0
- package/.agents/tests/fm-cursor-primary-live-e2e.test.sh +217 -0
- package/.agents/tests/fm-cursor-primary.test.sh +708 -0
- package/.agents/tests/fm-daemon.test.sh +2740 -0
- package/.agents/tests/fm-documentation-audiences.test.sh +141 -0
- package/.agents/tests/fm-ensure-agents-md.test.sh +371 -0
- package/.agents/tests/fm-extension-binding.test.sh +2187 -0
- package/.agents/tests/fm-fleet-snapshot-view.test.sh +816 -0
- package/.agents/tests/fm-fleet-sync.test.sh +721 -0
- package/.agents/tests/fm-gate-refuse.test.sh +356 -0
- package/.agents/tests/fm-gitignore-config.test.sh +89 -0
- package/.agents/tests/fm-gotmp.test.sh +230 -0
- package/.agents/tests/fm-grok-continuity-live-e2e.test.sh +112 -0
- package/.agents/tests/fm-grok-harness.test.sh +117 -0
- package/.agents/tests/fm-grok-stop-live-e2e.test.sh +219 -0
- package/.agents/tests/fm-guard-stale-banner.test.sh +709 -0
- package/.agents/tests/fm-harness-adapter-instructions-live-e2e.test.sh +134 -0
- package/.agents/tests/fm-harness-adapter-references.test.sh +30 -0
- package/.agents/tests/fm-harness-liveness-drift-live-e2e.test.sh +151 -0
- package/.agents/tests/fm-herdr-lab.test.sh +243 -0
- package/.agents/tests/fm-herdr-session-cleanup-e2e.test.sh +146 -0
- package/.agents/tests/fm-herdr-session-cleanup.test.sh +329 -0
- package/.agents/tests/fm-herdr-submit-confirm-live-e2e.test.sh +125 -0
- package/.agents/tests/fm-herdr-version-floor-live-e2e.test.sh +144 -0
- package/.agents/tests/fm-home-summary-refresh.test.sh +971 -0
- package/.agents/tests/fm-inactive-reconcile.test.sh +485 -0
- package/.agents/tests/fm-kimi-harness.test.sh +687 -0
- package/.agents/tests/fm-lint-workflows.test.sh +532 -0
- package/.agents/tests/fm-lint.test.sh +1023 -0
- package/.agents/tests/fm-muse-harness.test.sh +932 -0
- package/.agents/tests/fm-muse-signals-live-e2e.test.sh +205 -0
- package/.agents/tests/fm-no-mistakes-required.test.sh +72 -0
- package/.agents/tests/fm-on.test.sh +507 -0
- package/.agents/tests/fm-opencode-primary-live-e2e.test.sh +357 -0
- package/.agents/tests/fm-operational-input.test.sh +160 -0
- package/.agents/tests/fm-peek-remote.test.sh +110 -0
- package/.agents/tests/fm-pending-reply.test.sh +1288 -0
- package/.agents/tests/fm-pi-branch-extension.test.sh +3182 -0
- package/.agents/tests/fm-pi-branch-live-e2e.test.sh +527 -0
- package/.agents/tests/fm-pi-primary-live-e2e.test.sh +345 -0
- package/.agents/tests/fm-pi-primary-types.test.sh +68 -0
- package/.agents/tests/fm-pi-watch-extension.test.sh +2843 -0
- package/.agents/tests/fm-pr-check-security.test.sh +2140 -0
- package/.agents/tests/fm-pr-merge.test.sh +2135 -0
- package/.agents/tests/fm-procevent-quota.test.sh +225 -0
- package/.agents/tests/fm-procevent-when.test.sh +406 -0
- package/.agents/tests/fm-procevent.test.sh +1745 -0
- package/.agents/tests/fm-project-origin.test.sh +110 -0
- package/.agents/tests/fm-public-followup.test.sh +2272 -0
- package/.agents/tests/fm-quota-array-dispatch-live-e2e.test.sh +526 -0
- package/.agents/tests/fm-quota-choose.test.sh +626 -0
- package/.agents/tests/fm-remote-backlog-handoff.test.sh +453 -0
- package/.agents/tests/fm-remote-doctor.test.sh +625 -0
- package/.agents/tests/fm-remote-entrypoint.test.sh +59 -0
- package/.agents/tests/fm-remote-job-orphan-reap.test.sh +205 -0
- package/.agents/tests/fm-remote-job.test.sh +768 -0
- package/.agents/tests/fm-remote-reply.test.sh +520 -0
- package/.agents/tests/fm-remote-secondmate-lifecycle-e2e.test.sh +1256 -0
- package/.agents/tests/fm-remote-secondmate-parent-binding.test.sh +326 -0
- package/.agents/tests/fm-remote-secondmate-trace-context.test.sh +310 -0
- package/.agents/tests/fm-remote-transport-lanes.test.sh +431 -0
- package/.agents/tests/fm-review-diff.test.sh +176 -0
- package/.agents/tests/fm-secondmate-harness.test.sh +2600 -0
- package/.agents/tests/fm-secondmate-lifecycle-e2e.test.sh +259 -0
- package/.agents/tests/fm-secondmate-liveness.test.sh +559 -0
- package/.agents/tests/fm-secondmate-reconcile.test.sh +732 -0
- package/.agents/tests/fm-secondmate-safety.test.sh +2972 -0
- package/.agents/tests/fm-secondmate-sync.test.sh +913 -0
- package/.agents/tests/fm-send-inbox-doorbell-live-e2e.test.sh +206 -0
- package/.agents/tests/fm-send-inbox.test.sh +352 -0
- package/.agents/tests/fm-send-popup-settle.test.sh +167 -0
- package/.agents/tests/fm-send-remote-delivery.test.sh +796 -0
- package/.agents/tests/fm-send-resolve-key.test.sh +551 -0
- package/.agents/tests/fm-send-secondmate-marker-herdr-e2e.test.sh +187 -0
- package/.agents/tests/fm-send-secondmate-marker.test.sh +278 -0
- package/.agents/tests/fm-send-settle.test.sh +147 -0
- package/.agents/tests/fm-send-strict.test.sh +241 -0
- package/.agents/tests/fm-session-lock-ancestry.test.sh +365 -0
- package/.agents/tests/fm-session-start.test.sh +2515 -0
- package/.agents/tests/fm-sessionstart-hook-live-e2e.test.sh +631 -0
- package/.agents/tests/fm-sessionstart-instruction-refresh-live-e2e.test.sh +230 -0
- package/.agents/tests/fm-sessionstart-nudge.test.sh +1039 -0
- package/.agents/tests/fm-shared-captain-inheritance.test.sh +404 -0
- package/.agents/tests/fm-spawn-batch.test.sh +148 -0
- package/.agents/tests/fm-spawn-dispatch-profile.test.sh +827 -0
- package/.agents/tests/fm-spawn-pool-base-freshen.test.sh +440 -0
- package/.agents/tests/fm-spawn-worktree-settle.test.sh +147 -0
- package/.agents/tests/fm-startup-memory-budget.test.sh +333 -0
- package/.agents/tests/fm-startup-network.test.sh +712 -0
- package/.agents/tests/fm-stow-cascade.test.sh +370 -0
- package/.agents/tests/fm-subagent-pretool-check.test.sh +291 -0
- package/.agents/tests/fm-supervision-events.test.sh +156 -0
- package/.agents/tests/fm-supervision-instructions.test.sh +189 -0
- package/.agents/tests/fm-tangle-guard.test.sh +277 -0
- package/.agents/tests/fm-task-delivery.test.sh +420 -0
- package/.agents/tests/fm-task-inbox.test.sh +513 -0
- package/.agents/tests/fm-teardown-endpoint-safety.test.sh +374 -0
- package/.agents/tests/fm-teardown.test.sh +2665 -0
- package/.agents/tests/fm-test-fixture-cleanup.test.sh +172 -0
- package/.agents/tests/fm-test-fixtures.test.sh +132 -0
- package/.agents/tests/fm-test-isolation-proof.test.sh +278 -0
- package/.agents/tests/fm-test-run.test.sh +1196 -0
- package/.agents/tests/fm-tmux-agent-liveness.test.sh +354 -0
- package/.agents/tests/fm-tmux-submit-busy.test.sh +340 -0
- package/.agents/tests/fm-tool-update-check.test.sh +1044 -0
- package/.agents/tests/fm-trace-context-lib.test.sh +253 -0
- package/.agents/tests/fm-trace-context-spawn.test.sh +581 -0
- package/.agents/tests/fm-transition-lib.test.sh +54 -0
- package/.agents/tests/fm-turnend-guard.test.sh +1822 -0
- package/.agents/tests/fm-update.test.sh +304 -0
- package/.agents/tests/fm-vendor-auth-probe.test.sh +395 -0
- package/.agents/tests/fm-voice-relay.test.sh +4741 -0
- package/.agents/tests/fm-wake-daemon-lifecycle-e2e.test.sh +171 -0
- package/.agents/tests/fm-wake-drain-open-decisions-cursor.test.sh +356 -0
- package/.agents/tests/fm-wake-drain-open-decisions.test.sh +226 -0
- package/.agents/tests/fm-wake-drain-unread-status.test.sh +379 -0
- package/.agents/tests/fm-wake-queue.test.sh +1224 -0
- package/.agents/tests/fm-watch-arm.test.sh +821 -0
- package/.agents/tests/fm-watch-checkpoint.test.sh +87 -0
- package/.agents/tests/fm-watch-recovery-loop.test.sh +223 -0
- package/.agents/tests/fm-watch-triage.test.sh +3889 -0
- package/.agents/tests/fm-watcher-lock.test.sh +1133 -0
- package/.agents/tests/fm-x-mode.test.sh +3042 -0
- package/.agents/tests/gleipnir-guard-pretool-check.test.sh +51 -0
- package/.agents/tests/gleipnir-machine-lock.test.sh +130 -0
- package/.agents/tests/herdr-test-safety.sh +42 -0
- package/.agents/tests/lib.sh +315 -0
- package/.agents/tests/remote-herdr-fixture.sh +125 -0
- package/.agents/tests/secondmate-helpers.sh +193 -0
- package/.agents/tests/smoke.test.sh +93 -0
- package/.agents/tests/wake-helpers.sh +338 -0
- package/.agents/tests/zellij-test-safety.sh +60 -0
- package/.agents/tools/README.md +10 -0
- package/.agents/tools/bin/tasks-cli +267 -0
- package/.agents/tools/tasks-cli.ts +216 -0
- package/AGENTS.md +498 -0
- package/CHANGELOG.md +1913 -0
- package/LICENSE +1 -1
- package/NOTICE +63 -0
- package/README.md +114 -60
- package/RULES/01-domains.md +51 -0
- package/RULES/02-agents.md +78 -0
- package/RULES/03-houses.md +61 -0
- package/RULES/04-hoard.md +97 -0
- package/RULES/05-platforms.md +67 -0
- package/RULES/06-append-only.md +108 -0
- package/RULES/07-config.md +101 -0
- package/RULES/08-delivery-gate.md +75 -0
- package/RULES/09-electron.md +58 -0
- package/RULES/README.md +22 -0
- package/bin/README.md +107 -0
- package/bin/a2a-mcp.sh +133 -0
- package/bin/a2a-serve.py +103 -0
- package/bin/a2a-serve.sh +8 -0
- package/bin/a2a-talk.sh +50 -0
- package/bin/a2abridge-ensure.sh +108 -0
- package/bin/agent-run.sh +43 -0
- package/bin/agents-config.sh +256 -0
- package/bin/apodex-smoke-test.sh +105 -0
- package/bin/bifrost-bridge.sh +131 -0
- package/bin/bifrost-ingress.sh +77 -0
- package/bin/bootstrap-macos.sh +112 -0
- package/bin/bootstrap-windows.ps1 +112 -0
- package/bin/branch-guard.sh +64 -0
- package/bin/brokk +73 -0
- package/bin/brokk-classify-lib.sh +1770 -0
- package/bin/brokk-lease-lib.sh +222 -0
- package/bin/brokk-lease.sh +193 -0
- package/bin/brokk-lint.sh +65 -0
- package/bin/brokk-send.sh +51 -0
- package/bin/brokk-update.sh +9 -0
- package/bin/brokk-wake-grant.sh +127 -0
- package/bin/brokk-wake-lib.sh +1849 -0
- package/bin/changelog-assemble.sh +154 -0
- package/bin/changelog-guard.sh +197 -0
- package/bin/crash-sense.sh +173 -0
- package/bin/design-check.sh +80 -0
- package/bin/design-icon.sh +153 -0
- package/bin/desktop-place.sh +224 -0
- package/bin/docs-guard.sh +39 -0
- package/bin/editor-place.sh +225 -0
- package/bin/eindri-acclaim.sh +47 -0
- package/bin/eindri-control.sh +28 -0
- package/bin/eindri-role.sh +83 -0
- package/bin/eindri-seat.sh +83 -0
- package/bin/eindri-seen.sh +54 -0
- package/bin/eindri-send.sh +15 -0
- package/bin/eindri-start.sh +98 -0
- package/bin/eindri-watch.sh +57 -0
- package/bin/einherjar-spawn.sh +576 -0
- package/bin/eir-doctor.sh +158 -0
- package/bin/erindi-brief.sh +271 -0
- package/bin/feature-inventory.sh +73 -0
- package/bin/fleet-apply.sh +81 -0
- package/bin/github-deploy.sh +94 -0
- package/bin/gjallarhorn-expose.sh +136 -0
- package/bin/gjallarhorn-notify.sh +71 -0
- package/bin/gjallarhorn-purge.sh +67 -0
- package/bin/gjallarhorn-tunnel.sh +85 -0
- package/bin/gleipnir-lock-lib.sh +284 -0
- package/bin/groa-update.sh +130 -0
- package/bin/hall-snapshot.sh +111 -0
- package/bin/hamr-harness.sh +246 -0
- package/bin/heimdall-ssh-keys.sh +374 -0
- package/bin/herdr-agents.py +44 -0
- package/bin/herdr-ensure.sh +104 -0
- package/bin/herdr-run.sh +452 -0
- package/bin/hermes-ensure.sh +88 -0
- package/bin/hlidskjalf-agents.sh +172 -0
- package/bin/hlidskjalf-usage.sh +196 -0
- package/bin/hoard-guard.sh +135 -0
- package/bin/hoard-lib.sh +105 -0
- package/bin/hodd.sh +102 -0
- package/bin/host-sense.sh +199 -0
- package/bin/huginn-research-worker.sh +121 -0
- package/bin/local-model-lock.sh +70 -0
- package/bin/mimir-bridge.py +259 -0
- package/bin/mimir-bridge.sh +100 -0
- package/bin/mimir-ingest.sh +131 -0
- package/bin/mimir-reflect.sh +27 -0
- package/bin/mimir.sh +113 -0
- package/bin/mjollnir-webhook.sh +72 -0
- package/bin/mjollnir.sh +104 -0
- package/bin/model-hardware.sh +96 -0
- package/bin/model-resolve.sh +160 -0
- package/bin/models-detect.sh +178 -0
- package/bin/nornir-cron-start.sh +162 -0
- package/bin/nornir-job-daily-briefing.sh +191 -0
- package/bin/nornir-job-git-sync.sh +152 -0
- package/bin/nornir-job-hall-snapshot.sh +28 -0
- package/bin/nornir-job-memory-housekeeping.sh +114 -0
- package/bin/nornir-job-nsr-compliance.sh +54 -0
- package/bin/nornir-job-observer.sh +166 -0
- package/bin/nornir-job-skillopt-sleep.sh +76 -0
- package/bin/npm-publish.sh +136 -0
- package/bin/omarchy-hook-install.sh +60 -0
- package/bin/omarchy-install.sh +161 -0
- package/bin/omarchy-plugins.sh +187 -0
- package/bin/omarchy-sense.sh +162 -0
- package/bin/perm-guard.sh +30 -0
- package/bin/pi-agent.sh +68 -0
- package/bin/pi-ensure.sh +77 -0
- package/bin/pi-local.sh +37 -0
- package/bin/pi-model-agnostic.sh +71 -0
- package/bin/pi-seat.sh +63 -0
- package/bin/prereq-ensure.sh +166 -0
- package/bin/private-guard.sh +58 -0
- package/bin/project-git.sh +69 -0
- package/bin/public-guard.sh +71 -0
- package/bin/ratatoskr.sh +49 -0
- package/bin/realm-lib.sh +32 -0
- package/bin/repo-scrub.sh +62 -0
- package/bin/rodd-operational-input.sh +250 -0
- package/bin/runes-append.sh +198 -0
- package/bin/saga-session-start.sh +172 -0
- package/bin/saga-sessionstart-run.sh +79 -0
- package/bin/saga-wake-drain.sh +41 -0
- package/bin/secret-guard.sh +63 -0
- package/bin/sessrumnir-ensure.sh +100 -0
- package/bin/sessrumnir-sync.sh +237 -0
- package/bin/sessrumnir.sh +104 -0
- package/bin/skillopt-setup.sh +76 -0
- package/bin/skuld-branch-outcome.sh +203 -0
- package/bin/skuld-branch-prompt.sh +101 -0
- package/bin/smidja-bootstrap.sh +94 -0
- package/bin/smidja-observe.sh +86 -0
- package/bin/syn-arm-pretool-check.sh +57 -0
- package/bin/syn-asset-pretool-check.sh +89 -0
- package/bin/syn-cd-pretool-check.sh +28 -0
- package/bin/syn-guard-pretool-check.sh +83 -0
- package/bin/syn-spawn-pretool-check.sh +58 -0
- package/bin/syn-turnend-guard.sh +36 -0
- package/bin/syn-watch-arm.sh +99 -0
- package/bin/tailscale-sync.sh +203 -0
- package/bin/telegram-bot.sh +82 -0
- package/bin/toolchain.sh +74 -0
- package/bin/ui-truth-check.sh +75 -0
- package/bin/utgard.sh +111 -0
- package/bin/valhalla.sh +115 -0
- package/bin/valknut-load.sh +298 -0
- package/bin/vor-crew-state.sh +124 -0
- package/bin/wedge-notify.sh +60 -0
- package/bin/workspace-provision.sh +80 -0
- package/bin/workspace-rag.sh +163 -0
- package/bin/wyrd-db.sh +47 -0
- package/bin/yggdrasil.sh +152 -0
- package/bin/ymir-edit.sh +145 -0
- package/bin/ymir-install.sh +806 -0
- package/bin/ymir-invite.sh +93 -0
- package/bin/ymir-isolation.sh +88 -0
- package/bin/ymir-migrate.sh +61 -0
- package/bin/ymir-plan.sh +356 -0
- package/bin/ymir-platform.sh +348 -0
- package/bin/ymir-say.sh +110 -0
- package/bin/ymir-setup-auth.sh +119 -0
- package/bin/ymir-validate.sh +193 -0
- package/bin/ymir.js +74 -16
- package/docs/Architecture.md +339 -0
- package/docs/design.md +351 -0
- package/docs/installations/README.md +63 -0
- package/docs/installations/ymir-home.md +93 -0
- package/docs/integration.md +105 -0
- package/docs/lore.md +1060 -0
- package/docs/research/agent-harnesses.md +290 -0
- package/docs/runbooks/README.md +19 -0
- package/docs/runbooks/a2a.md +91 -0
- package/docs/runbooks/agent-permissions.md +99 -0
- package/docs/runbooks/agents.md +57 -0
- package/docs/runbooks/models.md +69 -0
- package/docs/runbooks/realm-onboarding.md +60 -0
- package/docs/runbooks/secrets-and-hoard.md +60 -0
- package/docs/runbooks/updates-and-migrations.md +110 -0
- package/docs/runbooks/worktrees-isolation.md +72 -0
- package/docs/session-start.md +105 -0
- package/docs/skillopt-integration.md +321 -0
- package/docs/sync-system.md +66 -0
- package/docs/workspaces.md +104 -0
- package/docs/ymir-rut.md +260 -0
- package/package.json +54 -14
- package/packaging/build.sh +74 -0
- package/packaging/macos/Ymir Installer.command +43 -0
- package/packaging/windows/ymir-setup.nsi +74 -0
- package/scripts/README.md +22 -0
- package/scripts/electron.sh +269 -0
- package/scripts/lower.sh +34 -0
- package/scripts/raise.sh +42 -0
- package/scripts/start.sh +217 -0
- package/scripts/stop.sh +113 -0
- package/install.sh +0 -35
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
#!/usr/bin/env python3
|
|
2
|
+
# telemetry logger: SQLite observability.
|
|
3
|
+
# One data path: agents write to SQLite (runs/events); readers poll SQLite.
|
|
4
|
+
import argparse
|
|
5
|
+
import json
|
|
6
|
+
import pathlib
|
|
7
|
+
import sqlite3
|
|
8
|
+
import sys
|
|
9
|
+
import time
|
|
10
|
+
import uuid
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
def find_root():
|
|
14
|
+
for parent in pathlib.Path(__file__).resolve().parents:
|
|
15
|
+
if (parent / ".agents").is_dir():
|
|
16
|
+
return parent
|
|
17
|
+
raise SystemExit("error: not in a NorthStar repo (no .agents/ upward)")
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
ROOT = find_root()
|
|
21
|
+
DB = ROOT / ".compliance" / "telemetry" / "runs.db"
|
|
22
|
+
|
|
23
|
+
SCHEMA = """
|
|
24
|
+
CREATE TABLE IF NOT EXISTS runs (
|
|
25
|
+
id TEXT PRIMARY KEY,
|
|
26
|
+
ts REAL NOT NULL,
|
|
27
|
+
phase TEXT NOT NULL,
|
|
28
|
+
status TEXT NOT NULL DEFAULT 'success',
|
|
29
|
+
tokens INTEGER NOT NULL DEFAULT 0,
|
|
30
|
+
latency_ms REAL NOT NULL DEFAULT 0,
|
|
31
|
+
tool_invocations INTEGER NOT NULL DEFAULT 0,
|
|
32
|
+
cost_usd REAL NOT NULL DEFAULT 0
|
|
33
|
+
);
|
|
34
|
+
CREATE TABLE IF NOT EXISTS events (
|
|
35
|
+
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
36
|
+
run_id TEXT,
|
|
37
|
+
ts REAL NOT NULL,
|
|
38
|
+
type TEXT NOT NULL,
|
|
39
|
+
detail TEXT
|
|
40
|
+
);
|
|
41
|
+
"""
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
def connect():
|
|
45
|
+
DB.parent.mkdir(parents=True, exist_ok=True)
|
|
46
|
+
con = sqlite3.connect(str(DB))
|
|
47
|
+
con.executescript(SCHEMA)
|
|
48
|
+
return con
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
def cmd_log(args):
|
|
52
|
+
run_id = args.run_id or uuid.uuid4().hex[:12]
|
|
53
|
+
con = connect()
|
|
54
|
+
con.execute(
|
|
55
|
+
"INSERT INTO runs (id, ts, phase, status, tokens, latency_ms, tool_invocations, cost_usd) "
|
|
56
|
+
"VALUES (?, ?, ?, ?, ?, ?, ?, ?)",
|
|
57
|
+
(run_id, time.time(), args.phase, args.status, args.tokens,
|
|
58
|
+
args.latency_ms, args.tool_invocations, args.cost),
|
|
59
|
+
)
|
|
60
|
+
for ev in args.event or []:
|
|
61
|
+
etype, _, detail = ev.partition(":")
|
|
62
|
+
con.execute(
|
|
63
|
+
"INSERT INTO events (run_id, ts, type, detail) VALUES (?, ?, ?, ?)",
|
|
64
|
+
(run_id, time.time(), etype, detail),
|
|
65
|
+
)
|
|
66
|
+
con.commit()
|
|
67
|
+
print("[telemetry] logged %s (%s): tokens=%d latency=%.1fms tools=%d cost=$%.4f"
|
|
68
|
+
% (args.phase, run_id, args.tokens, args.latency_ms, args.tool_invocations, args.cost))
|
|
69
|
+
con.close()
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
def cmd_query(args):
|
|
73
|
+
con = connect()
|
|
74
|
+
rows = con.execute(
|
|
75
|
+
"SELECT id, ts, phase, status, tokens, latency_ms, tool_invocations, cost_usd "
|
|
76
|
+
"FROM runs ORDER BY ts DESC LIMIT ?",
|
|
77
|
+
(args.last,),
|
|
78
|
+
).fetchall()
|
|
79
|
+
for row in rows:
|
|
80
|
+
print(json.dumps(dict(zip(
|
|
81
|
+
["run_id", "ts", "phase", "status", "tokens", "latency_ms", "tool_invocations", "cost_usd"],
|
|
82
|
+
row))))
|
|
83
|
+
con.close()
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
def main():
|
|
87
|
+
p = argparse.ArgumentParser(description="WayOfNorthStar telemetry logger (SQLite)")
|
|
88
|
+
sub = p.add_subparsers(dest="cmd")
|
|
89
|
+
logp = sub.add_parser("log", help="write a run/event record")
|
|
90
|
+
logp.add_argument("--run-id")
|
|
91
|
+
logp.add_argument("--phase", default="debug")
|
|
92
|
+
logp.add_argument("--status", default="success")
|
|
93
|
+
logp.add_argument("--tokens", type=int, default=0)
|
|
94
|
+
logp.add_argument("--latency-ms", type=float, default=0.0)
|
|
95
|
+
logp.add_argument("--tool-invocations", type=int, default=0)
|
|
96
|
+
logp.add_argument("--cost", type=float, default=0.0)
|
|
97
|
+
logp.add_argument("--event", action="append", help="type[:detail]")
|
|
98
|
+
qp = sub.add_parser("query", help="read recent runs (readers poll SQLite)")
|
|
99
|
+
qp.add_argument("--last", type=int, default=10)
|
|
100
|
+
args = p.parse_args()
|
|
101
|
+
if args.cmd == "log":
|
|
102
|
+
cmd_log(args)
|
|
103
|
+
return 0
|
|
104
|
+
if args.cmd == "query":
|
|
105
|
+
cmd_query(args)
|
|
106
|
+
return 0
|
|
107
|
+
p.print_help()
|
|
108
|
+
return 0
|
|
109
|
+
|
|
110
|
+
|
|
111
|
+
if __name__ == "__main__":
|
|
112
|
+
sys.exit(main())
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# BEST_PRACTICES/
|
|
2
|
+
|
|
3
|
+
Category-specific engineering standards. Indexed by `BEST_PRACTICES.md` (root).
|
|
4
|
+
|
|
5
|
+
## Files
|
|
6
|
+
|
|
7
|
+
- `api.md` — REST design, versioning, error handling.
|
|
8
|
+
- `frontend.md` — Component structure, state, styling.
|
|
9
|
+
- *(add more: `state-management.md`, `code-quality.md`, ...)*
|
|
10
|
+
|
|
11
|
+
## Rules
|
|
12
|
+
|
|
13
|
+
- One topic per file; actionable guidance.
|
|
14
|
+
- Keep `BEST_PRACTICES.md` (root) in sync.
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# API Best Practices — __PROJECT__
|
|
2
|
+
|
|
3
|
+
## REST Design
|
|
4
|
+
- Resource-based URLs under a versioned prefix (`/api/v1/...`).
|
|
5
|
+
- JSON everywhere; camelCase fields.
|
|
6
|
+
|
|
7
|
+
## Versioning
|
|
8
|
+
- Breaking changes → new major version (`/api/v2`).
|
|
9
|
+
- Deprecations documented in `docs/features/`.
|
|
10
|
+
|
|
11
|
+
## Error Handling
|
|
12
|
+
- Consistent error envelope: `{ error: { code, message, details } }`.
|
|
13
|
+
- 4xx for client errors, 5xx for server errors; never leak stack traces.
|
|
14
|
+
- Log errors with context via `.agents/skills/features/*/logs.sh`.
|
|
15
|
+
|
|
16
|
+
## Enforced By
|
|
17
|
+
- `.agents/skills/features/<feature>/test.sh` (API contract tests).
|
package/.agents/skills/nsr-compliance/assets/nsr/assets/docs/BEST_PRACTICES/compliance-wiring.md
ADDED
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
# Wiring the Compliance to Your Project
|
|
2
|
+
|
|
3
|
+
> The compliance is a project-agnostic engine. Wiring is how it *benefits your specific stack*.
|
|
4
|
+
> This guide is for humans **and** agents: it explains how to add things, wire existing
|
|
5
|
+
> procedures, and operate the compliance safely. Read it before dispatching agents against a
|
|
6
|
+
> wired repo.
|
|
7
|
+
|
|
8
|
+
## 1. The Mental Model
|
|
9
|
+
|
|
10
|
+
- **Engine** — the compliance: `runner.py`, gates, telemetry, envelopes. Generic, portable, stack-neutral. It does not know or care what stack you run.
|
|
11
|
+
- **Gearbox** — the scripts under `.agents/skills/lifecycle/` and `.agents/skills/features/<name>/`. **You wire these to your app.** This is where your project's reality lives.
|
|
12
|
+
- **Fuel** — your existing procedures: how you start, stop, health-check, test, seed, and deploy today. The compliance never replaces them — it *wraps* them in env checks, exit-code gates, and telemetry.
|
|
13
|
+
|
|
14
|
+
Rule: **the compliance adds value only where the gearbox is wired.** A freshly stamped repo is 100% stubs — that is scaffolding, not operation.
|
|
15
|
+
|
|
16
|
+
## 2. The Fixed Script Contract
|
|
17
|
+
|
|
18
|
+
Every script must be:
|
|
19
|
+
- POSIX bash, relative paths only, no absolute paths
|
|
20
|
+
- `set -e`; `exit 0` on success, non-zero on failure
|
|
21
|
+
- Env-driven (read `APP_ENV`, `DATABASE_URL`, etc.; never hardcode)
|
|
22
|
+
- No raw `kill -9` / `pkill` — use wired lifecycle scripts
|
|
23
|
+
- If it touches anything destructive → annotate `# gate:` (see §5)
|
|
24
|
+
|
|
25
|
+
| Domain | Script | What it binds to |
|
|
26
|
+
|--------|--------|------------------|
|
|
27
|
+
| lifecycle | `start.sh` | boot the app for `APP_ENV` |
|
|
28
|
+
| lifecycle | `stop.sh` | graceful shutdown (no kill -9) |
|
|
29
|
+
| lifecycle | `status.sh` | health endpoint / process check |
|
|
30
|
+
| lifecycle | `smoke_test.sh` | post-boot verification against the real app |
|
|
31
|
+
| features/`<name>` | `setup.sh` | env/data bootstrap, seeds, migrations |
|
|
32
|
+
| features/`<name>` | `test.sh` | the feature's real test suite |
|
|
33
|
+
| features/`<name>` | `smoke_test.sh` | feature health after a change |
|
|
34
|
+
| features/`<name>` | `rollback.sh` | teardown / emergency rollback |
|
|
35
|
+
|
|
36
|
+
## 3. Step 1 — Inventory Existing Procedures
|
|
37
|
+
|
|
38
|
+
Write down the exact commands your project already uses:
|
|
39
|
+
|
|
40
|
+
- How do you boot it today? (`mix phx.server`, `npm run dev`, `manage.py runserver`, `docker compose up`...)
|
|
41
|
+
- How do you stop it? (Ctrl-C, `mix phx.server --no-compile` teardown, `docker compose down`, systemd stop)
|
|
42
|
+
- What is the health signal? (HTTP endpoint, DB ping, `mix phx.status`, `pg_isready`)
|
|
43
|
+
- What is the real test command? (`mix test`, `npm test`, `pytest`, `go test`)
|
|
44
|
+
- What needs permission before running? (migrations, seed/production data, `DROP`, force push, deploy)
|
|
45
|
+
|
|
46
|
+
## 4. Step 2 — Wire the Lifecycle Scripts (examples)
|
|
47
|
+
|
|
48
|
+
**Elixir / Phoenix**
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
# .agents/skills/lifecycle/start.sh
|
|
52
|
+
#!/usr/bin/env bash
|
|
53
|
+
set -e
|
|
54
|
+
cd "$(dirname "$0")/../../.."
|
|
55
|
+
[ -f .env ] && set -a && . ./.env && set +a
|
|
56
|
+
case "${APP_ENV:-development}" in
|
|
57
|
+
dev|development) exec mix phx.server ;;
|
|
58
|
+
prod) exec mix phx.server --no-compile ;;
|
|
59
|
+
*) echo "unknown APP_ENV=$APP_ENV"; exit 1 ;;
|
|
60
|
+
esac
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
```bash
|
|
64
|
+
# .agents/skills/lifecycle/status.sh
|
|
65
|
+
#!/usr/bin/env bash
|
|
66
|
+
set -e
|
|
67
|
+
cd "$(dirname "$0")/../../.."
|
|
68
|
+
curl -fsS "http://${PHX_HOST:-localhost}:${PORT:-4000}/health" >/dev/null
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
**Node.js**
|
|
72
|
+
|
|
73
|
+
```bash
|
|
74
|
+
# .agents/skills/lifecycle/start.sh
|
|
75
|
+
#!/usr/bin/env bash
|
|
76
|
+
set -e
|
|
77
|
+
cd "$(dirname "$0")/../../.."
|
|
78
|
+
case "${APP_ENV:-development}" in
|
|
79
|
+
prod) exec npm run start ;;
|
|
80
|
+
*) exec npm run dev ;;
|
|
81
|
+
esac
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
**Python / Django**
|
|
85
|
+
|
|
86
|
+
```bash
|
|
87
|
+
# .agents/skills/lifecycle/start.sh
|
|
88
|
+
#!/usr/bin/env bash
|
|
89
|
+
set -e
|
|
90
|
+
cd "$(dirname "$0")/../../.."
|
|
91
|
+
exec python manage.py runserver 0.0.0.0:"${PORT:-8000}"
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
Wrap, never replace: if `scripts/cloudflare/startprod.sh` already does the right thing, your `start.sh` can simply delegate to it plus an env check:
|
|
95
|
+
|
|
96
|
+
```bash
|
|
97
|
+
# .agents/skills/lifecycle/start.sh
|
|
98
|
+
#!/usr/bin/env bash
|
|
99
|
+
set -e
|
|
100
|
+
cd "$(dirname "$0")/../../.."
|
|
101
|
+
[ "${APP_ENV:-development}" != "prod" ] || { scripts/cloudflare/startprod.sh; exit $?; }
|
|
102
|
+
scripts/cloudflare/startdev.sh
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
## 5. Step 3 — Danger Annotations
|
|
106
|
+
|
|
107
|
+
Any script containing a destructive/force primitive **must** declare it:
|
|
108
|
+
|
|
109
|
+
```bash
|
|
110
|
+
# gate: dev – safe for agents/automation in dev; human confirm in prod
|
|
111
|
+
# gate: guard – must not run until a required guard script passes
|
|
112
|
+
# gate: human – irreversible; agents must never run this alone
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
`check_danger.sh` fails on dangerous scripts without an annotation. The runner *refuses* to auto-run `guard`/`human` scripts during `--plan` unless a human passes `--confirm-gate`.
|
|
116
|
+
|
|
117
|
+
## 6. Step 4 — Prove the Wiring
|
|
118
|
+
|
|
119
|
+
```bash
|
|
120
|
+
# 1. Nothing left stubbed
|
|
121
|
+
.compliance/gates/check_wiring.sh --strict
|
|
122
|
+
|
|
123
|
+
# 2. No undeclared danger
|
|
124
|
+
.compliance/gates/check_danger.sh
|
|
125
|
+
|
|
126
|
+
# 3. Script registry (see what the compliance can do)
|
|
127
|
+
.compliance/harness/runner.py --list
|
|
128
|
+
|
|
129
|
+
# 4. Run for real — envelope -> gates -> your test suite
|
|
130
|
+
.compliance/harness/runner.py --plan <task-envelope.json> --action test
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
Run each lifecycle script once manually. If any exits non-zero, it is not wired and must be fixed before agents are trusted.
|
|
134
|
+
|
|
135
|
+
## 7. How Agents Operate the Compliance
|
|
136
|
+
|
|
137
|
+
- Agents never invent commands: they call wired scripts through `runner.py`.
|
|
138
|
+
- Agents read `--list` to see what exists, then open the matching feature script.
|
|
139
|
+
- The compliance verifies success by `$?`, never by the agent's word.
|
|
140
|
+
- Human-gated scripts (`# gate: human/guard`) are off-limits to agents; a human runs them after review.
|
|
141
|
+
|
|
142
|
+
## 8. The Compliance Grows with the Project
|
|
143
|
+
|
|
144
|
+
Adding a capability is mechanical:
|
|
145
|
+
|
|
146
|
+
1. Register the feature in `FEATURES.md`.
|
|
147
|
+
2. Create `.agents/skills/features/<name>/` with the five wired scripts (`setup test smoke_test rollback` + `SKILL.md`).
|
|
148
|
+
3. `check_wiring.sh --strict` and `check_danger.sh` automatically include it.
|
|
149
|
+
4. `runner.py --list` and `--plan --feature <name>` pick it up with zero compliance changes.
|
|
150
|
+
|
|
151
|
+
A new gate dropped in `.compliance/gates/` is auto-run by every `--gates`/`--plan`.
|
|
152
|
+
|
|
153
|
+
## 9. When It Is NOT Worth It
|
|
154
|
+
|
|
155
|
+
A one-off feature that will not be run repeatedly → prompt an agent directly; do not build a feature slot. The compliance earns its keep when the same workflow runs often (agents, CI, or repeated automation) and you need verification, metering, and safe autonomy.
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# Frontend Best Practices — __PROJECT__
|
|
2
|
+
|
|
3
|
+
## Structure
|
|
4
|
+
- Feature-based folders; shared UI in a common components dir.
|
|
5
|
+
|
|
6
|
+
## State
|
|
7
|
+
- Server state via a data-fetching library; local UI state via hooks.
|
|
8
|
+
- No global state store unless genuinely cross-cutting.
|
|
9
|
+
|
|
10
|
+
## Styling
|
|
11
|
+
- Pinned CSS approach; no inline magic values.
|
|
12
|
+
- Responsive-first.
|
|
13
|
+
|
|
14
|
+
## Enforced By
|
|
15
|
+
- `.agents/skills/lifecycle/status.sh` + feature smoke tests.
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# CI_CD/
|
|
2
|
+
|
|
3
|
+
Pipeline configuration docs and deployment specs.
|
|
4
|
+
|
|
5
|
+
## Files
|
|
6
|
+
- `build.md`, `test.md`, `release.md` — pipeline stage docs (add as needed).
|
|
7
|
+
- `deployment/` — envs, clients, tenants, deploy.sh.
|
|
8
|
+
|
|
9
|
+
## Rules
|
|
10
|
+
- Every pipeline step calls `.agents/skills/` scripts — no ad-hoc inline shell.
|
|
11
|
+
- Deploy via `deployment/deploy.sh`.
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# CI_CD/deployment/
|
|
2
|
+
|
|
3
|
+
Env-driven deployment specifications. Multiple deployments per project: env tiers, per-client, and shared multi-tenant instances.
|
|
4
|
+
|
|
5
|
+
## Layout
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
deployment/
|
|
9
|
+
├── envs/ # Per-environment base templates
|
|
10
|
+
│ ├── development.env.example
|
|
11
|
+
│ ├── staging.env.example
|
|
12
|
+
│ └── production.env.example
|
|
13
|
+
├── clients/ # Per-client deployments
|
|
14
|
+
│ └── <client>/ # staging.env.example, production.env.example
|
|
15
|
+
├── tenants/ # Multi-tenant provisioning
|
|
16
|
+
│ └── <tenant>.env.example
|
|
17
|
+
└── deploy.sh # Env-driven deploy runner
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## Rules
|
|
21
|
+
- Templates only committed; real values injected at deploy time.
|
|
22
|
+
- Client/tenant identity is an env input, never hardcoded.
|
|
23
|
+
- Run `.compliance/gates/*` before any deploy.
|
package/.agents/skills/nsr-compliance/assets/nsr/assets/docs/CI_CD/deployment/clients/README.md
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# clients/
|
|
2
|
+
|
|
3
|
+
Per-client deployments. Each client is a first-class deployment target.
|
|
4
|
+
|
|
5
|
+
## Layout
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
clients/<client>/
|
|
9
|
+
├── README.md
|
|
10
|
+
├── staging.env.example
|
|
11
|
+
└── production.env.example
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
## Rules
|
|
15
|
+
- Client identity is an env input, never hardcoded.
|
|
16
|
+
- Commit templates only; inject real values/secrets at deploy.
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# Client: <name>
|
|
2
|
+
|
|
3
|
+
Per-client deployment for a client.
|
|
4
|
+
|
|
5
|
+
## Templates
|
|
6
|
+
- `staging.env.example`
|
|
7
|
+
- `production.env.example`
|
|
8
|
+
|
|
9
|
+
## Rules
|
|
10
|
+
- Deploy via `docs/CI_CD/deployment/deploy.sh --env <env> --target client:<name>`.
|
|
11
|
+
- Client-specific branding/features come from these templates.
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
# Env-driven deploy runner. Inputs: environment tier + deployment target (client|tenant).
|
|
3
|
+
# All paths relative to repo root. POSIX-portable (Mac/Linux/Windows via Git Bash/WSL).
|
|
4
|
+
set -e
|
|
5
|
+
|
|
6
|
+
ROOT="$(cd "$(dirname "$0")/../../.." && pwd)"
|
|
7
|
+
DEPLOY_DIR="$(cd "$(dirname "$0")" && pwd)"
|
|
8
|
+
|
|
9
|
+
usage() {
|
|
10
|
+
echo "Usage: deploy.sh --env <env> --target <client|tenant>"
|
|
11
|
+
echo " --env environment tier: development|staging|production"
|
|
12
|
+
echo " --target deployment target: 'client:<name>' or 'tenant:<name>'"
|
|
13
|
+
exit 1
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
ENV=""
|
|
17
|
+
TARGET=""
|
|
18
|
+
while [ $# -gt 0 ]; do
|
|
19
|
+
case "$1" in
|
|
20
|
+
--env) ENV="$2"; shift 2 ;;
|
|
21
|
+
--target) TARGET="$2"; shift 2 ;;
|
|
22
|
+
*) usage ;;
|
|
23
|
+
esac
|
|
24
|
+
done
|
|
25
|
+
|
|
26
|
+
[ -n "$ENV" ] && [ -n "$TARGET" ] || usage
|
|
27
|
+
|
|
28
|
+
BASE="$DEPLOY_DIR/envs/$ENV.env.example"
|
|
29
|
+
[ -f "$BASE" ] || { echo "Missing env template: $BASE"; exit 1; }
|
|
30
|
+
|
|
31
|
+
TYPE="${TARGET%%:*}"
|
|
32
|
+
NAME="${TARGET#*:}"
|
|
33
|
+
case "$TYPE" in
|
|
34
|
+
client) OVERRIDE="$DEPLOY_DIR/clients/$NAME/$ENV.env.example" ;;
|
|
35
|
+
tenant) OVERRIDE="$DEPLOY_DIR/tenants/$NAME.env.example" ;;
|
|
36
|
+
*) echo "Unknown target type: $TYPE"; exit 1 ;;
|
|
37
|
+
esac
|
|
38
|
+
|
|
39
|
+
echo "[deploy] env=$ENV target=$TARGET"
|
|
40
|
+
echo " base: $BASE"
|
|
41
|
+
[ -f "$OVERRIDE" ] && echo " over: $OVERRIDE" || echo " over: (none)"
|
|
42
|
+
|
|
43
|
+
# Deterministic pre-deploy gates
|
|
44
|
+
echo "[deploy] running pre-deploy gates"
|
|
45
|
+
bash "$ROOT/.compliance/gates/check_env.sh"
|
|
46
|
+
bash "$ROOT/.compliance/gates/check_paths.sh"
|
|
47
|
+
bash "$ROOT/.compliance/gates/check_platform.sh"
|
|
48
|
+
|
|
49
|
+
echo "[deploy] OK: ready to deploy (stub — actual rollout via .agents/skills/features/*)"
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
# envs/
|
|
2
|
+
|
|
3
|
+
Per-environment base config templates.
|
|
4
|
+
|
|
5
|
+
## Files
|
|
6
|
+
- `development.env.example`
|
|
7
|
+
- `staging.env.example`
|
|
8
|
+
- `production.env.example`
|
|
9
|
+
|
|
10
|
+
## Rules
|
|
11
|
+
- Commit templates only; never real `.env`/secrets.
|
|
12
|
+
- Declare every required var explicitly for `check_env.sh`.
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# Env: development
|
|
2
|
+
|
|
3
|
+
# Copy to .env for local dev — inject real values, never commit.
|
|
4
|
+
APP_NAME=__project__
|
|
5
|
+
APP_ENV=development
|
|
6
|
+
APP_PORT=3000
|
|
7
|
+
|
|
8
|
+
DATABASE_URL=postgres://app:app@localhost:5432/app
|
|
9
|
+
REDIS_URL=redis://localhost:6379
|
|
10
|
+
|
|
11
|
+
FEATURES_ENABLED=
|
|
12
|
+
|
|
13
|
+
CLIENT_ID=dev-client
|
|
14
|
+
TENANT_ID=dev-tenant
|
|
15
|
+
|
|
16
|
+
# Inject at runtime; never commit.
|
|
17
|
+
# CRYPTO_SECRET=
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# Env: production
|
|
2
|
+
|
|
3
|
+
APP_NAME=__project__
|
|
4
|
+
APP_ENV=production
|
|
5
|
+
APP_PORT=443
|
|
6
|
+
|
|
7
|
+
DATABASE_URL=postgres://app:app@prod-db:5432/app
|
|
8
|
+
REDIS_URL=redis://prod-redis:6379
|
|
9
|
+
|
|
10
|
+
FEATURES_ENABLED=
|
|
11
|
+
|
|
12
|
+
# Set at deploy time per client/tenant.
|
|
13
|
+
# CLIENT_ID=
|
|
14
|
+
# TENANT_ID=
|
|
15
|
+
|
|
16
|
+
# MUST be injected via secret manager. Never commit, never default.
|
|
17
|
+
# CRYPTO_SECRET=
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# Env: staging
|
|
2
|
+
|
|
3
|
+
APP_NAME=__project__
|
|
4
|
+
APP_ENV=staging
|
|
5
|
+
APP_PORT=8080
|
|
6
|
+
|
|
7
|
+
DATABASE_URL=postgres://app:app@staging-db:5432/app
|
|
8
|
+
REDIS_URL=redis://staging-redis:6379
|
|
9
|
+
|
|
10
|
+
FEATURES_ENABLED=
|
|
11
|
+
|
|
12
|
+
# Set at deploy time.
|
|
13
|
+
# CLIENT_ID=
|
|
14
|
+
# TENANT_ID=
|
|
15
|
+
|
|
16
|
+
# Inject at runtime; never commit.
|
|
17
|
+
# CRYPTO_SECRET=
|
package/.agents/skills/nsr-compliance/assets/nsr/assets/docs/CI_CD/deployment/tenants/README.md
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# tenants/
|
|
2
|
+
|
|
3
|
+
Multi-tenant provisioning & tenant config for shared instances.
|
|
4
|
+
|
|
5
|
+
## Files
|
|
6
|
+
- `<tenant>.env.example` — per-tenant provisioning profile.
|
|
7
|
+
|
|
8
|
+
## Rules
|
|
9
|
+
- Tenant identity is dynamic (per-request), isolated at runtime.
|
|
10
|
+
- Tenant-scoped config as templates; data isolation enforced at runtime.
|
|
11
|
+
- Never commit tenant secrets.
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# docs/DEVELOPER_SETUP/
|
|
2
|
+
|
|
3
|
+
Per-developer core setup — explain every developer so no one guesses.
|
|
4
|
+
|
|
5
|
+
## Who Develops Here (Brief)
|
|
6
|
+
|
|
7
|
+
1. **Developer 1 — *(name)*:** *(role)* — *(stack)*.
|
|
8
|
+
2. *(add each developer)*
|
|
9
|
+
|
|
10
|
+
## Core Setup (Common)
|
|
11
|
+
|
|
12
|
+
1. Platform: Mac/Linux/Windows (WSL2 / Git Bash for POSIX).
|
|
13
|
+
2. Toolchain: pinned in `TECH_STACK.md`.
|
|
14
|
+
3. Clone + install via `.agents/skills/` scripts.
|
|
15
|
+
4. Env: copy `docs/CI_CD/deployment/envs/development.env.example` → `.env`; inject via secret manager.
|
|
16
|
+
5. Credentials: SSH key + secret manager (references only).
|
|
17
|
+
6. Verify: `check_env.sh`, `check_paths.sh`, `check_platform.sh`.
|
|
18
|
+
|
|
19
|
+
## Explicit Per-Developer Files
|
|
20
|
+
|
|
21
|
+
- `developers/dev-1.md` .. `dev-N.md` — one file per developer.
|
|
22
|
+
|
|
23
|
+
## Platform Appendices
|
|
24
|
+
|
|
25
|
+
- `shared.md` — cross-platform rules.
|
|
26
|
+
- `macos.md`, `linux.md`, `windows.md`, `agent.md`.
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
# DEVELOPER_SETUP — Agent Runtime
|
|
2
|
+
|
|
3
|
+
- Install harness via `.compliance/installer/install.sh`.
|
|
4
|
+
- Embedded compliance: `.agents/skills/NSRcompliance/` (SKILL.md, config, gates, harness, telemetry).
|
|
5
|
+
- MCP sync → WayOfTeams (Kanban, Knowledge Base, Anchor Memory).
|
|
6
|
+
- Env-driven config only; run `check_env.sh` before tasks.
|
|
7
|
+
- Telemetry via `.compliance/telemetry/logger.py`.
|
package/.agents/skills/nsr-compliance/assets/nsr/assets/docs/DEVELOPER_SETUP/developers/dev-1.md
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# Developer N
|
|
2
|
+
|
|
3
|
+
## Identity
|
|
4
|
+
- **Name:** *(replace)*
|
|
5
|
+
- **Role:** *(e.g., Backend / Frontend / DevOps)*
|
|
6
|
+
- **Platform:** *(macOS / Linux / Windows)*
|
|
7
|
+
|
|
8
|
+
## Core Setup
|
|
9
|
+
- **Stack:** *(from TECH_STACK.md)*
|
|
10
|
+
- **Toolchain:** *(pinned versions)*
|
|
11
|
+
- **Environment:** `.env` from `docs/CI_CD/deployment/envs/development.env.example`
|
|
12
|
+
- **Credentials:** *(SSH key, secret-manager refs — never raw secrets)*
|
|
13
|
+
|
|
14
|
+
## Local Loop
|
|
15
|
+
- **Start:** `.agents/skills/lifecycle/start.sh`
|
|
16
|
+
- **Test:** `.agents/skills/features/<feature>/test.sh`
|
|
17
|
+
- **Verify:** `.compliance/gates/check_env.sh`, `check_paths.sh`, `check_platform.sh`
|
|
18
|
+
|
|
19
|
+
## Responsibilities
|
|
20
|
+
- *(what this developer owns)*
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
# DEVELOPER_SETUP — Linux
|
|
2
|
+
|
|
3
|
+
- Debian/Ubuntu: `sudo apt install -y git bash python3 nodejs npm`
|
|
4
|
+
- Fedora: `sudo dnf install -y git bash python3 nodejs`
|
|
5
|
+
- SSH keys at `~/.ssh/`; `ssh-agent` for keys.
|
|
6
|
+
- Docker: add user to `docker` group if used.
|
|
7
|
+
|
|
8
|
+
## Gotchas
|
|
9
|
+
- Forward slashes; LF endings.
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
# DEVELOPER_SETUP — macOS
|
|
2
|
+
|
|
3
|
+
- Homebrew: `/bin/bash -c "$(curl -fsSL ...install/HEAD/install.sh)"`
|
|
4
|
+
- Toolchain: `brew install git bash python3 node`
|
|
5
|
+
- SSH keys at `~/.ssh/`.
|
|
6
|
+
- Local loop via `.agents/skills/lifecycle/*`.
|
|
7
|
+
|
|
8
|
+
## Gotchas
|
|
9
|
+
- Run bash scripts with `bash`, not `zsh`.
|
|
10
|
+
- Localhost port from `.env` `APP_PORT`.
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# DEVELOPER_SETUP — Shared (All Platforms)
|
|
2
|
+
|
|
3
|
+
Cross-platform toolchain/env/git rules.
|
|
4
|
+
|
|
5
|
+
## Toolchain
|
|
6
|
+
- Runtimes per `TECH_STACK.md` (pinned versions).
|
|
7
|
+
- bash (POSIX) for automation; Windows uses WSL2 / Git Bash.
|
|
8
|
+
|
|
9
|
+
## Git & Credentials
|
|
10
|
+
- SSH key + secret manager (references only).
|
|
11
|
+
- Git ops via `.agents/skills/git_ops/`.
|
|
12
|
+
|
|
13
|
+
## Environment
|
|
14
|
+
- Copy `docs/CI_CD/deployment/envs/development.env.example` → `.env`.
|
|
15
|
+
- Inject real values via env / secret manager. Never commit `.env`.
|
|
16
|
+
|
|
17
|
+
## Rules
|
|
18
|
+
- Everything via `.agents/skills/` scripts — zero ad-hoc.
|
|
19
|
+
- Repo-relative paths; forward slashes; LF.
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# DEVELOPER_SETUP — Windows
|
|
2
|
+
|
|
3
|
+
Use WSL2 (recommended) or Git Bash for POSIX automation.
|
|
4
|
+
|
|
5
|
+
## Option A — WSL2
|
|
6
|
+
- `wsl --install`, then follow `linux.md`.
|
|
7
|
+
|
|
8
|
+
## Option B — Git Bash
|
|
9
|
+
- Install "Git for Windows"; run `.sh` from Git Bash.
|
|
10
|
+
|
|
11
|
+
## Gotchas
|
|
12
|
+
- LF line endings (rejected by `check_platform.sh` if CRLF).
|
|
13
|
+
- No `C:\...` absolute paths (rejected by `check_paths.sh`).
|
|
14
|
+
- No `taskkill`/`pkill` in project scripts.
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# docs/HOSTING/
|
|
2
|
+
|
|
3
|
+
Per-hosting core info — never break production.
|
|
4
|
+
|
|
5
|
+
## Consolidated Hosting List
|
|
6
|
+
|
|
7
|
+
1. **Hosting 1 — *(provider)*:** runs *(services)* for *(clients/tenants/envs)*; access via *(secret manager / service account)*; **critical rule:** always deploy via skill scripts, no manual live-config edits.
|
|
8
|
+
2. *(add each hosting here)*
|
|
9
|
+
|
|
10
|
+
## Core Rules
|
|
11
|
+
|
|
12
|
+
1. Never break hosting — ops via `.agents/skills/` scripts only.
|
|
13
|
+
2. No raw secrets — reference env/secret-manager names.
|
|
14
|
+
3. Relative paths only; cross-platform.
|
|
15
|
+
4. Every production hosting documented here + per-host file.
|
|
16
|
+
5. Rollback path exists for every host.
|
|
17
|
+
|
|
18
|
+
## Per-Host Files
|
|
19
|
+
|
|
20
|
+
- `_template.md` — copy for a new host.
|
|
21
|
+
- `hosting-N.md` — explicit doc per hosting.
|
|
22
|
+
|
|
23
|
+
## Verification
|
|
24
|
+
|
|
25
|
+
- `.compliance/gates/verify_docs.py` checks every hosting has a doc.
|