novahiz 0.2.2 → 0.2.5
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/NOTICE.md +25 -15
- package/README.md +353 -355
- package/adapters/README.md +1 -1
- package/adapters/opencode/agent/novahiz.md +1 -2
- package/adapters/opencode/commands/novahiz-init.md +10 -0
- package/adapters/opencode/instructions.md +1 -1
- package/adapters/opencode/novahiz.ts +182 -4
- package/bin/novahiz.cmd +2 -2
- package/catalog/categories.json +1085 -1093
- package/catalog/overrides.json +12 -13
- package/catalog/providers.json +18 -34
- package/catalog/rules.json +15 -22
- package/docs/ARCHITECTURE.md +2 -2
- package/docs/CATALOG.md +7 -6
- package/docs/CONFIGURATION.md +5 -5
- package/docs/CONSTITUTION.md +4 -4
- package/docs/GATE.md +7 -11
- package/docs/HARNESSES.md +11 -0
- package/docs/INSTALL.md +7 -5
- package/docs/PLUGIN.md +24 -6
- package/docs/PROVIDERS.md +12 -10
- package/docs/ROADMAPS.md +4 -3
- package/docs/RULES.md +11 -10
- package/install/bootstrap.mjs +9 -19
- package/install/install.mjs +23 -41
- package/mcp/novahiz-tools/index.mjs +35 -6
- package/novahiz.config.example.json +1 -5
- package/package.json +6 -7
- package/skills/apple-ui-audit/SKILL.md +95 -0
- package/skills/apple-ui-audit/references/screen-walkthrough.md +29 -0
- package/skills/browser-session/SKILL.md +61 -0
- package/skills/browser-session/references/session-run-sheet.md +30 -0
- package/skills/browser-session/scripts/browser_session_preflight.mjs +74 -0
- package/skills/browser-session/scripts/sample-run.json +5 -0
- package/skills/code-standards/SKILL.md +85 -0
- package/skills/code-standards/references/pr-review-worksheet.md +35 -0
- package/skills/design-token-pipeline/SKILL.md +85 -0
- package/skills/design-token-pipeline/references/dtcg-sample.json +37 -0
- package/skills/llm-threat-review/SKILL.md +99 -0
- package/skills/llm-threat-review/references/review-worksheet.md +34 -0
- package/skills/llm-threat-review/scripts/llm_risk_lint.mjs +105 -0
- package/skills/novahiz-audit/SKILL.md +1 -1
- package/skills/novahiz-gate/SKILL.md +7 -6
- package/skills/novahiz-humanizer/SKILL.md +1 -1
- package/skills/novahiz-implement/SKILL.md +1 -1
- package/skills/novahiz-init/SKILL.md +112 -0
- package/skills/novahiz-planner/SKILL.md +1 -2
- package/skills/openapi-mcp-server/SKILL.md +76 -0
- package/skills/openapi-mcp-server/references/mcp-ship-checklist.md +30 -0
- package/skills/openapi-mcp-server/references/tool-worksheet.md +30 -0
- package/skills/openapi-mcp-server/scripts/openapi_mcp_lint.mjs +133 -0
- package/skills/package-risk-audit/SKILL.md +83 -0
- package/skills/package-risk-audit/references/intake-worksheet.md +19 -0
- package/skills/package-risk-audit/scripts/dep_risk_lint.mjs +131 -0
- package/skills/secrets-hygiene/SKILL.md +62 -0
- package/skills/secrets-hygiene/references/rotation-playbook.md +27 -0
- package/skills/secrets-hygiene/scripts/secret_scan.mjs +120 -0
- package/skills/skill-authoring/SKILL.md +93 -0
- package/skills/skill-authoring/references/skill-template.md +59 -0
- package/skills/skill-authoring/scripts/skill_frontmatter_lint.mjs +65 -0
- package/skills/skill-eval-loop/SKILL.md +103 -0
- package/skills/skill-eval-loop/references/negative-patterns.md +12 -0
- package/skills/skill-eval-loop/references/run-sheet.md +40 -0
- package/skills/skill-eval-loop/scripts/skill_structure_check.mjs +100 -0
- package/skills/ui-craft-rules/SKILL.md +96 -0
- package/skills/ui-slop-remover/SKILL.md +110 -0
- package/skills/ui-slop-remover/references/tell-catalogue.md +58 -0
- package/skills/ui-slop-remover/scripts/slop_lint.mjs +119 -0
- package/src/autodocs.ts +192 -0
- package/src/cli.ts +8 -1
- package/src/commands/autodocs.ts +250 -0
- package/src/commands/doctor.ts +226 -217
- package/src/commands/gate.ts +16 -5
- package/src/commands/init.ts +356 -0
- package/src/commands/task.ts +20 -7
- package/src/gate.ts +401 -401
- package/src/ledger.ts +39 -0
- package/src/targets.ts +43 -7
- package/bundled-skills/ab-testing/SKILL.md +0 -353
- package/bundled-skills/ab-testing/evals/evals.json +0 -105
- package/bundled-skills/ab-testing/references/sample-size-guide.md +0 -263
- package/bundled-skills/ab-testing/references/test-templates.md +0 -277
- package/bundled-skills/ad-creative/SKILL.md +0 -425
- package/bundled-skills/ad-creative/assets/creative-review-template.html +0 -400
- package/bundled-skills/ad-creative/evals/evals.json +0 -217
- package/bundled-skills/ad-creative/references/creative-review-page.md +0 -106
- package/bundled-skills/ad-creative/references/creative-roadmap.md +0 -118
- package/bundled-skills/ad-creative/references/generative-tools.md +0 -637
- package/bundled-skills/ad-creative/references/hook-system.md +0 -115
- package/bundled-skills/ad-creative/references/imessage-video-ads.md +0 -201
- package/bundled-skills/ad-creative/references/meta-creative-formats.md +0 -114
- package/bundled-skills/ad-creative/references/motion-video-ads.md +0 -126
- package/bundled-skills/ad-creative/references/platform-specs.md +0 -213
- package/bundled-skills/ad-creative/references/short-form-video-specs.md +0 -213
- package/bundled-skills/ad-creative/references/static-ad-templates.md +0 -308
- package/bundled-skills/ads/SKILL.md +0 -499
- package/bundled-skills/ads/evals/evals.json +0 -157
- package/bundled-skills/ads/references/abm-playbook.md +0 -93
- package/bundled-skills/ads/references/ad-copy-templates.md +0 -207
- package/bundled-skills/ads/references/audience-targeting.md +0 -243
- package/bundled-skills/ads/references/audit-guardrails.md +0 -83
- package/bundled-skills/ads/references/b2b-paid-playbook.md +0 -115
- package/bundled-skills/ads/references/conversion-tracking.md +0 -361
- package/bundled-skills/ads/references/creative-research-automation.md +0 -103
- package/bundled-skills/ads/references/google-ads-audit-checklist.md +0 -84
- package/bundled-skills/ads/references/google-search-playbook.md +0 -120
- package/bundled-skills/ads/references/linkedin-b2b-playbook.md +0 -107
- package/bundled-skills/ads/references/meta-decision-system.md +0 -176
- package/bundled-skills/ads/references/payback-period.md +0 -69
- package/bundled-skills/ads/references/platform-setup-checklists.md +0 -277
- package/bundled-skills/ads/references/rsa-output-spec.md +0 -88
- package/bundled-skills/agent-device/SKILL.md +0 -20
- package/bundled-skills/ai-seo/SKILL.md +0 -488
- package/bundled-skills/ai-seo/evals/evals.json +0 -135
- package/bundled-skills/ai-seo/references/agent-readiness.md +0 -57
- package/bundled-skills/ai-seo/references/citations-vs-recommendations.md +0 -85
- package/bundled-skills/ai-seo/references/content-patterns.md +0 -287
- package/bundled-skills/ai-seo/references/content-types.md +0 -71
- package/bundled-skills/ai-seo/references/format-volatility.md +0 -98
- package/bundled-skills/ai-seo/references/okf.md +0 -104
- package/bundled-skills/ai-seo/references/platform-ranking-factors.md +0 -154
- package/bundled-skills/ai-seo/references/youtube-ai-citations.md +0 -60
- package/bundled-skills/analytics/SKILL.md +0 -310
- package/bundled-skills/analytics/evals/evals.json +0 -90
- package/bundled-skills/analytics/references/event-library.md +0 -260
- package/bundled-skills/analytics/references/ga4-implementation.md +0 -300
- package/bundled-skills/analytics/references/gtm-implementation.md +0 -390
- package/bundled-skills/android-emulator/SKILL.md +0 -32
- package/bundled-skills/android-reverse-engineering/LICENSE +0 -190
- package/bundled-skills/android-reverse-engineering/SKILL.md +0 -313
- package/bundled-skills/android-reverse-engineering/references/api-extraction-patterns.md +0 -197
- package/bundled-skills/android-reverse-engineering/references/call-flow-analysis.md +0 -210
- package/bundled-skills/android-reverse-engineering/references/fernflower-usage.md +0 -115
- package/bundled-skills/android-reverse-engineering/references/jadx-usage.md +0 -116
- package/bundled-skills/android-reverse-engineering/references/kotlin-name-recovery.md +0 -108
- package/bundled-skills/android-reverse-engineering/references/setup-guide.md +0 -221
- package/bundled-skills/android-reverse-engineering/references/third_party_hosts.txt +0 -122
- package/bundled-skills/android-reverse-engineering/scripts/check-deps.ps1 +0 -165
- package/bundled-skills/android-reverse-engineering/scripts/check-deps.sh +0 -129
- package/bundled-skills/android-reverse-engineering/scripts/decompile.ps1 +0 -400
- package/bundled-skills/android-reverse-engineering/scripts/decompile.sh +0 -578
- package/bundled-skills/android-reverse-engineering/scripts/find-api-calls.ps1 +0 -121
- package/bundled-skills/android-reverse-engineering/scripts/find-api-calls.sh +0 -339
- package/bundled-skills/android-reverse-engineering/scripts/fingerprint.sh +0 -241
- package/bundled-skills/android-reverse-engineering/scripts/install-dep.ps1 +0 -345
- package/bundled-skills/android-reverse-engineering/scripts/install-dep.sh +0 -448
- package/bundled-skills/android-reverse-engineering/scripts/lookup-name.sh +0 -85
- package/bundled-skills/android-reverse-engineering/scripts/recover-kotlin-names.sh +0 -140
- package/bundled-skills/build-graph/SKILL.md +0 -38
- package/bundled-skills/claude-history-ingest/SKILL.md +0 -463
- package/bundled-skills/claude-history-ingest/references/claude-data-format.md +0 -118
- package/bundled-skills/codex-history-ingest/SKILL.md +0 -248
- package/bundled-skills/codex-history-ingest/references/codex-data-format.md +0 -82
- package/bundled-skills/cold-email/SKILL.md +0 -159
- package/bundled-skills/cold-email/evals/evals.json +0 -94
- package/bundled-skills/cold-email/references/benchmarks.md +0 -83
- package/bundled-skills/cold-email/references/follow-up-sequences.md +0 -81
- package/bundled-skills/cold-email/references/frameworks.md +0 -90
- package/bundled-skills/cold-email/references/personalization.md +0 -79
- package/bundled-skills/cold-email/references/subject-lines.md +0 -53
- package/bundled-skills/competitor-profiling/SKILL.md +0 -415
- package/bundled-skills/competitor-profiling/evals/evals.json +0 -85
- package/bundled-skills/competitor-profiling/references/templates.md +0 -167
- package/bundled-skills/competitor-profiling/references/tool-reference.md +0 -179
- package/bundled-skills/computer-use/SKILL.md +0 -41
- package/bundled-skills/content-strategy/SKILL.md +0 -439
- package/bundled-skills/content-strategy/evals/evals.json +0 -116
- package/bundled-skills/content-strategy/references/content-distribution.md +0 -83
- package/bundled-skills/content-strategy/references/headless-cms.md +0 -194
- package/bundled-skills/copilot-history-ingest/SKILL.md +0 -376
- package/bundled-skills/copilot-history-ingest/references/copilot-data-format.md +0 -321
- package/bundled-skills/copy-editing/SKILL.md +0 -457
- package/bundled-skills/copy-editing/evals/evals.json +0 -89
- package/bundled-skills/copy-editing/references/checklist.md +0 -66
- package/bundled-skills/copy-editing/references/content-refresh.md +0 -38
- package/bundled-skills/copy-editing/references/plain-english-alternatives.md +0 -394
- package/bundled-skills/copywriting/SKILL.md +0 -256
- package/bundled-skills/copywriting/evals/evals.json +0 -126
- package/bundled-skills/copywriting/references/copy-frameworks.md +0 -433
- package/bundled-skills/copywriting/references/natural-transitions.md +0 -272
- package/bundled-skills/cro/SKILL.md +0 -187
- package/bundled-skills/cro/evals/evals.json +0 -111
- package/bundled-skills/cro/references/experiments.md +0 -248
- package/bundled-skills/cro/references/form.md +0 -422
- package/bundled-skills/cross-linker/SKILL.md +0 -309
- package/bundled-skills/customer-research/SKILL.md +0 -305
- package/bundled-skills/customer-research/evals/evals.json +0 -176
- package/bundled-skills/customer-research/references/interviews-and-surveys.md +0 -155
- package/bundled-skills/customer-research/references/source-guides.md +0 -401
- package/bundled-skills/daily-update/SKILL.md +0 -223
- package/bundled-skills/dart-add-unit-test/SKILL.md +0 -122
- package/bundled-skills/dart-build-cli-app/SKILL.md +0 -185
- package/bundled-skills/dart-collect-coverage/SKILL.md +0 -141
- package/bundled-skills/dart-fix-runtime-errors/SKILL.md +0 -166
- package/bundled-skills/dart-generate-test-mocks/SKILL.md +0 -155
- package/bundled-skills/dart-migrate-to-checks-package/SKILL.md +0 -528
- package/bundled-skills/dart-resolve-package-conflicts/SKILL.md +0 -116
- package/bundled-skills/dart-run-static-analysis/SKILL.md +0 -104
- package/bundled-skills/dart-setup-ffi-assets/SKILL.md +0 -419
- package/bundled-skills/dart-use-doc-examples/SKILL.md +0 -96
- package/bundled-skills/dart-use-ffigen/SKILL.md +0 -218
- package/bundled-skills/dart-use-pattern-matching/SKILL.md +0 -146
- package/bundled-skills/dart-use-primary-constructors/SKILL.md +0 -262
- package/bundled-skills/dart-write-documentation/SKILL.md +0 -136
- package/bundled-skills/debug-issue/SKILL.md +0 -28
- package/bundled-skills/dogfood/SKILL.md +0 -27
- package/bundled-skills/eas-app-stores/SKILL.md +0 -176
- package/bundled-skills/eas-app-stores/agents/openai.yaml +0 -4
- package/bundled-skills/eas-app-stores/references/app-store-metadata.md +0 -497
- package/bundled-skills/eas-app-stores/references/ios-app-store.md +0 -376
- package/bundled-skills/eas-app-stores/references/native-ios.md +0 -167
- package/bundled-skills/eas-app-stores/references/play-store.md +0 -244
- package/bundled-skills/eas-app-stores/references/testflight.md +0 -62
- package/bundled-skills/eas-app-stores/references/workflows.md +0 -120
- package/bundled-skills/eas-hosting/SKILL.md +0 -431
- package/bundled-skills/eas-hosting/agents/openai.yaml +0 -4
- package/bundled-skills/eas-observe/SKILL.md +0 -54
- package/bundled-skills/eas-observe/agents/openai.yaml +0 -4
- package/bundled-skills/eas-observe/references/metrics.md +0 -98
- package/bundled-skills/eas-observe/references/queries.md +0 -403
- package/bundled-skills/eas-observe/references/setup.md +0 -476
- package/bundled-skills/eas-observe/references/third-party.md +0 -136
- package/bundled-skills/eas-simulator/SKILL.md +0 -208
- package/bundled-skills/eas-simulator/agents/openai.yaml +0 -4
- package/bundled-skills/eas-simulator/references/controllers.md +0 -106
- package/bundled-skills/eas-simulator/references/run-your-app.md +0 -224
- package/bundled-skills/eas-simulator/references/troubleshooting.md +0 -44
- package/bundled-skills/eas-update/SKILL.md +0 -146
- package/bundled-skills/eas-update/agents/openai.yaml +0 -4
- package/bundled-skills/eas-update-insights/SKILL.md +0 -238
- package/bundled-skills/eas-update-insights/agents/openai.yaml +0 -4
- package/bundled-skills/eas-update-insights/references/channel-insights-schema.md +0 -47
- package/bundled-skills/eas-update-insights/references/update-insights-schema.md +0 -69
- package/bundled-skills/eas-workflows/SKILL.md +0 -99
- package/bundled-skills/eas-workflows/agents/openai.yaml +0 -4
- package/bundled-skills/eas-workflows/scripts/fetch.js +0 -109
- package/bundled-skills/eas-workflows/scripts/package.json +0 -6
- package/bundled-skills/emails/SKILL.md +0 -311
- package/bundled-skills/emails/evals/evals.json +0 -93
- package/bundled-skills/emails/references/copy-guidelines.md +0 -113
- package/bundled-skills/emails/references/email-types.md +0 -515
- package/bundled-skills/emails/references/sequence-templates.md +0 -168
- package/bundled-skills/explore-codebase/SKILL.md +0 -29
- package/bundled-skills/expo-animation/LICENSE +0 -21
- package/bundled-skills/expo-animation/RECIPES.md +0 -385
- package/bundled-skills/expo-animation/SKILL.md +0 -267
- package/bundled-skills/expo-animation/agents/openai.yaml +0 -4
- package/bundled-skills/expo-app-clip/SKILL.md +0 -290
- package/bundled-skills/expo-app-clip/agents/openai.yaml +0 -4
- package/bundled-skills/expo-app-clip/references/native-module.md +0 -96
- package/bundled-skills/expo-brownfield/SKILL.md +0 -62
- package/bundled-skills/expo-brownfield/agents/openai.yaml +0 -4
- package/bundled-skills/expo-brownfield/references/brownfield-integrated.md +0 -526
- package/bundled-skills/expo-brownfield/references/brownfield-isolated.md +0 -451
- package/bundled-skills/expo-brownfield/references/comparison.md +0 -63
- package/bundled-skills/expo-brownfield/references/troubleshooting.md +0 -88
- package/bundled-skills/expo-data-fetching/SKILL.md +0 -478
- package/bundled-skills/expo-data-fetching/agents/openai.yaml +0 -4
- package/bundled-skills/expo-data-fetching/references/expo-router-loaders.md +0 -341
- package/bundled-skills/expo-data-fetching/references/offline-and-cancellation.md +0 -68
- package/bundled-skills/expo-design-system/SKILL.md +0 -376
- package/bundled-skills/expo-design-system/agents/openai.yaml +0 -4
- package/bundled-skills/expo-design-system/references/audit.md +0 -190
- package/bundled-skills/expo-design-system/references/native-slop.md +0 -74
- package/bundled-skills/expo-dev-client/SKILL.md +0 -182
- package/bundled-skills/expo-dev-client/agents/openai.yaml +0 -4
- package/bundled-skills/expo-dom/SKILL.md +0 -425
- package/bundled-skills/expo-dom/agents/openai.yaml +0 -4
- package/bundled-skills/expo-examples/SKILL.md +0 -106
- package/bundled-skills/expo-examples/agents/openai.yaml +0 -4
- package/bundled-skills/expo-examples/references/catalog.md +0 -105
- package/bundled-skills/expo-migrate-module/SKILL.md +0 -113
- package/bundled-skills/expo-migrate-module/agents/openai.yaml +0 -4
- package/bundled-skills/expo-migrate-module/references/compatibility.md +0 -73
- package/bundled-skills/expo-migrate-module/references/example.md +0 -212
- package/bundled-skills/expo-migrate-module/references/migration-map.md +0 -306
- package/bundled-skills/expo-module/SKILL.md +0 -151
- package/bundled-skills/expo-module/agents/openai.yaml +0 -4
- package/bundled-skills/expo-module/references/config-plugin.md +0 -90
- package/bundled-skills/expo-module/references/create-expo-module.md +0 -206
- package/bundled-skills/expo-module/references/lifecycle.md +0 -127
- package/bundled-skills/expo-module/references/module-config.md +0 -48
- package/bundled-skills/expo-module/references/native-module.md +0 -286
- package/bundled-skills/expo-module/references/native-view.md +0 -171
- package/bundled-skills/expo-native-ui/SKILL.md +0 -201
- package/bundled-skills/expo-native-ui/agents/openai.yaml +0 -4
- package/bundled-skills/expo-native-ui/references/controls.md +0 -231
- package/bundled-skills/expo-native-ui/references/gradients.md +0 -106
- package/bundled-skills/expo-native-ui/references/icons.md +0 -232
- package/bundled-skills/expo-native-ui/references/media.md +0 -193
- package/bundled-skills/expo-native-ui/references/storage.md +0 -121
- package/bundled-skills/expo-native-ui/references/visual-effects.md +0 -198
- package/bundled-skills/expo-native-ui/references/webgpu-three.md +0 -605
- package/bundled-skills/expo-overview/SKILL.md +0 -115
- package/bundled-skills/expo-overview/agents/openai.yaml +0 -4
- package/bundled-skills/expo-project-structure/SKILL.md +0 -114
- package/bundled-skills/expo-project-structure/agents/openai.yaml +0 -4
- package/bundled-skills/expo-router/SKILL.md +0 -240
- package/bundled-skills/expo-router/agents/openai.yaml +0 -4
- package/bundled-skills/expo-router/references/form-sheet.md +0 -253
- package/bundled-skills/expo-router/references/route-structure.md +0 -229
- package/bundled-skills/expo-router/references/search.md +0 -248
- package/bundled-skills/expo-router/references/tabs.md +0 -433
- package/bundled-skills/expo-router/references/toolbar-and-headers.md +0 -284
- package/bundled-skills/expo-router/references/zoom-transitions.md +0 -158
- package/bundled-skills/expo-skill-eval/SKILL.md +0 -314
- package/bundled-skills/expo-skill-eval/agents/visual-grader.md +0 -52
- package/bundled-skills/expo-skill-eval/references/design-rubric.md +0 -45
- package/bundled-skills/expo-skill-eval/references/runtime-matrix.md +0 -34
- package/bundled-skills/expo-skill-eval/scripts/check-static.sh +0 -64
- package/bundled-skills/expo-skill-eval/scripts/clean-fixture.sh +0 -56
- package/bundled-skills/expo-skill-eval/scripts/generate_viewer.py +0 -450
- package/bundled-skills/expo-skill-eval/scripts/latest-sdk.sh +0 -46
- package/bundled-skills/expo-skill-eval/scripts/make-fixture.sh +0 -95
- package/bundled-skills/expo-skill-eval/scripts/make-workspace.sh +0 -31
- package/bundled-skills/expo-skill-eval/scripts/snapshot-android.sh +0 -284
- package/bundled-skills/expo-skill-eval/scripts/snapshot-ios.sh +0 -132
- package/bundled-skills/expo-skill-eval/scripts/snapshot-web.sh +0 -61
- package/bundled-skills/expo-skill-feedback/SKILL.md +0 -87
- package/bundled-skills/expo-skill-feedback/agents/openai.yaml +0 -4
- package/bundled-skills/expo-skill-feedback/scripts/skill-event.cjs +0 -180
- package/bundled-skills/expo-skill-feedback/scripts/telemetry.cjs +0 -65
- package/bundled-skills/expo-skill-feedback/scripts/telemetry_common.cjs +0 -171
- package/bundled-skills/expo-ui/SKILL.md +0 -101
- package/bundled-skills/expo-ui/agents/openai.yaml +0 -4
- package/bundled-skills/expo-ui/references/drop-in-replacements.md +0 -27
- package/bundled-skills/expo-ui/references/jetpack-compose.md +0 -73
- package/bundled-skills/expo-ui/references/swift-ui.md +0 -73
- package/bundled-skills/expo-ui/references/universal.md +0 -104
- package/bundled-skills/expo-ui/scripts/list-components.js +0 -193
- package/bundled-skills/expo-upgrade/SKILL.md +0 -150
- package/bundled-skills/expo-upgrade/agents/openai.yaml +0 -4
- package/bundled-skills/expo-upgrade/references/expo-av-to-audio.md +0 -132
- package/bundled-skills/expo-upgrade/references/expo-av-to-video.md +0 -160
- package/bundled-skills/expo-upgrade/references/native-tabs.md +0 -124
- package/bundled-skills/expo-upgrade/references/new-architecture.md +0 -79
- package/bundled-skills/expo-upgrade/references/react-19.md +0 -79
- package/bundled-skills/expo-upgrade/references/react-compiler.md +0 -59
- package/bundled-skills/expo-upgrade/references/react-navigation-to-expo-router.md +0 -61
- package/bundled-skills/expo-web-to-native/SKILL.md +0 -91
- package/bundled-skills/expo-web-to-native/agents/openai.yaml +0 -4
- package/bundled-skills/expo-web-to-native/references/false-friends.md +0 -119
- package/bundled-skills/expo-web-to-native/references/native-patterns.md +0 -39
- package/bundled-skills/expo-web-to-native/references/run-as-goal.md +0 -48
- package/bundled-skills/expo-web-to-native/references/verify-on-device.md +0 -45
- package/bundled-skills/find-skills/SKILL.md +0 -141
- package/bundled-skills/flutter-add-integration-test/SKILL.md +0 -163
- package/bundled-skills/flutter-add-widget-preview/SKILL.md +0 -145
- package/bundled-skills/flutter-add-widget-test/SKILL.md +0 -154
- package/bundled-skills/flutter-apply-architecture-best-practices/SKILL.md +0 -162
- package/bundled-skills/flutter-build-responsive-layout/SKILL.md +0 -139
- package/bundled-skills/flutter-fix-layout-issues/SKILL.md +0 -130
- package/bundled-skills/flutter-implement-json-serialization/SKILL.md +0 -153
- package/bundled-skills/flutter-setup-declarative-routing/SKILL.md +0 -255
- package/bundled-skills/flutter-setup-localization/SKILL.md +0 -210
- package/bundled-skills/flutter-use-http-package/SKILL.md +0 -174
- package/bundled-skills/graph-colorize/SKILL.md +0 -180
- package/bundled-skills/hermes-history-ingest/SKILL.md +0 -239
- package/bundled-skills/hermes-history-ingest/references/hermes-data-format.md +0 -131
- package/bundled-skills/impl-validator/SKILL.md +0 -118
- package/bundled-skills/ios-simulator/SKILL.md +0 -32
- package/bundled-skills/json-canvas/SKILL.md +0 -244
- package/bundled-skills/json-canvas/references/EXAMPLES.md +0 -329
- package/bundled-skills/launch/SKILL.md +0 -381
- package/bundled-skills/launch/evals/evals.json +0 -106
- package/bundled-skills/llm-wiki/SKILL.md +0 -661
- package/bundled-skills/llm-wiki/references/WRITING.md +0 -28
- package/bundled-skills/llm-wiki/references/karpathy-pattern.md +0 -45
- package/bundled-skills/marketing-plan/SKILL.md +0 -300
- package/bundled-skills/marketing-plan/evals/evals.json +0 -112
- package/bundled-skills/marketing-plan/references/aarrr-framework.md +0 -180
- package/bundled-skills/marketing-plan/references/budget-planning.md +0 -168
- package/bundled-skills/marketing-plan/references/client-types.md +0 -373
- package/bundled-skills/marketing-plan/references/current-state-rubric.md +0 -255
- package/bundled-skills/marketing-plan/references/example-quietude.md +0 -972
- package/bundled-skills/marketing-plan/references/funding-stage-unlocks.md +0 -230
- package/bundled-skills/marketing-plan/references/growth-patterns.md +0 -190
- package/bundled-skills/marketing-plan/references/idea-cross-reference.md +0 -265
- package/bundled-skills/marketing-plan/references/measurement-framework.md +0 -213
- package/bundled-skills/marketing-plan/references/methodology.md +0 -363
- package/bundled-skills/marketing-plan/references/ops-stack-mapping.md +0 -197
- package/bundled-skills/marketing-plan/references/plan-template.md +0 -494
- package/bundled-skills/marketing-plan/references/team-and-agency-model.md +0 -278
- package/bundled-skills/marketing-psychology/SKILL.md +0 -455
- package/bundled-skills/marketing-psychology/evals/evals.json +0 -88
- package/bundled-skills/memory-bridge/SKILL.md +0 -163
- package/bundled-skills/memory-save/SKILL.md +0 -88
- package/bundled-skills/obsidian-bases/SKILL.md +0 -499
- package/bundled-skills/obsidian-bases/references/FUNCTIONS_REFERENCE.md +0 -173
- package/bundled-skills/obsidian-cli/SKILL.md +0 -106
- package/bundled-skills/obsidian-layout-adjustment/SKILL.md +0 -226
- package/bundled-skills/obsidian-layout-adjustment/evals/evals.json +0 -53
- package/bundled-skills/obsidian-layout-adjustment/references/workflow-reference.md +0 -212
- package/bundled-skills/obsidian-markdown/SKILL.md +0 -196
- package/bundled-skills/obsidian-markdown/references/CALLOUTS.md +0 -58
- package/bundled-skills/obsidian-markdown/references/EMBEDS.md +0 -70
- package/bundled-skills/obsidian-markdown/references/PROPERTIES.md +0 -61
- package/bundled-skills/offers/SKILL.md +0 -155
- package/bundled-skills/offers/evals/evals.json +0 -21
- package/bundled-skills/offers/references/bonus-stacking.md +0 -150
- package/bundled-skills/offers/references/examples.md +0 -215
- package/bundled-skills/offers/references/guarantee-design.md +0 -172
- package/bundled-skills/offers/references/offer-anatomy.md +0 -203
- package/bundled-skills/offers/references/offer-formats.md +0 -240
- package/bundled-skills/offers/references/saas-offers.md +0 -116
- package/bundled-skills/offers/references/scarcity-urgency.md +0 -175
- package/bundled-skills/offers/references/value-equation.md +0 -134
- package/bundled-skills/onboarding/SKILL.md +0 -261
- package/bundled-skills/onboarding/evals/evals.json +0 -108
- package/bundled-skills/onboarding/references/activation-models.md +0 -57
- package/bundled-skills/onboarding/references/experiments.md +0 -258
- package/bundled-skills/onboarding/references/minimum-path-to-value.md +0 -49
- package/bundled-skills/openclaw-history-ingest/SKILL.md +0 -257
- package/bundled-skills/openclaw-history-ingest/references/openclaw-data-format.md +0 -154
- package/bundled-skills/orchestration/SKILL.md +0 -69
- package/bundled-skills/pi-history-ingest/SKILL.md +0 -312
- package/bundled-skills/pricing/SKILL.md +0 -295
- package/bundled-skills/pricing/evals/evals.json +0 -119
- package/bundled-skills/pricing/references/pricing-models.md +0 -66
- package/bundled-skills/pricing/references/pricing-page-teardown.md +0 -85
- package/bundled-skills/pricing/references/research-methods.md +0 -152
- package/bundled-skills/pricing/references/tier-structure.md +0 -232
- package/bundled-skills/product-marketing/SKILL.md +0 -255
- package/bundled-skills/product-marketing/evals/evals.json +0 -98
- package/bundled-skills/prospecting/SKILL.md +0 -262
- package/bundled-skills/prospecting/evals/evals.json +0 -122
- package/bundled-skills/prospecting/references/b2b-prospecting.md +0 -106
- package/bundled-skills/prospecting/references/compliance.md +0 -123
- package/bundled-skills/prospecting/references/data-sources.md +0 -287
- package/bundled-skills/prospecting/references/demand-signals.md +0 -129
- package/bundled-skills/prospecting/references/local-prospecting.md +0 -165
- package/bundled-skills/prospecting/references/saas-prospecting.md +0 -123
- package/bundled-skills/refactor-safely/SKILL.md +0 -29
- package/bundled-skills/review-delta/SKILL.md +0 -46
- package/bundled-skills/review-pr/SKILL.md +0 -66
- package/bundled-skills/sales-enablement/SKILL.md +0 -359
- package/bundled-skills/sales-enablement/evals/evals.json +0 -91
- package/bundled-skills/sales-enablement/references/deck-frameworks.md +0 -263
- package/bundled-skills/sales-enablement/references/demo-scripts.md +0 -355
- package/bundled-skills/sales-enablement/references/objection-library.md +0 -270
- package/bundled-skills/sales-enablement/references/one-pager-templates.md +0 -208
- package/bundled-skills/seo-audit/SKILL.md +0 -499
- package/bundled-skills/seo-audit/evals/evals.json +0 -136
- package/bundled-skills/seo-audit/references/ai-writing-detection.md +0 -200
- package/bundled-skills/seo-audit/references/international-seo.md +0 -230
- package/bundled-skills/session-brain/SKILL.md +0 -101
- package/bundled-skills/session-search/SKILL.md +0 -97
- package/bundled-skills/social/SKILL.md +0 -413
- package/bundled-skills/social/evals/evals.json +0 -107
- package/bundled-skills/social/references/carousel-frameworks.md +0 -141
- package/bundled-skills/social/references/listening-sources-template.md +0 -123
- package/bundled-skills/social/references/listening.md +0 -283
- package/bundled-skills/social/references/platform-limits.md +0 -110
- package/bundled-skills/social/references/platforms.md +0 -170
- package/bundled-skills/social/references/post-templates.md +0 -179
- package/bundled-skills/social/references/reverse-engineering.md +0 -195
- package/bundled-skills/social/references/short-form-video.md +0 -237
- package/bundled-skills/tag-taxonomy/SKILL.md +0 -218
- package/bundled-skills/vault-skill-factory/SKILL.md +0 -143
- package/bundled-skills/video/SKILL.md +0 -346
- package/bundled-skills/video/evals/evals.json +0 -103
- package/bundled-skills/video/references/ai-video-prompting.md +0 -175
- package/bundled-skills/video/references/edit-anatomy.md +0 -84
- package/bundled-skills/wiki-agent/SKILL.md +0 -322
- package/bundled-skills/wiki-capture/SKILL.md +0 -337
- package/bundled-skills/wiki-capture/references/RAW-FORMAT.md +0 -115
- package/bundled-skills/wiki-context-pack/SKILL.md +0 -89
- package/bundled-skills/wiki-dashboard/SKILL.md +0 -472
- package/bundled-skills/wiki-dedup/SKILL.md +0 -320
- package/bundled-skills/wiki-digest/SKILL.md +0 -243
- package/bundled-skills/wiki-export/SKILL.md +0 -445
- package/bundled-skills/wiki-history-ingest/SKILL.md +0 -61
- package/bundled-skills/wiki-import/SKILL.md +0 -276
- package/bundled-skills/wiki-ingest/SKILL.md +0 -563
- package/bundled-skills/wiki-ingest/references/ingest-prompts.md +0 -54
- package/bundled-skills/wiki-ingest/references/pageindex.md +0 -72
- package/bundled-skills/wiki-ingest/references/url-sources.md +0 -295
- package/bundled-skills/wiki-lint/SKILL.md +0 -643
- package/bundled-skills/wiki-narrate/SKILL.md +0 -120
- package/bundled-skills/wiki-narrate/references/voices.md +0 -29
- package/bundled-skills/wiki-query/SKILL.md +0 -307
- package/bundled-skills/wiki-rebuild/SKILL.md +0 -212
- package/bundled-skills/wiki-research/SKILL.md +0 -319
- package/bundled-skills/wiki-setup/SKILL.md +0 -359
- package/bundled-skills/wiki-stage-commit/SKILL.md +0 -164
- package/bundled-skills/wiki-status/SKILL.md +0 -556
- package/bundled-skills/wiki-switch/SKILL.md +0 -115
- package/bundled-skills/wiki-synthesize/SKILL.md +0 -212
- package/bundled-skills/wiki-update/SKILL.md +0 -271
- package/skills/ai-security/SKILL.md +0 -132
- package/skills/ai-security/references/atlas-coverage.md +0 -60
- package/skills/ai-security/scripts/ai_threat_scanner.py +0 -373
- package/skills/anti-AI-design/SKILL.md +0 -72
- package/skills/apple-hig-audit/SKILL.md +0 -64
- package/skills/apple-hig-audit/references/accessibility.md +0 -78
- package/skills/apple-hig-audit/references/platform-specifics.md +0 -57
- package/skills/apple-hig-audit/references/visual-design.md +0 -68
- package/skills/apple-hig-audit/scripts/hig_checker.py +0 -115
- package/skills/apple-hig-audit/templates/hig-audit-template.md +0 -114
- package/skills/dependency-auditor/README.md +0 -98
- package/skills/dependency-auditor/SKILL.md +0 -114
- package/skills/dependency-auditor/assets/sample_go.mod +0 -53
- package/skills/dependency-auditor/assets/sample_package.json +0 -72
- package/skills/dependency-auditor/assets/sample_requirements.txt +0 -71
- package/skills/dependency-auditor/expected_outputs/sample_license_report.txt +0 -37
- package/skills/dependency-auditor/expected_outputs/sample_upgrade_plan.txt +0 -59
- package/skills/dependency-auditor/expected_outputs/sample_vulnerability_report.json +0 -71
- package/skills/dependency-auditor/references/dependency_management_best_practices.md +0 -46
- package/skills/dependency-auditor/references/license_compatibility_matrix.md +0 -57
- package/skills/dependency-auditor/references/vulnerability_assessment_guide.md +0 -62
- package/skills/dependency-auditor/scripts/dep_scanner.py +0 -595
- package/skills/dependency-auditor/scripts/license_checker.py +0 -442
- package/skills/dependency-auditor/scripts/upgrade_planner.py +0 -490
- package/skills/dependency-auditor/test-inventory.json +0 -421
- package/skills/dependency-auditor/test-project/package.json +0 -72
- package/skills/design-system-tokens/SKILL.md +0 -90
- package/skills/design-system-tokens/assets/design_system_doc_template.md +0 -129
- package/skills/design-system-tokens/references/component-architecture.md +0 -88
- package/skills/design-system-tokens/references/developer-handoff.md +0 -61
- package/skills/design-system-tokens/references/responsive-calculations.md +0 -72
- package/skills/design-system-tokens/references/token-generation.md +0 -62
- package/skills/design-system-tokens/scripts/design_token_generator.py +0 -315
- package/skills/engineering-code-standards/SKILL.md +0 -174
- package/skills/env-secrets-manager/SKILL.md +0 -102
- package/skills/env-secrets-manager/references/secret-patterns.md +0 -56
- package/skills/env-secrets-manager/references/validation-detection-rotation.md +0 -76
- package/skills/env-secrets-manager/scripts/env_auditor.py +0 -340
- package/skills/frontend-design-taste/SKILL.md +0 -62
- package/skills/mcp-server-builder/README.md +0 -42
- package/skills/mcp-server-builder/SKILL.md +0 -144
- package/skills/mcp-server-builder/references/openapi-extraction-guide.md +0 -34
- package/skills/mcp-server-builder/references/production-hardening-guide.md +0 -80
- package/skills/mcp-server-builder/references/python-server-template.md +0 -22
- package/skills/mcp-server-builder/references/spec-compatibility.md +0 -129
- package/skills/mcp-server-builder/references/typescript-server-template.md +0 -19
- package/skills/mcp-server-builder/references/validation-checklist.md +0 -30
- package/skills/mcp-server-builder/scripts/mcp_validator.py +0 -180
- package/skills/mcp-server-builder/scripts/openapi_to_mcp.py +0 -279
- package/skills/playwright-agent/SKILL.md +0 -147
- package/skills/skill-creator/LICENSE.txt +0 -14
- package/skills/skill-creator/SKILL.md +0 -471
- package/skills/skill-creator/agents/analyzer.md +0 -274
- package/skills/skill-creator/agents/comparator.md +0 -202
- package/skills/skill-creator/agents/grader.md +0 -223
- package/skills/skill-creator/assets/eval_review.html +0 -143
- package/skills/skill-creator/eval-viewer/generate_review.py +0 -471
- package/skills/skill-creator/eval-viewer/viewer.html +0 -1321
- package/skills/skill-creator/references/schemas.md +0 -430
- package/skills/skill-creator/scripts/__init__.py +0 -0
- package/skills/skill-creator/scripts/aggregate_benchmark.py +0 -401
- package/skills/skill-creator/scripts/generate_report.py +0 -322
- package/skills/skill-creator/scripts/improve_description.py +0 -247
- package/skills/skill-creator/scripts/package_skill.py +0 -136
- package/skills/skill-creator/scripts/quick_validate.py +0 -103
- package/skills/skill-creator/scripts/run_eval.py +0 -310
- package/skills/skill-creator/scripts/run_loop.py +0 -328
- package/skills/skill-creator/scripts/utils.py +0 -47
- package/skills/write-a-skill/SKILL.md +0 -111
- package/skills/write-a-skill/references/companion_tooling.md +0 -61
- package/skills/write-a-skill/references/description_design_patterns.md +0 -136
- package/skills/write-a-skill/references/progressive_disclosure_principles.md +0 -87
- package/skills/write-a-skill/references/quality_gates_for_skills.md +0 -158
- package/skills/write-a-skill/scripts/skill_description_validator.py +0 -241
- package/skills/write-a-skill/scripts/skill_review_checklist_runner.py +0 -257
- package/skills/write-a-skill/scripts/skill_structure_validator.py +0 -265
package/README.md
CHANGED
|
@@ -1,355 +1,353 @@
|
|
|
1
|
-
# Novahiz
|
|
2
|
-
|
|
3
|
-
> **Zero-dependency enforcement layer for AI coding agents** — classifies prompts, assigns execution roadmaps, blocks unsafe edits, and injects session-level skills, all deterministically without model calls.
|
|
4
|
-
|
|
5
|
-
15 categories,
|
|
6
|
-
|
|
7
|
-
```
|
|
8
|
-
┌─────────────────────────────────────────────────────────────────────┐
|
|
9
|
-
│ │
|
|
10
|
-
│ USER PROMPT ──▶ CLASSIFIER ──▶ GATE ──▶ SAFE OUTPUT │
|
|
11
|
-
│ │
|
|
12
|
-
│ "Fix the 3 categories 2 missing Edit blocked │
|
|
13
|
-
│ auth bug" detected skills until skills │
|
|
14
|
-
│ required loaded │
|
|
15
|
-
│ │
|
|
16
|
-
└─────────────────────────────────────────────────────────────────────┘
|
|
17
|
-
```
|
|
18
|
-
|
|
19
|
-
---
|
|
20
|
-
|
|
21
|
-
## What it does
|
|
22
|
-
|
|
23
|
-
```
|
|
24
|
-
┌──────────────────────────────────────────────────────────────────────────┐
|
|
25
|
-
│ HOW Novahiz WORKS │
|
|
26
|
-
│ │
|
|
27
|
-
│ ┌──────────┐ ┌────────────┐ ┌──────────┐ ┌──────────────┐ │
|
|
28
|
-
│ │ USER │───▶│ CLASSIFY │───▶│ INJECT │───▶│ MODEL │ │
|
|
29
|
-
│ │ PROMPT │ │ │ │ ENFORCE │ │ RESPONSE │ │
|
|
30
|
-
│ └──────────┘ │ keywords │ │ block + │ └──────┬───────┘ │
|
|
31
|
-
│ │ priority │ │ roadmap │ │ │
|
|
32
|
-
│ │ roadmap │ │ ledger │ ▼ │
|
|
33
|
-
│ └────────────┘ └──────────┘ ┌──────────────┐ │
|
|
34
|
-
│ │ │ TOOL CALL │ │
|
|
35
|
-
│ │ │ (edit/write) │ │
|
|
36
|
-
│ │ └──────┬───────┘ │
|
|
37
|
-
│ │ │ │
|
|
38
|
-
│ │ ┌────────────┐ │ │
|
|
39
|
-
│ └────────▶│ GATE │◀───────────┘ │
|
|
40
|
-
│ │ │ │
|
|
41
|
-
│ │ file path │ │
|
|
42
|
-
│ │ skills │ │
|
|
43
|
-
│ │ content │ │
|
|
44
|
-
│ └─────┬──────┘ │
|
|
45
|
-
│ │ │
|
|
46
|
-
│ ▼ │
|
|
47
|
-
│ ┌──────────┐ │
|
|
48
|
-
│ │ allow / │ │
|
|
49
|
-
│ │ BLOCK │ │
|
|
50
|
-
│ └──────────┘ │
|
|
51
|
-
│ │
|
|
52
|
-
└──────────────────────────────────────────────────────────────────────────┘
|
|
53
|
-
```
|
|
54
|
-
|
|
55
|
-
**15 categories**, **
|
|
56
|
-
|
|
57
|
-
---
|
|
58
|
-
|
|
59
|
-
## Quick start
|
|
60
|
-
|
|
61
|
-
### Option 1 — One-liner (recommended)
|
|
62
|
-
|
|
63
|
-
```bash
|
|
64
|
-
npm install -g Novahiz
|
|
65
|
-
```
|
|
66
|
-
|
|
67
|
-
This installs Novahiz globally and auto-configures opencode (skills, plugin, MCP servers, config). Then verify:
|
|
68
|
-
|
|
69
|
-
```bash
|
|
70
|
-
npx Novahiz doctor #
|
|
71
|
-
npx Novahiz classify "fix the auth bug"
|
|
72
|
-
```
|
|
73
|
-
|
|
74
|
-
### Option 2 — From source
|
|
75
|
-
|
|
76
|
-
```bash
|
|
77
|
-
git clone https://github.com/novahiz/novahiz.git
|
|
78
|
-
cd novahiz
|
|
79
|
-
npm install && npm run build
|
|
80
|
-
node ./install/install.mjs
|
|
81
|
-
|
|
82
|
-
# Verify
|
|
83
|
-
npx Novahiz doctor
|
|
84
|
-
```
|
|
85
|
-
|
|
86
|
-
> Requires **Node.js >= 22.18**. The installer auto-installs opencode if it's missing.
|
|
87
|
-
|
|
88
|
-
---
|
|
89
|
-
|
|
90
|
-
## The Classifier
|
|
91
|
-
|
|
92
|
-
Every user prompt passes through the classifier. It scores keywords against 15 categories and picks the top matches.
|
|
93
|
-
|
|
94
|
-
```mermaid
|
|
95
|
-
flowchart LR
|
|
96
|
-
A[User Prompt] --> B[Text Folding<br/>lowercase + strip accents]
|
|
97
|
-
B --> C{Keyword Scoring<br/>+1.0 per hit<br/>+1.5 multi-word bonus}
|
|
98
|
-
C --> D[Rank by Score + Priority]
|
|
99
|
-
D --> E[Top 3 Categories]
|
|
100
|
-
E --> F[Primary Category<br/>determines roadmap]
|
|
101
|
-
F --> G[Required Skills<br/>union of all categories]
|
|
102
|
-
F --> H[Enforced Skills<br/>primary only — gate blocks if missing]
|
|
103
|
-
```
|
|
104
|
-
|
|
105
|
-
**Example:**
|
|
106
|
-
|
|
107
|
-
| Prompt | Top Category | Confidence | Skills Required |
|
|
108
|
-
|--------|-------------|------------|-----------------|
|
|
109
|
-
| "fix the auth bug" | `debug` | 0.60 | novahiz-plan, novahiz-analyse, novahiz-implement, novahiz-converge |
|
|
110
|
-
| "add a landing page" | `design-ui` | 0.50 | novahiz-humanizer,
|
|
111
|
-
| "create supabase migration" | `database-supabase` | 0.60 | novahiz-supabase, novahiz-postgres, novahiz-plan, novahiz-implement |
|
|
112
|
-
|
|
113
|
-
---
|
|
114
|
-
|
|
115
|
-
## The Gate
|
|
116
|
-
|
|
117
|
-
The gate is the enforcement mechanism. It inspects every file edit and decides: **allow** or **block**.
|
|
118
|
-
|
|
119
|
-
```mermaid
|
|
120
|
-
flowchart TD
|
|
121
|
-
A[Tool Call: edit / write / patch] --> B[File Class Detection]
|
|
122
|
-
B --> C{Rule Matching}
|
|
123
|
-
|
|
124
|
-
C --> D[
|
|
125
|
-
C --> F[R3: Prompt was Supabase?<br/>require novahiz-supabase + postgres]
|
|
126
|
-
C --> G[R4: Prompt was browser?<br/>require novahiz-browser]
|
|
127
|
-
C --> H[R6: Workflow prompt?<br/>require plan/clarify/analyse/implement/converge]
|
|
128
|
-
|
|
129
|
-
D --> I{Roadmap Enforcement}
|
|
130
|
-
F --> I
|
|
131
|
-
G --> I
|
|
132
|
-
H --> I
|
|
133
|
-
|
|
134
|
-
I --> J{Placeholder Detection<br/>TODO / FIXME / placeholder tokens}
|
|
135
|
-
|
|
136
|
-
J --> K["Check installed skills<br/>(missing → reported, not blocked)"]
|
|
137
|
-
J --> L["Check loaded skills<br/>(missing → BLOCKED)"]
|
|
138
|
-
|
|
139
|
-
K --> M{All loaded?}
|
|
140
|
-
L --> M
|
|
141
|
-
|
|
142
|
-
M -->|Yes| N[✅ Allow edit]
|
|
143
|
-
M -->|No| O[❌ Block edit<br/>list missing skills]
|
|
144
|
-
```
|
|
145
|
-
|
|
146
|
-
### File classes
|
|
147
|
-
|
|
148
|
-
| Class | Extensions |
|
|
149
|
-
|-------|-----------|
|
|
150
|
-
| `code` | `.ts`, `.tsx`, `.js`, `.jsx`, `.py`, `.go`, `.rs`, `.java`, `.kt`, `.swift`, `.php`, `.dart`, `.rb` |
|
|
151
|
-
| `design` | `.css`, `.scss`, `.html`, `.vue`, `.svelte`, `.astro` |
|
|
152
|
-
| `text` | `.md`, `.txt`, `.rst` |
|
|
153
|
-
| `config` | `.json`, `.yaml`, `.yml`, `.toml` |
|
|
154
|
-
| `data` | `.csv`, `.sql`, `.db` |
|
|
155
|
-
|
|
156
|
-
### Gate rules
|
|
157
|
-
|
|
158
|
-
| Rule | Triggers on | Requires |
|
|
159
|
-
|------|-------------|----------|
|
|
160
|
-
|
|
|
161
|
-
|
|
|
162
|
-
|
|
|
163
|
-
|
|
|
164
|
-
|
|
|
165
|
-
|
|
|
166
|
-
|
|
|
167
|
-
|
|
|
168
|
-
|
|
|
169
|
-
|
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
| `
|
|
211
|
-
| `
|
|
212
|
-
| `
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
F -->|N
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
- **
|
|
236
|
-
- **
|
|
237
|
-
- **
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
| `
|
|
249
|
-
| `
|
|
250
|
-
| `
|
|
251
|
-
| `
|
|
252
|
-
| `
|
|
253
|
-
| `
|
|
254
|
-
| `
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
|
268
|
-
|
|
|
269
|
-
|
|
|
270
|
-
|
|
|
271
|
-
|
|
|
272
|
-
|
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
|
300
|
-
|
|
301
|
-
| `Novahiz
|
|
302
|
-
| `Novahiz
|
|
303
|
-
| `Novahiz
|
|
304
|
-
| `Novahiz
|
|
305
|
-
| `Novahiz
|
|
306
|
-
| `Novahiz task
|
|
307
|
-
| `Novahiz
|
|
308
|
-
| `Novahiz
|
|
309
|
-
| `Novahiz
|
|
310
|
-
| `Novahiz
|
|
311
|
-
| `Novahiz
|
|
312
|
-
| `Novahiz
|
|
313
|
-
| `Novahiz
|
|
314
|
-
| `Novahiz
|
|
315
|
-
| `Novahiz
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
|
326
|
-
|
|
327
|
-
| [docs/
|
|
328
|
-
| [docs/
|
|
329
|
-
| [docs/
|
|
330
|
-
| [docs/
|
|
331
|
-
| [docs/
|
|
332
|
-
| [docs/
|
|
333
|
-
| [docs/
|
|
334
|
-
| [docs/
|
|
335
|
-
| [docs/
|
|
336
|
-
| [docs/
|
|
337
|
-
| [docs/
|
|
338
|
-
| [docs/
|
|
339
|
-
| [docs/
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
Apache-2.0
|
|
1
|
+
# Novahiz: Agent Governance Toolkit
|
|
2
|
+
|
|
3
|
+
> **Zero-dependency enforcement layer for AI coding agents** — classifies prompts, assigns execution roadmaps, blocks unsafe edits, and injects session-level skills, all deterministically without model calls.
|
|
4
|
+
|
|
5
|
+
15 categories, 41 skills, 10 gate rules, 6 MCP providers — all deterministic, all local, all JSON.
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
┌─────────────────────────────────────────────────────────────────────┐
|
|
9
|
+
│ │
|
|
10
|
+
│ USER PROMPT ──▶ CLASSIFIER ──▶ GATE ──▶ SAFE OUTPUT │
|
|
11
|
+
│ │
|
|
12
|
+
│ "Fix the 3 categories 2 missing Edit blocked │
|
|
13
|
+
│ auth bug" detected skills until skills │
|
|
14
|
+
│ required loaded │
|
|
15
|
+
│ │
|
|
16
|
+
└─────────────────────────────────────────────────────────────────────┘
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## What it does
|
|
22
|
+
|
|
23
|
+
```
|
|
24
|
+
┌──────────────────────────────────────────────────────────────────────────┐
|
|
25
|
+
│ HOW Novahiz WORKS │
|
|
26
|
+
│ │
|
|
27
|
+
│ ┌──────────┐ ┌────────────┐ ┌──────────┐ ┌──────────────┐ │
|
|
28
|
+
│ │ USER │───▶│ CLASSIFY │───▶│ INJECT │───▶│ MODEL │ │
|
|
29
|
+
│ │ PROMPT │ │ │ │ ENFORCE │ │ RESPONSE │ │
|
|
30
|
+
│ └──────────┘ │ keywords │ │ block + │ └──────┬───────┘ │
|
|
31
|
+
│ │ priority │ │ roadmap │ │ │
|
|
32
|
+
│ │ roadmap │ │ ledger │ ▼ │
|
|
33
|
+
│ └────────────┘ └──────────┘ ┌──────────────┐ │
|
|
34
|
+
│ │ │ TOOL CALL │ │
|
|
35
|
+
│ │ │ (edit/write) │ │
|
|
36
|
+
│ │ └──────┬───────┘ │
|
|
37
|
+
│ │ │ │
|
|
38
|
+
│ │ ┌────────────┐ │ │
|
|
39
|
+
│ └────────▶│ GATE │◀───────────┘ │
|
|
40
|
+
│ │ │ │
|
|
41
|
+
│ │ file path │ │
|
|
42
|
+
│ │ skills │ │
|
|
43
|
+
│ │ content │ │
|
|
44
|
+
│ └─────┬──────┘ │
|
|
45
|
+
│ │ │
|
|
46
|
+
│ ▼ │
|
|
47
|
+
│ ┌──────────┐ │
|
|
48
|
+
│ │ allow / │ │
|
|
49
|
+
│ │ BLOCK │ │
|
|
50
|
+
│ └──────────┘ │
|
|
51
|
+
│ │
|
|
52
|
+
└──────────────────────────────────────────────────────────────────────────┘
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
**15 categories**, **41 skills**, **10 gate rules**, **6 MCP providers** — all deterministic, all local, all JSON.
|
|
56
|
+
|
|
57
|
+
---
|
|
58
|
+
|
|
59
|
+
## Quick start
|
|
60
|
+
|
|
61
|
+
### Option 1 — One-liner (recommended)
|
|
62
|
+
|
|
63
|
+
```bash
|
|
64
|
+
npm install -g Novahiz
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
This installs Novahiz globally and auto-configures opencode (skills, plugin, MCP servers, config). Then verify:
|
|
68
|
+
|
|
69
|
+
```bash
|
|
70
|
+
npx Novahiz doctor # 12 health checks
|
|
71
|
+
npx Novahiz classify "fix the auth bug"
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
### Option 2 — From source
|
|
75
|
+
|
|
76
|
+
```bash
|
|
77
|
+
git clone https://github.com/novahiz/novahiz.git
|
|
78
|
+
cd novahiz
|
|
79
|
+
npm install && npm run build
|
|
80
|
+
node ./install/install.mjs
|
|
81
|
+
|
|
82
|
+
# Verify
|
|
83
|
+
npx Novahiz doctor
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
> Requires **Node.js >= 22.18**. The installer auto-installs opencode if it's missing.
|
|
87
|
+
|
|
88
|
+
---
|
|
89
|
+
|
|
90
|
+
## The Classifier
|
|
91
|
+
|
|
92
|
+
Every user prompt passes through the classifier. It scores keywords against 15 categories and picks the top matches.
|
|
93
|
+
|
|
94
|
+
```mermaid
|
|
95
|
+
flowchart LR
|
|
96
|
+
A[User Prompt] --> B[Text Folding<br/>lowercase + strip accents]
|
|
97
|
+
B --> C{Keyword Scoring<br/>+1.0 per hit<br/>+1.5 multi-word bonus}
|
|
98
|
+
C --> D[Rank by Score + Priority]
|
|
99
|
+
D --> E[Top 3 Categories]
|
|
100
|
+
E --> F[Primary Category<br/>determines roadmap]
|
|
101
|
+
F --> G[Required Skills<br/>union of all categories]
|
|
102
|
+
F --> H[Enforced Skills<br/>primary only — gate blocks if missing]
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
**Example:**
|
|
106
|
+
|
|
107
|
+
| Prompt | Top Category | Confidence | Skills Required |
|
|
108
|
+
|--------|-------------|------------|-----------------|
|
|
109
|
+
| "fix the auth bug" | `debug` | 0.60 | novahiz-plan, novahiz-analyse, novahiz-implement, novahiz-converge |
|
|
110
|
+
| "add a landing page" | `design-ui` | 0.50 | novahiz-humanizer, ui-slop-remover |
|
|
111
|
+
| "create supabase migration" | `database-supabase` | 0.60 | novahiz-supabase, novahiz-postgres, novahiz-plan, novahiz-implement |
|
|
112
|
+
|
|
113
|
+
---
|
|
114
|
+
|
|
115
|
+
## The Gate
|
|
116
|
+
|
|
117
|
+
The gate is the enforcement mechanism. It inspects every file edit and decides: **allow** or **block**.
|
|
118
|
+
|
|
119
|
+
```mermaid
|
|
120
|
+
flowchart TD
|
|
121
|
+
A[Tool Call: edit / write / patch] --> B[File Class Detection]
|
|
122
|
+
B --> C{Rule Matching}
|
|
123
|
+
|
|
124
|
+
C --> D[R13: Design-ui prompt or style file?<br/>require humanizer + ui-slop + ui-craft]
|
|
125
|
+
C --> F[R3: Prompt was Supabase?<br/>require novahiz-supabase + postgres]
|
|
126
|
+
C --> G[R4: Prompt was browser?<br/>require novahiz-browser]
|
|
127
|
+
C --> H[R6: Workflow prompt?<br/>require plan/clarify/analyse/implement/converge]
|
|
128
|
+
|
|
129
|
+
D --> I{Roadmap Enforcement}
|
|
130
|
+
F --> I
|
|
131
|
+
G --> I
|
|
132
|
+
H --> I
|
|
133
|
+
|
|
134
|
+
I --> J{Placeholder Detection<br/>TODO / FIXME / placeholder tokens}
|
|
135
|
+
|
|
136
|
+
J --> K["Check installed skills<br/>(missing → reported, not blocked)"]
|
|
137
|
+
J --> L["Check loaded skills<br/>(missing → BLOCKED)"]
|
|
138
|
+
|
|
139
|
+
K --> M{All loaded?}
|
|
140
|
+
L --> M
|
|
141
|
+
|
|
142
|
+
M -->|Yes| N[✅ Allow edit]
|
|
143
|
+
M -->|No| O[❌ Block edit<br/>list missing skills]
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
### File classes
|
|
147
|
+
|
|
148
|
+
| Class | Extensions |
|
|
149
|
+
|-------|-----------|
|
|
150
|
+
| `code` | `.ts`, `.tsx`, `.js`, `.jsx`, `.py`, `.go`, `.rs`, `.java`, `.kt`, `.swift`, `.php`, `.dart`, `.rb` |
|
|
151
|
+
| `design` | `.css`, `.scss`, `.html`, `.vue`, `.svelte`, `.astro` |
|
|
152
|
+
| `text` | `.md`, `.txt`, `.rst` |
|
|
153
|
+
| `config` | `.json`, `.yaml`, `.yml`, `.toml` |
|
|
154
|
+
| `data` | `.csv`, `.sql`, `.db` |
|
|
155
|
+
|
|
156
|
+
### Gate rules
|
|
157
|
+
|
|
158
|
+
| Rule | Triggers on | Requires |
|
|
159
|
+
|------|-------------|----------|
|
|
160
|
+
| R3-supabase | A Supabase path or a Supabase prompt | novahiz-supabase, novahiz-postgres |
|
|
161
|
+
| R4-playwright | A browser prompt category, or a browser test path (`**/*.spec.ts`, `**/e2e/**`, `**/playwright/**`, …) | novahiz-browser |
|
|
162
|
+
| R6-Novahiz | A prompt in a workflow category | novahiz-plan, -clarify, -analyse, -implement, -converge |
|
|
163
|
+
| R7-assessment | An assessment prompt | novahiz-assess-intake, -research, -define, -shape, -decide |
|
|
164
|
+
| R8-docs | Edits under `novahiz-docs/**/*.md` | novahiz-docs |
|
|
165
|
+
| R9-code-review | A review prompt or a code file under review | novahiz-code-review |
|
|
166
|
+
| R10-security | An audit or security prompt | novahiz-security |
|
|
167
|
+
| R11-accessibility | A design-ui or audit prompt | novahiz-wcag-audit |
|
|
168
|
+
| R12-web-extract | A research prompt | novahiz-web-extract |
|
|
169
|
+
| R13-design-craft | A design-ui prompt or a style file (css/scss/less/html) | novahiz-humanizer, ui-slop-remover, ui-craft-rules |
|
|
170
|
+
|
|
171
|
+
`novahiz-humanizer` and `ui-slop-remover` are required only on frontend design tasks (R13).
|
|
172
|
+
|
|
173
|
+
---
|
|
174
|
+
|
|
175
|
+
## Roadmaps
|
|
176
|
+
|
|
177
|
+
Each category has an ordered execution roadmap. The gate enforces non-optional `skill` steps.
|
|
178
|
+
|
|
179
|
+
```mermaid
|
|
180
|
+
flowchart LR
|
|
181
|
+
subgraph "Feature (code)"
|
|
182
|
+
A1[advisory: Understand] --> A2[skill: Plan]
|
|
183
|
+
A2 --> A3[skill: Analyse]
|
|
184
|
+
A3 --> A4[skill: Implement]
|
|
185
|
+
A4 --> A5[skill: Converge]
|
|
186
|
+
A5 --> A6[verify: Verify]
|
|
187
|
+
end
|
|
188
|
+
|
|
189
|
+
subgraph "Bugfix (debug)"
|
|
190
|
+
B1[advisory: Reproduce] --> B2[advisory: Isolate]
|
|
191
|
+
B2 --> B3[skill: Plan]
|
|
192
|
+
B3 --> B4[skill: Analyse]
|
|
193
|
+
B4 --> B5[skill: Implement]
|
|
194
|
+
B5 --> B6[skill: Converge]
|
|
195
|
+
B6 --> B7[advisory: Prevent]
|
|
196
|
+
end
|
|
197
|
+
|
|
198
|
+
subgraph "Schema (database-supabase)"
|
|
199
|
+
C1[skill: Plan] --> C2[skill: Clarify]
|
|
200
|
+
C2 --> C3[skill: Inspect]
|
|
201
|
+
C3 --> C4[skill: Load supabase]
|
|
202
|
+
C4 --> C5[skill: Implement]
|
|
203
|
+
C5 --> C6[skill: Security]
|
|
204
|
+
C6 --> C7[skill: Converge]
|
|
205
|
+
end
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
| Step Kind | What it means | Gate behavior |
|
|
209
|
+
|-----------|---------------|---------------|
|
|
210
|
+
| `skill` | Load a skill before proceeding | **Blocks** if skill not loaded |
|
|
211
|
+
| `edit` | Make code changes | Allowed |
|
|
212
|
+
| `verify` | Check the work is correct | Advisory |
|
|
213
|
+
| `advisory` | Informational | Never blocks |
|
|
214
|
+
|
|
215
|
+
---
|
|
216
|
+
|
|
217
|
+
## Task Ledger
|
|
218
|
+
|
|
219
|
+
For work that spans more than a few steps, the ledger keeps the plan in SQLite instead of in the conversation.
|
|
220
|
+
|
|
221
|
+
```mermaid
|
|
222
|
+
flowchart TD
|
|
223
|
+
A["task new 'Add CSV export'"] --> B[Create task + todos from roadmap]
|
|
224
|
+
B --> C[Dispatch work packets]
|
|
225
|
+
C --> D[Each packet = one todo<br/>exclusive file ownership]
|
|
226
|
+
D --> E[Agent works on todos]
|
|
227
|
+
E --> F{Review cadence<br/>every N edits}
|
|
228
|
+
F -->|N reached| G[Force review step<br/>reconcile plan]
|
|
229
|
+
F -->|N not reached| E
|
|
230
|
+
G --> E
|
|
231
|
+
E --> H[All todos done]
|
|
232
|
+
H --> I[Task complete]
|
|
233
|
+
```
|
|
234
|
+
|
|
235
|
+
- **Exclusive file ownership** — no two work packets can edit the same file
|
|
236
|
+
- **Iteration budget** — each todo has a max (default: 12) before escalation
|
|
237
|
+
- **Review cadence** — forced review every 3 edits or 2 completed todos
|
|
238
|
+
- **Proof required** — verify steps require evidence before completion
|
|
239
|
+
|
|
240
|
+
---
|
|
241
|
+
|
|
242
|
+
## Installed skills
|
|
243
|
+
|
|
244
|
+
Novahiz ships with 41 skills across all categories:
|
|
245
|
+
|
|
246
|
+
| Category | Skills | Purpose |
|
|
247
|
+
|----------|--------|---------|
|
|
248
|
+
| `code` | novahiz-code-review, code-standards, openapi-mcp-server, ... | Code quality, patterns, architecture |
|
|
249
|
+
| `debug` | novahiz-analyse, ... | Root cause analysis |
|
|
250
|
+
| `review` | novahiz-code-review, novahiz-delta-review, ... | Structured review, blast radius |
|
|
251
|
+
| `database-supabase` | novahiz-postgres, novahiz-supabase, ... | Schema, RLS, migrations, optimization |
|
|
252
|
+
| `design-ui` | novahiz-humanizer, ui-slop-remover, ui-craft-rules, apple-ui-audit, ... | UI/UX, visual hierarchy, native feel |
|
|
253
|
+
| `docs-writing` | ... | Prose, marketing copy, AI de-tell |
|
|
254
|
+
| `browser` | novahiz-browser, browser-session, novahiz-web-extract, ... | Web automation, screenshots, extraction |
|
|
255
|
+
| `audit` | novahiz-security, package-risk-audit, llm-threat-review, ... | Security, compliance, vulnerability |
|
|
256
|
+
|
|
257
|
+
Run `npx Novahiz skills --all` to see the full list.
|
|
258
|
+
|
|
259
|
+
---
|
|
260
|
+
|
|
261
|
+
## Providers
|
|
262
|
+
|
|
263
|
+
Novahiz auto-registers external MCP servers based on the prompt category:
|
|
264
|
+
|
|
265
|
+
| Provider | Package | License | Categories |
|
|
266
|
+
|----------|---------|---------|------------|
|
|
267
|
+
| context7 | `@upstash/context7-mcp` | MIT | code, research |
|
|
268
|
+
| narsil | `narsil-mcp` | MIT OR Apache-2.0 | code, review |
|
|
269
|
+
| novahiz | local (`mcp/novahiz-tools`) | Apache-2.0 | code, planning |
|
|
270
|
+
| playwright | `@playwright/mcp` | Apache-2.0 | browser, design-ui |
|
|
271
|
+
| security | `security-mcp` | MIT | audit |
|
|
272
|
+
| cron | `mcp-cron` | AGPL-3.0-only | devops |
|
|
273
|
+
|
|
274
|
+
Upstream repositories and full provenance for MCP providers and opencode plugins: [docs/PROVIDERS.md](docs/PROVIDERS.md), [docs/HARNESSES.md](docs/HARNESSES.md), [NOTICE.md](NOTICE.md).
|
|
275
|
+
|
|
276
|
+
---
|
|
277
|
+
|
|
278
|
+
## Configuration
|
|
279
|
+
|
|
280
|
+
```bash
|
|
281
|
+
# Disable the gate (escape hatch)
|
|
282
|
+
NOVAHIZ_GATE=off npx opencode
|
|
283
|
+
|
|
284
|
+
# Override home directory
|
|
285
|
+
NOVAHIZ_HOME=/path/to/Novahiz npx Novahiz doctor
|
|
286
|
+
|
|
287
|
+
# Force node version
|
|
288
|
+
NOVAHIZ_NODE=/usr/local/bin/node npx Novahiz doctor
|
|
289
|
+
```
|
|
290
|
+
|
|
291
|
+
See [docs/CONFIGURATION.md](docs/CONFIGURATION.md) for all options.
|
|
292
|
+
|
|
293
|
+
---
|
|
294
|
+
|
|
295
|
+
## Commands
|
|
296
|
+
|
|
297
|
+
| Command | Purpose |
|
|
298
|
+
|---------|---------|
|
|
299
|
+
| `Novahiz init` | One-shot setup |
|
|
300
|
+
| `Novahiz doctor` | 12-check health diagnostic |
|
|
301
|
+
| `Novahiz status` | Current classification + gate state |
|
|
302
|
+
| `Novahiz classify <text>` | Classify a prompt |
|
|
303
|
+
| `Novahiz gate` | Check if an edit is allowed |
|
|
304
|
+
| `Novahiz task new <title>` | Start a tracked task |
|
|
305
|
+
| `Novahiz task status` | Task progress |
|
|
306
|
+
| `Novahiz task done <id>` | Mark a todo complete |
|
|
307
|
+
| `Novahiz report` | Session report |
|
|
308
|
+
| `Novahiz skills` | List loaded or available skills |
|
|
309
|
+
| `Novahiz catalog <query>` | Search the skill catalog |
|
|
310
|
+
| `Novahiz roadmap` | Show execution roadmap |
|
|
311
|
+
| `Novahiz dispatch` | Generate work packets |
|
|
312
|
+
| `Novahiz sync` | Rebuild installed-skills index |
|
|
313
|
+
| `Novahiz clean` | Remove old logs |
|
|
314
|
+
| `Novahiz upgrade` | Pull latest + rebuild |
|
|
315
|
+
| `Novahiz version` | Print version |
|
|
316
|
+
|
|
317
|
+
See [docs/CLI.md](docs/CLI.md) for full reference.
|
|
318
|
+
|
|
319
|
+
---
|
|
320
|
+
|
|
321
|
+
## Documentation
|
|
322
|
+
|
|
323
|
+
| File | Topic |
|
|
324
|
+
|------|-------|
|
|
325
|
+
| [docs/ARCHITECTURE.md](docs/ARCHITECTURE.md) | System design, components, data flow |
|
|
326
|
+
| [docs/CLASSIFICATION.md](docs/CLASSIFICATION.md) | How the classifier works |
|
|
327
|
+
| [docs/GATE.md](docs/GATE.md) | Gate rules, file classes, enforcement |
|
|
328
|
+
| [docs/CATALOG.md](docs/CATALOG.md) | Categories, rules, providers, overrides |
|
|
329
|
+
| [docs/PLUGIN.md](docs/PLUGIN.md) | opencode plugin lifecycle |
|
|
330
|
+
| [docs/CLI.md](docs/CLI.md) | CLI command reference |
|
|
331
|
+
| [docs/CONFIGURATION.md](docs/CONFIGURATION.md) | Config files and env vars |
|
|
332
|
+
| [docs/EXECUTION.md](docs/EXECUTION.md) | Task ledger, todos, dispatch |
|
|
333
|
+
| [docs/PROVIDERS.md](docs/PROVIDERS.md) | MCP servers and skill packs |
|
|
334
|
+
| [docs/INSTALL.md](docs/INSTALL.md) | Installation and setup |
|
|
335
|
+
| [docs/ROADMAPS.md](docs/ROADMAPS.md) | Execution roadmaps |
|
|
336
|
+
| [docs/RULES.md](docs/RULES.md) | Gate rules reference |
|
|
337
|
+
| [docs/CONSTITUTION.md](docs/CONSTITUTION.md) | Project principles |
|
|
338
|
+
| [docs/HARNESSES.md](docs/HARNESSES.md) | Harness adapter guide |
|
|
339
|
+
| [docs/TOKENS.md](docs/TOKENS.md) | Token diagnostics |
|
|
340
|
+
|
|
341
|
+
---
|
|
342
|
+
|
|
343
|
+
## Philosophy
|
|
344
|
+
|
|
345
|
+
Novahiz treats skills like **locks** and the prompt like a **key**. The classifier determines which locks exist. The gate checks whether you have the right keys loaded. No key, no edit.
|
|
346
|
+
|
|
347
|
+
Everything is local, deterministic, and JSON. No cloud calls. No model inference in the decision path. Same prompt + same config = same result, every time.
|
|
348
|
+
|
|
349
|
+
---
|
|
350
|
+
|
|
351
|
+
## License
|
|
352
|
+
|
|
353
|
+
Apache-2.0
|