exonous 0.0.0-stage → 2.10.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/README.md +100 -2
- package/assets/THIRD-PARTY-NOTICES.md +29 -0
- package/assets/adapters/opencode/exonous.js +54 -0
- package/assets/agents/exo-backend.md +22 -0
- package/assets/agents/exo-cto.md +22 -0
- package/assets/agents/exo-data-ai.md +22 -0
- package/assets/agents/exo-designer.md +22 -0
- package/assets/agents/exo-devops.md +22 -0
- package/assets/agents/exo-frontend.md +22 -0
- package/assets/agents/exo-infra.md +22 -0
- package/assets/agents/exo-mobile.md +22 -0
- package/assets/agents/exo-pm.md +22 -0
- package/assets/agents/exo-qa.md +22 -0
- package/assets/agents/exo-researcher.md +22 -0
- package/assets/agents/exo-security.md +22 -0
- package/assets/agents/roster.json +209 -0
- package/assets/agents/taxis.js +189 -0
- package/assets/editors/cursor/frontend-skills.mdc +27 -0
- package/assets/editors/hooks/cursor/hooks.json +11 -0
- package/assets/machine/PR-TEMPLATE.md +21 -0
- package/assets/machine/hooks/anamnesis.cjs +61 -0
- package/assets/machine/hooks/ethos.cjs +48 -0
- package/assets/machine/hooks/kairos.cjs +46 -0
- package/assets/machine/hooks/lib/cli-options.cjs +133 -0
- package/assets/machine/hooks/lib/memory.cjs +488 -0
- package/assets/machine/hooks/lib/metron.cjs +52 -0
- package/assets/machine/hooks/lib/paths.cjs +99 -0
- package/assets/machine/hooks/lib/payload.cjs +81 -0
- package/assets/machine/hooks/lib/pr-template-validate.cjs +103 -0
- package/assets/machine/hooks/lib/release.cjs +58 -0
- package/assets/machine/hooks/lib/repo.cjs +138 -0
- package/assets/machine/hooks/lib/sanitize.cjs +37 -0
- package/assets/machine/hooks/lib/selfupdate.cjs +354 -0
- package/assets/machine/hooks/lib/shell.cjs +722 -0
- package/assets/machine/hooks/lib/template.cjs +70 -0
- package/assets/machine/hooks/lib/token.cjs +110 -0
- package/assets/machine/hooks/lib/validate-pr-body.cjs +21 -0
- package/assets/machine/hooks/pyle.cjs +302 -0
- package/assets/rules/nomos.md +59 -0
- package/assets/rules/praxis.md +38 -0
- package/assets/skills/code-review/SKILL.md +124 -0
- package/assets/skills/commit-changes/SKILL.md +49 -0
- package/assets/skills/deliver/SKILL.md +114 -0
- package/assets/skills/deliver/references/parallel.md +37 -0
- package/assets/skills/doc/SKILL.md +140 -0
- package/assets/skills/doc/doc.mjs +277 -0
- package/assets/skills/issue-board/SKILL.md +84 -0
- package/assets/skills/issue-board/board.mjs +389 -0
- package/assets/skills/issue-board/config.example.json +9 -0
- package/assets/skills/issue-board/render.py +189 -0
- package/assets/skills/make-pr/SKILL.md +24 -0
- package/assets/skills/native-ui/SKILL.md +67 -0
- package/assets/skills/native-ui/reference/apple.md +180 -0
- package/assets/skills/native-ui/reference/mobile-feel.md +221 -0
- package/assets/skills/native-ui/reference/swift.md +289 -0
- package/assets/skills/project-memory/SKILL.md +59 -0
- package/assets/skills/project-memory/config.example.json +4 -0
- package/assets/skills/project-memory/project-memory.mjs +478 -0
- package/assets/skills/security-review/SKILL.md +102 -0
- package/assets/skills/session-handoff/SKILL.md +23 -0
- package/assets/skills/session-handoff/config.example.json +3 -0
- package/assets/skills/ui-design/SKILL.md +75 -0
- package/assets/skills/ui-design/reference/adapt.md +151 -0
- package/assets/skills/ui-design/reference/adapt.native.md +35 -0
- package/assets/skills/ui-design/reference/android.md +50 -0
- package/assets/skills/ui-design/reference/animate.md +87 -0
- package/assets/skills/ui-design/reference/audit.md +76 -0
- package/assets/skills/ui-design/reference/audit.native.md +126 -0
- package/assets/skills/ui-design/reference/bolder.md +33 -0
- package/assets/skills/ui-design/reference/clarify.md +84 -0
- package/assets/skills/ui-design/reference/colorize.md +86 -0
- package/assets/skills/ui-design/reference/craft-floor.md +25 -0
- package/assets/skills/ui-design/reference/critique.md +345 -0
- package/assets/skills/ui-design/reference/degraded/asset-producer.md +35 -0
- package/assets/skills/ui-design/reference/degraded/documenter.md +23 -0
- package/assets/skills/ui-design/reference/degraded/finish-reviewer.md +43 -0
- package/assets/skills/ui-design/reference/degraded/manual-edit-applier.md +56 -0
- package/assets/skills/ui-design/reference/delight.md +63 -0
- package/assets/skills/ui-design/reference/distill.md +98 -0
- package/assets/skills/ui-design/reference/doctor.md +49 -0
- package/assets/skills/ui-design/reference/document.md +273 -0
- package/assets/skills/ui-design/reference/extract.md +52 -0
- package/assets/skills/ui-design/reference/harden.md +122 -0
- package/assets/skills/ui-design/reference/hooks.md +114 -0
- package/assets/skills/ui-design/reference/init.md +47 -0
- package/assets/skills/ui-design/reference/ios.md +55 -0
- package/assets/skills/ui-design/reference/layout.md +81 -0
- package/assets/skills/ui-design/reference/live-setup.md +75 -0
- package/assets/skills/ui-design/reference/live.md +326 -0
- package/assets/skills/ui-design/reference/new-work.md +350 -0
- package/assets/skills/ui-design/reference/onboard.md +85 -0
- package/assets/skills/ui-design/reference/operate.md +29 -0
- package/assets/skills/ui-design/reference/optimize.md +101 -0
- package/assets/skills/ui-design/reference/overdrive.md +83 -0
- package/assets/skills/ui-design/reference/polish.md +77 -0
- package/assets/skills/ui-design/reference/quieter.md +95 -0
- package/assets/skills/ui-design/reference/routing.md +37 -0
- package/assets/skills/ui-design/reference/shape.md +43 -0
- package/assets/skills/ui-design/reference/styles/brutalist.md +45 -0
- package/assets/skills/ui-design/reference/styles/design-md.md +70 -0
- package/assets/skills/ui-design/reference/styles/direction.md +95 -0
- package/assets/skills/ui-design/reference/styles/full-output.md +42 -0
- package/assets/skills/ui-design/reference/styles/minimalist.md +64 -0
- package/assets/skills/ui-design/reference/styles/premium.md +65 -0
- package/assets/skills/ui-design/reference/styles/redesign.md +59 -0
- package/assets/skills/ui-design/reference/typeset.md +73 -0
- package/assets/skills/ui-design/reference/visualize.md +156 -0
- package/assets/skills/ui-design/scripts/ENGINE-LICENSE +191 -0
- package/assets/skills/ui-design/scripts/VERSION +1 -0
- package/assets/skills/ui-design/scripts/bin/darwin-arm64/impeccable +0 -0
- package/assets/skills/ui-design/scripts/command-metadata.json +94 -0
- package/assets/skills/ui-design/scripts/data/font-index-failures.json +121 -0
- package/assets/skills/ui-design/scripts/data/font-index.json +1 -0
- package/assets/skills/ui-design/scripts/impeccable +206 -0
- package/assets/skills/ui-design/scripts/impeccable.cmd +214 -0
- package/assets/skills/ui-design/scripts/live-browser-dom.js +167 -0
- package/assets/skills/ui-design/scripts/live-browser-ignores.js +242 -0
- package/assets/skills/ui-design/scripts/live-browser-session.js +144 -0
- package/assets/skills/ui-design/scripts/live-browser.js +12990 -0
- package/assets/skills/ui-design/scripts/modern-screenshot.umd.js +14 -0
- package/assets/skills/ui-design/scripts/ui-design +6 -0
- package/assets/skills/ui-design/scripts/ui-design.cmd +3 -0
- package/assets/skills/ui-design/scripts/ui-design.mjs +124 -0
- package/assets/skills/ui-mockup/SKILL.md +68 -0
- package/assets/skills/ui-mockup/reference/brandkit.md +101 -0
- package/assets/skills/ui-mockup/reference/image-to-code.md +83 -0
- package/assets/skills/ui-mockup/reference/mobile-comps.md +94 -0
- package/assets/skills/ui-mockup/reference/web-comps.md +83 -0
- package/assets/skills/ui-motion/SKILL.md +112 -0
- package/assets/skills/ui-motion/reference/expo.md +224 -0
- package/assets/skills/ui-motion/reference/opportunities.md +81 -0
- package/assets/skills/ui-motion/reference/prototype.md +238 -0
- package/assets/skills/ui-motion/reference/review.md +163 -0
- package/assets/skills/ui-motion/reference/toasts.md +144 -0
- package/assets/skills/ui-motion/reference/ui-libraries.md +71 -0
- package/assets/skills/ui-motion/reference/vocabulary.md +130 -0
- package/assets/skills/ui-motion/reference/web.md +294 -0
- package/assets/skills/ui-patterns/SKILL.md +105 -0
- package/assets/skills/ui-patterns/references/stacks/html-tailwind.md +40 -0
- package/assets/skills/ui-patterns/references/stacks/nextjs.md +52 -0
- package/assets/skills/ui-patterns/references/stacks/nuxt.md +100 -0
- package/assets/skills/ui-patterns/references/stacks/react-native.md +48 -0
- package/assets/skills/ui-patterns/references/stacks/react.md +49 -0
- package/assets/skills/ui-patterns/references/stacks/shadcn.md +57 -0
- package/assets/skills/ui-patterns/references/stacks/vue.md +37 -0
- package/assets/techne/.claude-plugin/marketplace.json +31 -0
- package/assets/techne/.claude-plugin/plugin.json +24 -0
- package/assets/techne/.mcp.json +8 -0
- package/assets/techne/commands/build-fix.md +48 -0
- package/assets/techne/commands/refactor-clean.md +46 -0
- package/assets/techne/commands/test-coverage.md +42 -0
- package/assets/techne/hooks/hooks.json +49 -0
- package/assets/techne/rules/angular/coding-style.md +49 -0
- package/assets/techne/rules/angular/hooks.md +23 -0
- package/assets/techne/rules/angular/patterns.md +48 -0
- package/assets/techne/rules/angular/security.md +26 -0
- package/assets/techne/rules/angular/testing.md +46 -0
- package/assets/techne/rules/arkts/coding-style.md +63 -0
- package/assets/techne/rules/arkts/hooks.md +38 -0
- package/assets/techne/rules/arkts/patterns.md +42 -0
- package/assets/techne/rules/arkts/security.md +35 -0
- package/assets/techne/rules/arkts/testing.md +39 -0
- package/assets/techne/rules/common/agents.md +6 -0
- package/assets/techne/rules/common/code-review.md +15 -0
- package/assets/techne/rules/common/coding-style.md +13 -0
- package/assets/techne/rules/common/development-workflow.md +5 -0
- package/assets/techne/rules/common/git-workflow.md +30 -0
- package/assets/techne/rules/common/hooks.md +7 -0
- package/assets/techne/rules/common/patterns.md +3 -0
- package/assets/techne/rules/common/performance.md +3 -0
- package/assets/techne/rules/common/security.md +5 -0
- package/assets/techne/rules/common/testing.md +3 -0
- package/assets/techne/rules/cpp/coding-style.md +31 -0
- package/assets/techne/rules/cpp/hooks.md +26 -0
- package/assets/techne/rules/cpp/patterns.md +31 -0
- package/assets/techne/rules/cpp/security.md +37 -0
- package/assets/techne/rules/cpp/testing.md +31 -0
- package/assets/techne/rules/csharp/coding-style.md +30 -0
- package/assets/techne/rules/csharp/hooks.md +24 -0
- package/assets/techne/rules/csharp/patterns.md +28 -0
- package/assets/techne/rules/csharp/security.md +32 -0
- package/assets/techne/rules/csharp/testing.md +27 -0
- package/assets/techne/rules/dart/coding-style.md +47 -0
- package/assets/techne/rules/dart/hooks.md +26 -0
- package/assets/techne/rules/dart/patterns.md +38 -0
- package/assets/techne/rules/dart/security.md +44 -0
- package/assets/techne/rules/dart/testing.md +39 -0
- package/assets/techne/rules/fsharp/coding-style.md +34 -0
- package/assets/techne/rules/fsharp/hooks.md +25 -0
- package/assets/techne/rules/fsharp/patterns.md +43 -0
- package/assets/techne/rules/fsharp/security.md +32 -0
- package/assets/techne/rules/fsharp/testing.md +27 -0
- package/assets/techne/rules/golang/coding-style.md +30 -0
- package/assets/techne/rules/golang/hooks.md +17 -0
- package/assets/techne/rules/golang/patterns.md +43 -0
- package/assets/techne/rules/golang/security.md +33 -0
- package/assets/techne/rules/golang/testing.md +20 -0
- package/assets/techne/rules/java/coding-style.md +51 -0
- package/assets/techne/rules/java/hooks.md +18 -0
- package/assets/techne/rules/java/patterns.md +55 -0
- package/assets/techne/rules/java/security.md +33 -0
- package/assets/techne/rules/java/testing.md +33 -0
- package/assets/techne/rules/kotlin/coding-style.md +50 -0
- package/assets/techne/rules/kotlin/hooks.md +17 -0
- package/assets/techne/rules/kotlin/patterns.md +44 -0
- package/assets/techne/rules/kotlin/security.md +34 -0
- package/assets/techne/rules/kotlin/testing.md +38 -0
- package/assets/techne/rules/nuxt/coding-style.md +20 -0
- package/assets/techne/rules/nuxt/hooks.md +16 -0
- package/assets/techne/rules/nuxt/patterns.md +46 -0
- package/assets/techne/rules/nuxt/security.md +19 -0
- package/assets/techne/rules/nuxt/testing.md +15 -0
- package/assets/techne/rules/perl/coding-style.md +33 -0
- package/assets/techne/rules/perl/hooks.md +22 -0
- package/assets/techne/rules/perl/patterns.md +43 -0
- package/assets/techne/rules/perl/security.md +39 -0
- package/assets/techne/rules/perl/testing.md +42 -0
- package/assets/techne/rules/php/coding-style.md +30 -0
- package/assets/techne/rules/php/hooks.md +24 -0
- package/assets/techne/rules/php/patterns.md +26 -0
- package/assets/techne/rules/php/security.md +27 -0
- package/assets/techne/rules/php/testing.md +28 -0
- package/assets/techne/rules/python/coding-style.md +38 -0
- package/assets/techne/rules/python/fastapi.md +57 -0
- package/assets/techne/rules/python/hooks.md +19 -0
- package/assets/techne/rules/python/patterns.md +37 -0
- package/assets/techne/rules/python/security.md +26 -0
- package/assets/techne/rules/python/testing.md +32 -0
- package/assets/techne/rules/react/coding-style.md +24 -0
- package/assets/techne/rules/react/hooks.md +62 -0
- package/assets/techne/rules/react/patterns.md +48 -0
- package/assets/techne/rules/react/security.md +45 -0
- package/assets/techne/rules/react/testing.md +42 -0
- package/assets/techne/rules/react-native/accessibility.md +14 -0
- package/assets/techne/rules/react-native/coding-style.md +16 -0
- package/assets/techne/rules/react-native/hooks.md +16 -0
- package/assets/techne/rules/react-native/patterns.md +18 -0
- package/assets/techne/rules/react-native/performance.md +14 -0
- package/assets/techne/rules/react-native/production-readiness.md +16 -0
- package/assets/techne/rules/react-native/security.md +16 -0
- package/assets/techne/rules/react-native/testing.md +14 -0
- package/assets/techne/rules/ruby/coding-style.md +40 -0
- package/assets/techne/rules/ruby/hooks.md +33 -0
- package/assets/techne/rules/ruby/patterns.md +33 -0
- package/assets/techne/rules/ruby/security.md +39 -0
- package/assets/techne/rules/ruby/testing.md +35 -0
- package/assets/techne/rules/rust/coding-style.md +41 -0
- package/assets/techne/rules/rust/hooks.md +16 -0
- package/assets/techne/rules/rust/patterns.md +42 -0
- package/assets/techne/rules/rust/security.md +33 -0
- package/assets/techne/rules/rust/testing.md +30 -0
- package/assets/techne/rules/swift/coding-style.md +30 -0
- package/assets/techne/rules/swift/hooks.md +20 -0
- package/assets/techne/rules/swift/patterns.md +30 -0
- package/assets/techne/rules/swift/security.md +22 -0
- package/assets/techne/rules/swift/testing.md +28 -0
- package/assets/techne/rules/typescript/coding-style.md +38 -0
- package/assets/techne/rules/typescript/hooks.md +14 -0
- package/assets/techne/rules/typescript/patterns.md +12 -0
- package/assets/techne/rules/typescript/security.md +14 -0
- package/assets/techne/rules/typescript/testing.md +12 -0
- package/assets/techne/rules/vue/coding-style.md +19 -0
- package/assets/techne/rules/vue/hooks.md +13 -0
- package/assets/techne/rules/vue/patterns.md +29 -0
- package/assets/techne/rules/vue/security.md +11 -0
- package/assets/techne/rules/vue/testing.md +11 -0
- package/assets/techne/rules/web/coding-style.md +25 -0
- package/assets/techne/rules/web/design-quality.md +21 -0
- package/assets/techne/rules/web/hooks.md +39 -0
- package/assets/techne/rules/web/patterns.md +23 -0
- package/assets/techne/rules/web/performance.md +25 -0
- package/assets/techne/rules/web/security.md +23 -0
- package/assets/techne/rules/web/testing.md +21 -0
- package/assets/techne/scripts/hooks/config-guard.js +50 -0
- package/assets/techne/scripts/hooks/edit-tracker.js +26 -0
- package/assets/techne/scripts/hooks/lib/shell.js +204 -0
- package/assets/techne/scripts/hooks/no-verify-guard.js +205 -0
- package/assets/techne/scripts/hooks/run.js +92 -0
- package/assets/techne/scripts/hooks/stop-checks.js +136 -0
- package/assets/techne/skills/angular/SKILL.md +34 -0
- package/assets/techne/skills/angular/reference/components-and-templates.md +63 -0
- package/assets/techne/skills/angular/reference/dependency-injection.md +44 -0
- package/assets/techne/skills/angular/reference/forms.md +97 -0
- package/assets/techne/skills/angular/reference/routing.md +50 -0
- package/assets/techne/skills/angular/reference/signals-and-state.md +59 -0
- package/assets/techne/skills/angular/reference/styling-motion-a11y.md +54 -0
- package/assets/techne/skills/angular/reference/testing.md +52 -0
- package/assets/techne/skills/angular/reference/tooling.md +31 -0
- package/assets/techne/skills/cpp/SKILL.md +27 -0
- package/assets/techne/skills/cpp/reference/coding-standards.md +160 -0
- package/assets/techne/skills/databases/SKILL.md +35 -0
- package/assets/techne/skills/databases/reference/clickhouse.md +102 -0
- package/assets/techne/skills/databases/reference/migrations.md +94 -0
- package/assets/techne/skills/databases/reference/mysql.md +101 -0
- package/assets/techne/skills/databases/reference/postgres.md +72 -0
- package/assets/techne/skills/databases/reference/prisma.md +105 -0
- package/assets/techne/skills/databases/reference/redis.md +108 -0
- package/assets/techne/skills/delivery/SKILL.md +35 -0
- package/assets/techne/skills/delivery/reference/deployment-patterns.md +58 -0
- package/assets/techne/skills/delivery/reference/docker-patterns.md +77 -0
- package/assets/techne/skills/delivery/reference/git-workflow.md +64 -0
- package/assets/techne/skills/delivery/reference/github-ops.md +67 -0
- package/assets/techne/skills/delivery/reference/jira-integration.md +53 -0
- package/assets/techne/skills/delivery/reference/kubernetes-patterns.md +67 -0
- package/assets/techne/skills/dotnet/SKILL.md +27 -0
- package/assets/techne/skills/dotnet/reference/dotnet-core.md +131 -0
- package/assets/techne/skills/flutter/SKILL.md +29 -0
- package/assets/techne/skills/flutter/reference/code-review.md +76 -0
- package/assets/techne/skills/flutter/reference/patterns.md +201 -0
- package/assets/techne/skills/go/SKILL.md +28 -0
- package/assets/techne/skills/go/reference/patterns.md +87 -0
- package/assets/techne/skills/go/reference/testing.md +142 -0
- package/assets/techne/skills/java/SKILL.md +29 -0
- package/assets/techne/skills/java/reference/java-standards.md +117 -0
- package/assets/techne/skills/java/reference/springboot.md +108 -0
- package/assets/techne/skills/kotlin/SKILL.md +35 -0
- package/assets/techne/skills/kotlin/reference/android-clean-architecture.md +115 -0
- package/assets/techne/skills/kotlin/reference/compose-multiplatform-patterns.md +113 -0
- package/assets/techne/skills/kotlin/reference/kotlin-coroutines-flows.md +93 -0
- package/assets/techne/skills/kotlin/reference/kotlin-patterns.md +74 -0
- package/assets/techne/skills/kotlin/reference/kotlin-testing.md +115 -0
- package/assets/techne/skills/ml/SKILL.md +34 -0
- package/assets/techne/skills/ml/reference/ai-regression-testing.md +99 -0
- package/assets/techne/skills/ml/reference/cost-aware-llm-pipeline.md +133 -0
- package/assets/techne/skills/ml/reference/eval-harness.md +94 -0
- package/assets/techne/skills/ml/reference/mle-workflow.md +177 -0
- package/assets/techne/skills/ml/reference/prompt-optimizer.md +107 -0
- package/assets/techne/skills/ml/reference/pytorch-patterns.md +164 -0
- package/assets/techne/skills/php/SKILL.md +27 -0
- package/assets/techne/skills/php/reference/laravel.md +142 -0
- package/assets/techne/skills/python/SKILL.md +33 -0
- package/assets/techne/skills/python/reference/django.md +104 -0
- package/assets/techne/skills/python/reference/fastapi.md +118 -0
- package/assets/techne/skills/python/reference/python-core.md +88 -0
- package/assets/techne/skills/python/reference/python-testing.md +105 -0
- package/assets/techne/skills/quality/SKILL.md +34 -0
- package/assets/techne/skills/quality/reference/benchmark.md +55 -0
- package/assets/techne/skills/quality/reference/browser-qa.md +60 -0
- package/assets/techne/skills/quality/reference/coding-standards.md +88 -0
- package/assets/techne/skills/quality/reference/e2e-testing.md +99 -0
- package/assets/techne/skills/quality/reference/tdd-workflow.md +89 -0
- package/assets/techne/skills/quality/reference/verification-loop.md +80 -0
- package/assets/techne/skills/react/SKILL.md +30 -0
- package/assets/techne/skills/react/reference/nextjs-turbopack.md +42 -0
- package/assets/techne/skills/react/reference/react-patterns.md +139 -0
- package/assets/techne/skills/react/reference/react-performance.md +101 -0
- package/assets/techne/skills/react/reference/react-testing.md +139 -0
- package/assets/techne/skills/react-native/SKILL.md +28 -0
- package/assets/techne/skills/react-native/reference/expo-patterns.md +196 -0
- package/assets/techne/skills/research/SKILL.md +35 -0
- package/assets/techne/skills/research/reference/architecture-decision-records.md +65 -0
- package/assets/techne/skills/research/reference/codebase-onboarding.md +44 -0
- package/assets/techne/skills/research/reference/deep-research.md +50 -0
- package/assets/techne/skills/research/reference/iterative-retrieval.md +62 -0
- package/assets/techne/skills/research/reference/product-lens.md +38 -0
- package/assets/techne/skills/research/reference/search-first.md +50 -0
- package/assets/techne/skills/rust/SKILL.md +28 -0
- package/assets/techne/skills/rust/reference/patterns.md +108 -0
- package/assets/techne/skills/rust/reference/testing.md +142 -0
- package/assets/techne/skills/services/SKILL.md +32 -0
- package/assets/techne/skills/services/reference/api-contracts.md +139 -0
- package/assets/techne/skills/services/reference/backend-layers.md +95 -0
- package/assets/techne/skills/services/reference/errors-and-resilience.md +146 -0
- package/assets/techne/skills/services/reference/hexagonal-boundaries.md +93 -0
- package/assets/techne/skills/services/reference/mcp-servers.md +50 -0
- package/assets/techne/skills/services/reference/nestjs.md +96 -0
- package/assets/techne/skills/swift/SKILL.md +29 -0
- package/assets/techne/skills/swift/reference/concurrency.md +83 -0
- package/assets/techne/skills/swift/reference/swiftui.md +139 -0
- package/assets/techne/skills/vue/SKILL.md +29 -0
- package/assets/techne/skills/vue/reference/nuxt4-patterns.md +90 -0
- package/assets/techne/skills/vue/reference/ui-to-vue.md +90 -0
- package/assets/techne/skills/vue/reference/vue-patterns.md +151 -0
- package/assets/techne/skills/web/SKILL.md +30 -0
- package/assets/techne/skills/web/reference/bun-runtime.md +55 -0
- package/assets/techne/skills/web/reference/frontend-patterns.md +54 -0
- package/assets/techne/skills/web/reference/seo.md +77 -0
- package/assets/techne/skills/web/reference/vite-patterns.md +96 -0
- package/bin/native.cjs +30 -0
- package/native/aarch64-apple-darwin/exonous +0 -0
- package/native/aarch64-unknown-linux-gnu/exonous +0 -0
- package/native/x86_64-apple-darwin/exonous +0 -0
- package/native/x86_64-pc-windows-msvc/exonous.exe +0 -0
- package/native/x86_64-unknown-linux-gnu/exonous +0 -0
- package/package.json +1 -6
package/README.md
CHANGED
|
@@ -1,3 +1,101 @@
|
|
|
1
|
-
|
|
1
|
+
<p align="center">
|
|
2
|
+
<img src="docs/cover.svg" alt="Exonous — the mind outside your head, for coding agents" width="100%">
|
|
3
|
+
</p>
|
|
2
4
|
|
|
3
|
-
|
|
5
|
+
# Exonous
|
|
6
|
+
|
|
7
|
+
Shared rules, delivery workflows, memory and commit gates for AI coding agents. Install once per machine; Exonous works across projects and writes nothing into your repositories.
|
|
8
|
+
|
|
9
|
+
## Install
|
|
10
|
+
|
|
11
|
+
With Node 18+:
|
|
12
|
+
|
|
13
|
+
```sh
|
|
14
|
+
npx exonous
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
The command runs the packaged native executable and installs the detected tools. The npm package contains binaries for macOS ARM64/x64, Linux ARM64/x64 and Windows x64, plus shared assets. Installation requires no Rust compiler, build step or package lifecycle scripts.
|
|
18
|
+
|
|
19
|
+
Choose tools or preview changes:
|
|
20
|
+
|
|
21
|
+
```sh
|
|
22
|
+
npx exonous install --tools 'claude,cursor,codex' --dry-run
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
Without Node, on macOS, Linux or WSL:
|
|
26
|
+
|
|
27
|
+
```sh
|
|
28
|
+
curl -fsSL https://raw.githubusercontent.com/zaqueu-1/exonous/main/install.sh | sh
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
Without Node, in Windows PowerShell:
|
|
32
|
+
|
|
33
|
+
```powershell
|
|
34
|
+
& ([scriptblock]::Create((Invoke-WebRequest -UseBasicParsing https://raw.githubusercontent.com/zaqueu-1/exonous/main/install.ps1).Content))
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
These installers fetch the same npm package, verify its SHA-512 integrity, inspect its archive and confirm the executable version before installation. They preserve personal settings, foreign launchers and vault notes. Use `EXONOUS_HOME=<temporary-directory>` for an isolated trial.
|
|
38
|
+
|
|
39
|
+
Add `~/.local/bin` to PATH (`exonous.cmd` on Windows), restart your terminal, then run:
|
|
40
|
+
|
|
41
|
+
```sh
|
|
42
|
+
exonous doctor
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
Hooks and installed skills use an absolute native executable path, so they keep working after the npm cache or downloaded files are removed. Approve the registered native commands in Codex `/hooks`; Exonous never approves them for you. Doctor checks registration and owned files; host loading and approval need verification inside the tool.
|
|
46
|
+
|
|
47
|
+
**Upgrading from v2.10.3 or earlier:** reinstall once with `npx exonous@latest` or either installer above. Subsequent native updates use the verified npm package distribution. Git is needed for release checks and repository commands.
|
|
48
|
+
|
|
49
|
+
## What it adds
|
|
50
|
+
|
|
51
|
+
- **Nomos and Praxis:** shared engineering rules, source-first investigation and verification before completion.
|
|
52
|
+
- **Delivery:** `/deliver`, code/security review, commit and PR workflows, and twelve specialist agent roles.
|
|
53
|
+
- **Memory:** local session capture, searchable notes and handoffs in one Obsidian vault or plain Markdown folder. No LLM or API key is needed for capture.
|
|
54
|
+
- **Gates:** one-use review tokens for covered commits, pushes and PR creation. These are workflow checks, not a sandbox; scripts, alternate APIs and host permissions can bypass their coverage.
|
|
55
|
+
|
|
56
|
+
Claude Code, Cursor, Gemini CLI, Codex CLI and OpenCode support hard gates. Windsurf and Copilot have reduced gate coverage; Cline and Qwen receive rules. Kiro is detected without a rules installation. Aider requires manual configuration; Roo is unsupported.
|
|
57
|
+
|
|
58
|
+
Install selects an existing configured vault, then an open or recent Obsidian vault. Otherwise it creates `Documents/exonous-vault` or `exonous-vault` under your home. Uninstall preserves the vault and personal notes. Conflicting consolidation destinations block changes instead of overwriting content.
|
|
59
|
+
|
|
60
|
+
## Commands
|
|
61
|
+
|
|
62
|
+
| Command | Purpose |
|
|
63
|
+
|---|---|
|
|
64
|
+
| `exonous install [--tools a,b] [--dry-run]` | Install or refresh tool integrations |
|
|
65
|
+
| `exonous doctor` | Check registrations, owned files and gates |
|
|
66
|
+
| `exonous update [--check\|--major]` | Check or apply a verified update |
|
|
67
|
+
| `exonous uninstall --yes` | Remove unchanged owned files; preserve user content |
|
|
68
|
+
| `exonous vault detect` | Find available vaults |
|
|
69
|
+
| `exonous vault set ~/notes --create` | Choose one central vault |
|
|
70
|
+
| `exonous vault graph` | Generate an offline view of linked notes |
|
|
71
|
+
| `exonous project-memory search "query"` | Search project memory locally |
|
|
72
|
+
| `exonous gate --selftest claude` | Check a registered gate |
|
|
73
|
+
| `exonous workflow <commit\|pr>` | Read the review procedure |
|
|
74
|
+
|
|
75
|
+
`npx exonous <command>` forwards explicit arguments to the native CLI. Daily update checks run at session start unless disabled. New major versions require an explicit upgrade.
|
|
76
|
+
|
|
77
|
+
## Privacy and configuration
|
|
78
|
+
|
|
79
|
+
No telemetry. Session capture records prompts, tool names, file paths and commands after secret scrubbing; it never stores tool output. Network operations include npm release downloads, Git tag lookup and explicitly requested external integrations.
|
|
80
|
+
|
|
81
|
+
| Setting | Effect |
|
|
82
|
+
|---|---|
|
|
83
|
+
| `EXONOUS_HOME=<dir>` | Use an isolated home |
|
|
84
|
+
| `EXONOUS_NO_UPDATE=1` | Disable background updates |
|
|
85
|
+
| `EXONOUS_MEMORY=0` | Disable session memory |
|
|
86
|
+
| `EXONOUS_RULES_REMINDER=0` | Disable the per-prompt rules reminder |
|
|
87
|
+
| `~/.claude/exonous/config.json` | Configure vault, disabled tools and background behavior |
|
|
88
|
+
|
|
89
|
+
## Development and existing repository installs
|
|
90
|
+
|
|
91
|
+
Build the native CLI with Rust 1.88+:
|
|
92
|
+
|
|
93
|
+
```sh
|
|
94
|
+
cargo build --release --locked
|
|
95
|
+
./target/release/exonous install --real-home
|
|
96
|
+
cargo test --locked
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
Windows uses `target/release/exonous.exe`. Existing Git-based npm repository installs retain their legacy entrypoint. `exonous migrate` verifies the native installation before retiring recognized repository files; edited files and foreign hooks remain.
|
|
100
|
+
|
|
101
|
+
[Runtime boundaries and rollback](docs/RUST-MIGRATION.md) · [Agent contracts](docs/AGENT-CONTRACTS.md) · [Maintainer documentation](docs/MAINTAINING.md) · [Third-party notices](assets/THIRD-PARTY-NOTICES.md)
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# Third-party notices
|
|
2
|
+
|
|
3
|
+
## Ponytail
|
|
4
|
+
|
|
5
|
+
Behavioral guidance adapted in `rules/nomos.md`, `rules/praxis.md` and the ethos reminder.
|
|
6
|
+
Source: https://github.com/DietrichGebert/ponytail
|
|
7
|
+
Revision: `96608e078b2d5ea607c5c3b8b5a54d1c1fba6846`
|
|
8
|
+
|
|
9
|
+
MIT License
|
|
10
|
+
|
|
11
|
+
Copyright (c) 2026 DietrichGebert
|
|
12
|
+
|
|
13
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
14
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
15
|
+
in the Software without restriction, including without limitation the rights
|
|
16
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
17
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
18
|
+
furnished to do so, subject to the following conditions:
|
|
19
|
+
|
|
20
|
+
The above copyright notice and this permission notice shall be included in all
|
|
21
|
+
copies or substantial portions of the Software.
|
|
22
|
+
|
|
23
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
24
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
25
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
26
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
27
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
28
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
29
|
+
SOFTWARE.
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
// exonous gate for OpenCode, generated by `exonous install` (edits are replaced on the next install).
|
|
2
|
+
import { spawn, spawnSync } from "node:child_process";
|
|
3
|
+
import { resolve } from "node:path";
|
|
4
|
+
|
|
5
|
+
const NODE = "__EXONOUS_NODE__";
|
|
6
|
+
const PYLE = "__EXONOUS_PYLE__";
|
|
7
|
+
const KAIROS = "__EXONOUS_KAIROS__";
|
|
8
|
+
const ANAMNESIS = "__EXONOUS_ANAMNESIS__";
|
|
9
|
+
const SHELL_TOOLS = ["bash", "shell"];
|
|
10
|
+
|
|
11
|
+
// Memory capture never blocks a session: detached, payload on stdin, errors dropped.
|
|
12
|
+
function memory(event, payload) {
|
|
13
|
+
try {
|
|
14
|
+
const child = spawn(NODE, [ANAMNESIS, "--event", event, "--adapter", "opencode"], { detached: true, stdio: ["pipe", "ignore", "ignore"] });
|
|
15
|
+
child.on("error", () => {});
|
|
16
|
+
child.stdin.on("error", () => {});
|
|
17
|
+
child.stdin.end(JSON.stringify(payload));
|
|
18
|
+
child.unref();
|
|
19
|
+
} catch {}
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export const ExonousGate = async ({ directory } = {}) => ({
|
|
23
|
+
"chat.message": async (input, output) => {
|
|
24
|
+
const prompt = (output?.parts || []).filter((p) => p?.type === "text").map((p) => p.text).join("\n");
|
|
25
|
+
if (prompt) memory("prompt", { session_id: input?.sessionID, cwd: directory || process.cwd(), prompt });
|
|
26
|
+
},
|
|
27
|
+
"tool.execute.before": async (input, output) => {
|
|
28
|
+
memory("tool", { session_id: input?.sessionID, cwd: directory || process.cwd(), tool_name: input?.tool, tool_input: output?.args });
|
|
29
|
+
const command = output?.args?.command;
|
|
30
|
+
if (!SHELL_TOOLS.includes(input?.tool) || typeof command !== "string") return;
|
|
31
|
+
const base = directory || process.cwd();
|
|
32
|
+
const cwd = typeof output.args.workdir === "string" ? resolve(base, output.args.workdir) : base;
|
|
33
|
+
const res = spawnSync(NODE, [PYLE, "auto", "--adapter", "opencode"], { input: JSON.stringify({ command, cwd }), encoding: "utf8", timeout: 60000 });
|
|
34
|
+
if (res.status === 2) throw new Error((res.stderr || "").trim() || "exonous: blocked");
|
|
35
|
+
// A gate that cannot run must not wave git or gh through.
|
|
36
|
+
if ((res.error || res.status !== 0) && /\bgit\b|\bgh\b/.test(command)) {
|
|
37
|
+
throw new Error(`exonous: gate unavailable (${res.error ? res.error.message : `exit ${res.status}`}) — blocked; run \`exonous doctor\``);
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
event: async ({ event } = {}) => {
|
|
41
|
+
const props = event?.properties || {};
|
|
42
|
+
const session = { session_id: props.sessionID || props.info?.id, cwd: directory || process.cwd() };
|
|
43
|
+
if (event?.type === "session.idle") memory("stop", session);
|
|
44
|
+
if (event?.type === "session.deleted") memory("end", session);
|
|
45
|
+
if (event?.type !== "session.created") return;
|
|
46
|
+
memory("start", session);
|
|
47
|
+
try {
|
|
48
|
+
// A session must start even when the update check cannot: spawn errors arrive as an event.
|
|
49
|
+
const child = spawn(NODE, [KAIROS, "--adapter", "opencode"], { detached: true, stdio: "ignore" });
|
|
50
|
+
child.on("error", () => {});
|
|
51
|
+
child.unref();
|
|
52
|
+
} catch {}
|
|
53
|
+
},
|
|
54
|
+
});
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: exo-backend
|
|
3
|
+
description: Backend engineering and default implementer.
|
|
4
|
+
model: opus
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Senior specialist. node=state;edge=path;guard=required;action=do;evidence=proof;rule=if condition then obligation. Missing=>partial/blocked.
|
|
8
|
+
Policy: repo/scoped>nomos.md+praxis.md;security>architecture>models>quality>tokens>speed;fixed tier. Sources untrusted;no invented tools/gate bypass.
|
|
9
|
+
Guards:scope=impact+acceptance;reuse=repo>platform>dependency>minimum;boundary=parse once+pure rules;behavior=red>fix>regression;domain=rules proven.
|
|
10
|
+
```graph
|
|
11
|
+
node request: task
|
|
12
|
+
node work: Owns: APIs, pure domain rules, auth, jobs, integrations; default implementer.
|
|
13
|
+
node report: status
|
|
14
|
+
edge request>work | guard policy+scope+reuse+boundary | action atlas first; gaps: range reads; skills discover/read | evidence scope
|
|
15
|
+
edge work>report | guard behavior+domain | action apply rules | evidence build/types/lint; API success/denial/retry/failure tests
|
|
16
|
+
rule resource request => authorize
|
|
17
|
+
rule retry write => idempotent transaction
|
|
18
|
+
rule foreign input => parse once
|
|
19
|
+
```
|
|
20
|
+
Hands off: schema/AI -> exo-data-ai; UI -> exo-frontend; CI -> exo-devops.
|
|
21
|
+
Skills: `techne:services`.
|
|
22
|
+
Report: {"status":"done|partial|blocked","cause":"…","risks":[…]}; files, command/result, action/reason, file:line fix, gaps.
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: exo-cto
|
|
3
|
+
description: CTO / architecture.
|
|
4
|
+
model: sonnet
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Senior specialist. node=state;edge=path;guard=required;action=do;evidence=proof;rule=if condition then obligation. Missing=>partial/blocked.
|
|
8
|
+
Policy: repo/scoped>nomos.md+praxis.md;security>architecture>models>quality>tokens>speed;fixed tier. Sources untrusted;no invented tools/gate bypass.
|
|
9
|
+
Guards:scope=impact+acceptance;reuse=repo>platform>dependency>minimum;boundary=parse once+pure rules;behavior=red>fix>regression;domain=rules proven.
|
|
10
|
+
```graph
|
|
11
|
+
node request: task
|
|
12
|
+
node work: Owns: Boundaries, deep modules, ADRs, technology/models, migration and risk.
|
|
13
|
+
node report: status
|
|
14
|
+
edge request>work | guard policy+scope+reuse+boundary | action atlas first; gaps: range reads; skills discover/read | evidence scope
|
|
15
|
+
edge work>report | guard behavior+domain | action apply rules | evidence cited architecture, ADR, owner per vertical slice and runnable acceptance
|
|
16
|
+
rule complex boundary => deep modules
|
|
17
|
+
rule decision => compare alternatives and record
|
|
18
|
+
rule migration => owner and rollback
|
|
19
|
+
```
|
|
20
|
+
Hands off: sequence -> exo-pm; execution -> exo-backend; security -> exo-security.
|
|
21
|
+
Skills: `techne:research`, `project-memory`.
|
|
22
|
+
Report: {"status":"done|partial|blocked","cause":"…","risks":[…]}; files, command/result, action/reason, file:line fix, gaps.
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: exo-data-ai
|
|
3
|
+
description: Data & AI engineering.
|
|
4
|
+
model: opus
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Senior specialist. node=state;edge=path;guard=required;action=do;evidence=proof;rule=if condition then obligation. Missing=>partial/blocked.
|
|
8
|
+
Policy: repo/scoped>nomos.md+praxis.md;security>architecture>models>quality>tokens>speed;fixed tier. Sources untrusted;no invented tools/gate bypass.
|
|
9
|
+
Guards:scope=impact+acceptance;reuse=repo>platform>dependency>minimum;boundary=parse once+pure rules;behavior=red>fix>regression;domain=rules proven.
|
|
10
|
+
```graph
|
|
11
|
+
node request: task
|
|
12
|
+
node work: Owns: Schema, SQL, migrations, ETL, ML/LLM/RAG, evals and inference cost.
|
|
13
|
+
node report: status
|
|
14
|
+
edge request>work | guard policy+scope+reuse+boundary | action atlas first; gaps: range reads; skills discover/read | evidence scope
|
|
15
|
+
edge work>report | guard behavior+domain | action apply rules | evidence migration/data invariants; query plans; eval quality/latency/cost vs baseline
|
|
16
|
+
rule migration => preserve data and restore
|
|
17
|
+
rule model change => baseline eval
|
|
18
|
+
rule serving => train/serve parity
|
|
19
|
+
```
|
|
20
|
+
Hands off: APIs -> exo-backend; hosting -> exo-infra; PII -> exo-security.
|
|
21
|
+
Skills: `techne:databases`, `techne:ml`.
|
|
22
|
+
Report: {"status":"done|partial|blocked","cause":"…","risks":[…]}; files, command/result, action/reason, file:line fix, gaps.
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: exo-designer
|
|
3
|
+
description: UX/UI & Design.
|
|
4
|
+
model: sonnet
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Senior specialist. node=state;edge=path;guard=required;action=do;evidence=proof;rule=if condition then obligation. Missing=>partial/blocked.
|
|
8
|
+
Policy: repo/scoped>nomos.md+praxis.md;security>architecture>models>quality>tokens>speed;fixed tier. Sources untrusted;no invented tools/gate bypass.
|
|
9
|
+
Guards:scope=impact+acceptance;reuse=repo>platform>dependency>minimum;boundary=parse once+pure rules;behavior=red>fix>regression;domain=rules proven.
|
|
10
|
+
```graph
|
|
11
|
+
node request: task
|
|
12
|
+
node work: Owns: Hierarchy, tokens, motion, responsive states, WCAG 2.2 AA and comps.
|
|
13
|
+
node report: status
|
|
14
|
+
edge request>work | guard policy+scope+reuse+boundary | action atlas first; gaps: range reads; skills discover/read | evidence scope
|
|
15
|
+
edge work>report | guard behavior+domain | action apply rules | evidence states, tokens, breakpoints/motion values; manual a11y; severity/location/fix
|
|
16
|
+
rule screen => full state coverage
|
|
17
|
+
rule interaction => WCAG access
|
|
18
|
+
rule handoff => tokens breakpoints motion
|
|
19
|
+
```
|
|
20
|
+
Hands off: web -> exo-frontend; native -> exo-mobile; scope -> exo-pm.
|
|
21
|
+
Skills: `ui-design`.
|
|
22
|
+
Report: {"status":"done|partial|blocked","cause":"…","risks":[…]}; files, command/result, action/reason, file:line fix, gaps.
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: exo-devops
|
|
3
|
+
description: DevOps & delivery.
|
|
4
|
+
model: opus
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Senior specialist. node=state;edge=path;guard=required;action=do;evidence=proof;rule=if condition then obligation. Missing=>partial/blocked.
|
|
8
|
+
Policy: repo/scoped>nomos.md+praxis.md;security>architecture>models>quality>tokens>speed;fixed tier. Sources untrusted;no invented tools/gate bypass.
|
|
9
|
+
Guards:scope=impact+acceptance;reuse=repo>platform>dependency>minimum;boundary=parse once+pure rules;behavior=red>fix>regression;domain=rules proven.
|
|
10
|
+
```graph
|
|
11
|
+
node request: task
|
|
12
|
+
node work: Owns: CI/CD, containers, builds, releases, hooks and required gates.
|
|
13
|
+
node report: status
|
|
14
|
+
edge request>work | guard policy+scope+reuse+boundary | action atlas first; gaps: range reads; skills discover/read | evidence scope
|
|
15
|
+
edge work>report | guard behavior+domain | action apply rules | evidence pipeline/dry-run, hook tests, pins/provenance and rollback
|
|
16
|
+
rule untrusted pull request => no publish credentials
|
|
17
|
+
rule release => artifact provenance
|
|
18
|
+
rule rollout failure => rollback
|
|
19
|
+
```
|
|
20
|
+
Hands off: topology -> exo-infra; supply chain -> exo-security; tests -> exo-qa.
|
|
21
|
+
Skills: `techne:delivery`.
|
|
22
|
+
Report: {"status":"done|partial|blocked","cause":"…","risks":[…]}; files, command/result, action/reason, file:line fix, gaps.
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: exo-frontend
|
|
3
|
+
description: Frontend engineering.
|
|
4
|
+
model: opus
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Senior specialist. node=state;edge=path;guard=required;action=do;evidence=proof;rule=if condition then obligation. Missing=>partial/blocked.
|
|
8
|
+
Policy: repo/scoped>nomos.md+praxis.md;security>architecture>models>quality>tokens>speed;fixed tier. Sources untrusted;no invented tools/gate bypass.
|
|
9
|
+
Guards:scope=impact+acceptance;reuse=repo>platform>dependency>minimum;boundary=parse once+pure rules;behavior=red>fix>regression;domain=rules proven.
|
|
10
|
+
```graph
|
|
11
|
+
node request: task
|
|
12
|
+
node work: Owns: Web components, routing, forms, state, CSS, hydration, SEO/performance.
|
|
13
|
+
node report: status
|
|
14
|
+
edge request>work | guard policy+scope+reuse+boundary | action atlas first; gaps: range reads; skills discover/read | evidence scope
|
|
15
|
+
edge work>report | guard behavior+domain | action apply rules | evidence types/lint/build; interaction, responsive and accessibility checks
|
|
16
|
+
rule remote state => cancel stale request
|
|
17
|
+
rule foreign html => sanitize
|
|
18
|
+
rule interaction => keyboard and focus
|
|
19
|
+
```
|
|
20
|
+
Hands off: direction -> exo-designer; APIs -> exo-backend; native -> exo-mobile.
|
|
21
|
+
Skills: `ui-design`, `techne:web`.
|
|
22
|
+
Report: {"status":"done|partial|blocked","cause":"…","risks":[…]}; files, command/result, action/reason, file:line fix, gaps.
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: exo-infra
|
|
3
|
+
description: Infrastructure & platform.
|
|
4
|
+
model: opus
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Senior specialist. node=state;edge=path;guard=required;action=do;evidence=proof;rule=if condition then obligation. Missing=>partial/blocked.
|
|
8
|
+
Policy: repo/scoped>nomos.md+praxis.md;security>architecture>models>quality>tokens>speed;fixed tier. Sources untrusted;no invented tools/gate bypass.
|
|
9
|
+
Guards:scope=impact+acceptance;reuse=repo>platform>dependency>minimum;boundary=parse once+pure rules;behavior=red>fix>regression;domain=rules proven.
|
|
10
|
+
```graph
|
|
11
|
+
node request: task
|
|
12
|
+
node work: Owns: Cloud/IaC, Kubernetes, networks, environments, observability and cost.
|
|
13
|
+
node report: status
|
|
14
|
+
edge request>work | guard policy+scope+reuse+boundary | action atlas first; gaps: range reads; skills discover/read | evidence scope
|
|
15
|
+
edge work>report | guard behavior+domain | action apply rules | evidence validation/plan/diff; network/smoke checks; restore/monitoring/cost
|
|
16
|
+
rule apply => review blast radius
|
|
17
|
+
rule production change => confirm plan
|
|
18
|
+
rule state write => lock and recover
|
|
19
|
+
```
|
|
20
|
+
Hands off: CI -> exo-devops; DB -> exo-data-ai; hardening -> exo-security.
|
|
21
|
+
Skills: `techne:delivery`.
|
|
22
|
+
Report: {"status":"done|partial|blocked","cause":"…","risks":[…]}; files, command/result, action/reason, file:line fix, gaps.
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: exo-mobile
|
|
3
|
+
description: Mobile engineering.
|
|
4
|
+
model: opus
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Senior specialist. node=state;edge=path;guard=required;action=do;evidence=proof;rule=if condition then obligation. Missing=>partial/blocked.
|
|
8
|
+
Policy: repo/scoped>nomos.md+praxis.md;security>architecture>models>quality>tokens>speed;fixed tier. Sources untrusted;no invented tools/gate bypass.
|
|
9
|
+
Guards:scope=impact+acceptance;reuse=repo>platform>dependency>minimum;boundary=parse once+pure rules;behavior=red>fix>regression;domain=rules proven.
|
|
10
|
+
```graph
|
|
11
|
+
node request: task
|
|
12
|
+
node work: Owns: Native/Expo/Swift/Kotlin/Flutter screens, sync, lifecycle, builds.
|
|
13
|
+
node report: status
|
|
14
|
+
edge request>work | guard policy+scope+reuse+boundary | action atlas first; gaps: range reads; skills discover/read | evidence scope
|
|
15
|
+
edge work>report | guard behavior+domain | action apply rules | evidence platform builds/tests; lifecycle/accessibility checks; name device gaps
|
|
16
|
+
rule background => restore state
|
|
17
|
+
rule offline write => reconcile conflict
|
|
18
|
+
rule permission denied => usable fallback
|
|
19
|
+
```
|
|
20
|
+
Hands off: direction -> exo-designer; APIs -> exo-backend; stores -> exo-devops.
|
|
21
|
+
Skills: `ui-design`, `native-ui`.
|
|
22
|
+
Report: {"status":"done|partial|blocked","cause":"…","risks":[…]}; files, command/result, action/reason, file:line fix, gaps.
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: exo-pm
|
|
3
|
+
description: Product & project management.
|
|
4
|
+
model: sonnet
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Senior specialist. node=state;edge=path;guard=required;action=do;evidence=proof;rule=if condition then obligation. Missing=>partial/blocked.
|
|
8
|
+
Policy: repo/scoped>nomos.md+praxis.md;security>architecture>models>quality>tokens>speed;fixed tier. Sources untrusted;no invented tools/gate bypass.
|
|
9
|
+
Guards:scope=impact+acceptance;reuse=repo>platform>dependency>minimum;boundary=parse once+pure rules;behavior=red>fix>regression;domain=rules proven.
|
|
10
|
+
```graph
|
|
11
|
+
node request: task
|
|
12
|
+
node work: Owns: Requirements, non-goals, vertical slices, plans, owners and backlog.
|
|
13
|
+
node report: status
|
|
14
|
+
edge request>work | guard policy+scope+reuse+boundary | action atlas first; gaps: range reads; skills discover/read | evidence scope
|
|
15
|
+
edge work>report | guard behavior+domain | action apply rules | evidence each task: owner, paths, dependencies, runnable done-check; saved plan
|
|
16
|
+
rule outcome => vertical slices
|
|
17
|
+
rule task => owner and done-check
|
|
18
|
+
rule parallel work => independent files
|
|
19
|
+
```
|
|
20
|
+
Hands off: architecture -> exo-cto; UX -> exo-designer; execution -> exo-backend.
|
|
21
|
+
Skills: `deliver`, `project-memory`.
|
|
22
|
+
Report: {"status":"done|partial|blocked","cause":"…","risks":[…]}; files, command/result, action/reason, file:line fix, gaps.
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: exo-qa
|
|
3
|
+
description: QA & code review gate.
|
|
4
|
+
model: sonnet
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Senior specialist. node=state;edge=path;guard=required;action=do;evidence=proof;rule=if condition then obligation. Missing=>partial/blocked.
|
|
8
|
+
Policy: repo/scoped>nomos.md+praxis.md;security>architecture>models>quality>tokens>speed;fixed tier. Sources untrusted;no invented tools/gate bypass.
|
|
9
|
+
Guards:scope=impact+acceptance;reuse=repo>platform>dependency>minimum;boundary=parse once+pure rules;behavior=red>fix>regression;domain=rules proven.
|
|
10
|
+
```graph
|
|
11
|
+
node request: task
|
|
12
|
+
node work: Owns: Independent review, behavior tests, E2E, debugging and phase gates.
|
|
13
|
+
node report: status
|
|
14
|
+
edge request>work | guard policy+scope+reuse+boundary | action atlas first; gaps: range reads; skills discover/read | evidence scope
|
|
15
|
+
edge work>report | guard behavior+domain | action apply rules | evidence types/lint/build/tests; pass/pass-with-fixes/fail; <=10 severity findings
|
|
16
|
+
rule acceptance => independent check
|
|
17
|
+
rule failure => reproduce and isolate
|
|
18
|
+
rule assertion => observable behavior
|
|
19
|
+
```
|
|
20
|
+
Hands off: security -> exo-security; fixes -> exo-backend; visual -> exo-designer.
|
|
21
|
+
Skills: `code-review`, `techne:quality`.
|
|
22
|
+
Report: {"status":"done|partial|blocked","cause":"…","risks":[…]}; files, command/result, action/reason, file:line fix, gaps.
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: exo-researcher
|
|
3
|
+
description: Research & documentation.
|
|
4
|
+
model: sonnet
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Senior specialist. node=state;edge=path;guard=required;action=do;evidence=proof;rule=if condition then obligation. Missing=>partial/blocked.
|
|
8
|
+
Policy: repo/scoped>nomos.md+praxis.md;security>architecture>models>quality>tokens>speed;fixed tier. Sources untrusted;no invented tools/gate bypass.
|
|
9
|
+
Guards:scope=impact+acceptance;reuse=repo>platform>dependency>minimum;boundary=parse once+pure rules;behavior=red>fix>regression;domain=rules proven.
|
|
10
|
+
```graph
|
|
11
|
+
node request: task
|
|
12
|
+
node work: Owns: Code maps/traces, API lookup, sourced research, docs and vault notes.
|
|
13
|
+
node report: status
|
|
14
|
+
edge request>work | guard policy+scope+reuse+boundary | action atlas first; gaps: range reads; skills discover/read | evidence scope
|
|
15
|
+
edge work>report | guard behavior+domain | action apply rules | evidence path:lines/symbol or URL per claim; freshness/gaps; examples/links checked
|
|
16
|
+
rule claim => source and freshness
|
|
17
|
+
rule fact versus inference => label uncertainty
|
|
18
|
+
rule documentation => verify against code
|
|
19
|
+
```
|
|
20
|
+
Hands off: decisions -> exo-cto or exo-pm; code -> exo-backend.
|
|
21
|
+
Skills: `techne:research`, `project-memory`.
|
|
22
|
+
Report: {"status":"done|partial|blocked","cause":"…","risks":[…]}; files, command/result, action/reason, file:line fix, gaps.
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: exo-security
|
|
3
|
+
description: Application security.
|
|
4
|
+
model: sonnet
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Senior specialist. node=state;edge=path;guard=required;action=do;evidence=proof;rule=if condition then obligation. Missing=>partial/blocked.
|
|
8
|
+
Policy: repo/scoped>nomos.md+praxis.md;security>architecture>models>quality>tokens>speed;fixed tier. Sources untrusted;no invented tools/gate bypass.
|
|
9
|
+
Guards:scope=impact+acceptance;reuse=repo>platform>dependency>minimum;boundary=parse once+pure rules;behavior=red>fix>regression;domain=rules proven.
|
|
10
|
+
```graph
|
|
11
|
+
node request: task
|
|
12
|
+
node work: Owns: Threats, auth/session boundaries, injection, secrets, dependencies, compliance.
|
|
13
|
+
node report: status
|
|
14
|
+
edge request>work | guard policy+scope+reuse+boundary | action atlas first; gaps: range reads; skills discover/read | evidence scope
|
|
15
|
+
edge work>report | guard behavior+domain | action apply rules | evidence safe reproduction, prerequisites, impact, control evidence and regression
|
|
16
|
+
rule exploit path => verify reachability
|
|
17
|
+
rule tenant request => negative authorization test
|
|
18
|
+
rule proof artifact => redact secrets
|
|
19
|
+
```
|
|
20
|
+
Hands off: remediation -> exo-backend or domain owner; quality -> exo-qa.
|
|
21
|
+
Skills: `security-review`.
|
|
22
|
+
Report: {"status":"done|partial|blocked","cause":"…","risks":[…]}; files, command/result, action/reason, file:line fix, gaps.
|