Package Exports
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@nimiplatform/nimi-coding) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
@nimiplatform/nimi-coding
@nimiplatform/nimi-coding is the standalone host-agnostic boundary package
for the Nimi Coding methodology.
The product goal is to let arbitrary projects install a reusable AI coding
governance toolkit, bootstrap a project-local .nimi/** layer, and then use
AI-native authority, packet, and acceptance discipline for high-risk work.
Primary Path
The primary nimicoding path is for an ordinary project with mixed inputs:
- gather code/docs/structure/human notes
- hand off
spec_reconstructionto an external host - generate a canonical tree under
/.nimi/spec/** - run
validate-spec-tree - run
validate-spec-audit - close out reconstruction
- hand off
doc_spec_auditand close it out locally
blueprint-audit and benchmark parity remain available, but they are
support-only package fixtures. They do not define default reconstruction
completion for a host project.
In a host project, /.nimi/spec/** becomes product authority only after that
project admits or reconstructs it. nimicoding provides the CLI, injected
.nimi/{config,contracts,methodology}/** contracts, and validators; it does
not make a host read package source paths directly.
Current Status
This repository is boundary-complete for its intended standalone scope.
Its completed standalone scope is:
- package identity
- repository foundation
- initial AI-native methodology seed
- package-owned support profile source for future governance slices
- machine-readable reconstruction, doc-spec-audit, and high-risk execution result contracts
- package-owned canonical high-risk admission schema contract
- seed-only high-risk execution schemas for packet, orchestration-state, prompt, worker-output, and acceptance
- vendor-neutral external host-profile seed
- package-owned external host compatibility contract seed
- host-adapter seed for constrained external execution-host interop
- package-owned admitted host-profile overlay seed for
oh_my_codex - package-owned external execution artifact landing-path contract seed
- vendor-neutral external delegated skill runtime contract seed
- vendor-neutral delegated skill installer seed
- fail-closed delegated skill installer result-contract seed
- local-only installer operational evidence-home seed
- fail-closed collapsed installer summary projection lifecycle-contract seed
- package-owned bootstrap source under
config/**,contracts/**,methodology/**, andspec/** - a bounded standalone CLI with staged
start, validation, handoff, local closeout projection, explicit admission, and mechanical execution-artifact validation - a host-agnostic semantic + interop boundary for external AI hosts such as OMX, Codex, Claude, Gemini, or another contract-observing host
It intentionally defers:
- packet-bound run kernel
- provider-backed execution
- scheduler, notification, and automation backend surfaces
- self-hosted methodology execution
CLI Status
This repository now carries a boundary-complete standalone nimicoding CLI.
At the current stage it provides:
- executable package bin wiring
- help and version output
- a primary
nimicoding startentrypoint for bootstrap, resume, and next-stage AI task prep - a conservative
nimicoding clearentrypoint for removing package-managed setup without deleting project-owned truth - a bounded
nimicoding doctor - an explicit
nimicoding blueprint-auditequivalence check for comparing a fixture or host blueprint root with the candidate canonical tree under.nimi/spec - surface validators for placement, table-family, projection-edge, guidance-body, domain-admission, and tracked-output admission boundaries
- an explicit
nimicoding handoffexport - an explicit
nimicoding admit-high-risk-decisionsemantic admission surface - a local-only
nimicoding closeoutprojection - a bounded local-only
nimicoding ingest-high-risk-executionprojection - a bounded local-only
nimicoding review-high-risk-executionprojection - a bounded local-only
nimicoding decide-high-risk-executionprojection - mechanical validators for execution-packet, orchestration-state, prompt, worker-output, and acceptance
- skill-specific result contract seeding for reconstruction, doc/spec audit, and local-only high-risk execution closeout
- seed-only execution contract extraction under
.nimi/contracts/** - package-owned bootstrap source projection from
config/**,contracts/**,methodology/**, andspec/**
Current nimicoding start behavior is intentionally narrow:
- detect the current project state and continue from the right stage
- create or resume the
.nimi/**seed by projecting package-owned source into host paths - seed AI-native spec-reconstruction guidance inside
.nimi/** - keep support-only methodology assets package-owned unless a host explicitly opts into them
- seed package-owned machine contracts inside
.nimi/contracts/** - seed package-owned execution schemas for future high-risk methodology artifacts without admitting runtime ownership
- seed canonical skill-manifest, host-profile, installer, delegated runtime contract, installer result contract, installer operational evidence home, and external handoff truth inside
.nimi/** - seed canonical host-adapter truth inside
.nimi/**so external execution hosts can be admitted without becoming semantic owners - seed canonical collapsed installer summary projection lifecycle truth inside
.nimi/** - update
.gitignorefor local runtime state - optionally update
AGENTS.mdandCLAUDE.mdas a staged confirmation insidestart - explain one step at a time, confirm one step at a time, and apply one step at a time in interactive mode
- prepare one authoritative JSON AI task package for
spec_reconstructionordoc_spec_auditwhen the current project stage requires it - let the user choose a target host such as Codex, Claude, or oh-my-codex for that next AI task
- print a short paste-ready prompt directly in the terminal during
startinstead of requiring users to open a generated prompt file - fail closed on unknown CLI options
- validate bootstrap integrity and delegated-runtime posture with
doctor - preserve existing truth files rather than overwriting them
- refuse unsupported bootstrap contract versions
Current nimicoding clear behavior is intentionally narrow:
- remove only managed AI blocks in
AGENTS.mdandCLAUDE.md - remove only package-owned bootstrap files under
.nimi/config/**,.nimi/contracts/**, and.nimi/methodology/**when the local file still exactly matches the packaged seed - preserve locally modified bootstrap files even when they live under those package-owned bootstrap paths
- preserve
.nimi/spec/**,.nimi/local/**, and.nimi/cache/** - avoid deleting project-owned truth or local operational artifacts implicitly
Topic Lifecycle Reports
Human-authored local report work now uses a topic lifecycle workspace rooted at:
/.nimi/topics/**
Canonical topic lifecycle roots are:
proposalongoingpendingclosed
The primary organization unit is a topic folder:
.nimi/topics/<state>/YYYY-MM-DD-topic-slug/
Each topic folder should carry a lightweight topic.yaml state record and may
include:
README.mddesign.mdpreflight.mdwaves.mdpacket-*.mdcloseout.md
Topic folder rules:
- use sortable date-first topic ids:
YYYY-MM-DD-topic-slug - express lifecycle by moving the topic folder between
proposal,ongoing,pending, andclosed - keep one canonical copy of a topic at a time
- record lifecycle transitions in
topic.yaml; do not rely on folder moves alone as the state evidence surface
Canonical constraints:
- human-authored topic lifecycle reports must use
/.nimi/topics/{proposal|ongoing|pending|closed}/<topic-id>/** - flat markdown files directly under
/.nimi/topics/are outside the admitted methodology model .local/report/**is not an accepted root for human-authored topic lifecycle reports; keep it only for execution evidence or machine outputs.local/work/**is no longer the primary methodology workspace for human-authored topic execution materials
Applicability boundary:
- topic workflow is intentionally heavy and not the default entrypoint for all engineering work
- use a topic when the work is authority-bearing, high-risk, cross-module, multi-wave, or likely to need remediation / re-audit discipline
- small low-risk changes should stay on the ordinary non-topic path unless there is an explicit reason they need topic-level governance
Development rhythm:
- a topic is the canonical home for one major iteration line, not a micro requirement backlog
- waves are the bounded execution unit inside a topic
- entering
ongoingrequires a topic-localpreflight.mdwith one selected next execution target, a bounded stop line, consumed inputs/contexts, expected closeout checks, and explicit forbidden reopenings pendingis an optional no-active-development state for topics that are not ready to close: use it when you want to distinguish "waiting on evidence or an external trigger" from activeongoingwork, and record explicit reopen or close criteria instead of leaving that wait implicit- each wave should own one primary closure goal and end in a bounded result such as an authority cut, implementation packet, bounded re-audit, or explicit pause/defer note
- planning-only waves may harden one execution target, but they must not chain indefinitely; if no bounded closure is reached after a planning wave, pause or re-preflight instead of opening unbounded new planning waves
- closeout stays layered: context closure, wave closeout, and final topic closeout are distinct evidence surfaces
Avoid the older slug-YYYY-MM-DD.md shape because it sorts poorly and makes
cross-report navigation harder. Stable machine report artifacts that are meant
to behave like a current snapshot, such as blueprint-equivalence-audit.json,
should keep their fixed names.
Canonical Spec Surface Model
The package seeds the host-local contracts needed to reconstruct and validate a canonical spec tree without putting package methodology or lifecycle state under the host product-authority root.
At this stage:
config/**,contracts/**,methodology/**, andspec/**are package source for the npm package- generated host projects receive injected
.nimi/{config,contracts,methodology}/**projections and own their.nimi/spec/**product authority start,doctor,handoff,closeout, and high-risk gating read host-local.nimi/**projections instead of requiring access to package source pathsnimicoding blueprint-auditremains the explicit audit surface for benchmark-vs-canonical equivalence checks; it does not perform routing changes on its own- canonical spec generation now reads mixed inputs from
.nimi/config/spec-generation-inputs.yamland treats any blueprint root as an optional benchmark rather than a universal host assumption - completed canonical reconstruction now requires structural validity and may carry file-level auditability under
.nimi/local/state/spec-generation/spec-generation-audit.yaml nimicoding validate-spec-treechecks canonical tree structure, whilenimicoding validate-spec-auditchecks per-file grounding, inference, and unresolved-gap tracking
Current nimicoding doctor behavior is intentionally narrow:
- validate that
.nimi/**bootstrap seed files are present - validate that
.nimi/local/and.nimi/cache/exist and remain ignored - validate bootstrap contract compatibility metadata
- validate bootstrap-only and reconstruction-seeded lifecycle markers
- validate cross-contract reference alignment across manifest, handoff, runtime, installer, and host-profile truth
- validate host-adapter boundary truth and adapter selection posture
- validate admitted package-owned adapter profile overlays for named external hosts
- validate the packaged external host compatibility contract
- expose the supported external host posture, examples, and required/forbidden host behavior
- validate skill result-contract alignment
- validate the packaged high-risk execution result contract
- validate the packaged canonical high-risk admission schema contract
- validate the external execution artifact landing-path contract
- validate seed-only high-risk execution schemas under
.nimi/contracts/** - validate handoff context-order readiness for an external AI host
- expose the standalone completion profile, status, completed surfaces, deferred execution surfaces, and promoted parity gaps
- expose the generic external-host compatibility posture, admitted named overlay posture, and future-only host-specific surfaces
- validate canonical
.nimi/spec/high-risk-admissions.yamlrecord shape against the packaged admission schema contract when present - fail closed when lifecycle state, canonical tree readiness, and auditability drift apart
- report local
doc_spec_auditcloseout artifact status without promoting it to semantic truth - emit either human-readable output or machine-readable JSON with
--json
Current nimicoding handoff behavior is intentionally narrow:
- require explicit
--skill <skill-id> - export an authoritative machine-readable external handoff payload with
--json - optionally project a human-readable host briefing with
--prompt - remain host-agnostic: Claude, Codex, Gemini, OMX, or another external host may consume the same contract if it respects the declared boundaries
- export the package-owned host compatibility contract ref, supported host posture, supported host examples, and required/forbidden host behavior
- expose whether a generic external host is compatible, whether a named admitted overlay is merely available or currently selected, and which host-specific surfaces remain future-only
- reuse
doctorvalidation and fail closed when bootstrap or delegated handoff posture is invalid - allow
spec_reconstructionhandoff during bootstrap-only mode - expose selected named adapter overlay metadata when an admitted host profile is selected
- export
resultContractRefplus skill-specific closeout summary expectations - export execution schema refs, expected artifact kinds, expected local artifact roots, and external execution summary status for
high_risk_execution - refuse
doc_spec_auditandhigh_risk_executionhandoff until the canonical tree under.nimi/specis ready
Current nimicoding closeout behavior is intentionally narrow:
- require explicit
--skill,--outcome, and--verified-at - optionally import those fields plus an optional contract-validated
summaryfrom an external JSON payload with--from - project external skill results into a local-only closeout payload
- optionally write the payload under
.nimi/local/handoff-results/with--write-local - fail closed if a
completedoutcome contradicts the current canonical-tree or audit state - support contract-validated local-only summary import for
high_risk_execution - fail closed if imported high-risk execution refs escape the declared local artifact roots
- fail closed if imported high-risk execution summaries omit refs, drift in shape, or claim an illegal external execution status
- fail closed if imported
summarycontent violates the declared skill result contract - fail closed if an imported JSON summary does not match the current project or required shape
- never promote local closeout artifacts to project semantic truth
Current nimicoding admit-high-risk-decision behavior is intentionally narrow:
- require explicit
--from <json>and--admitted-at <iso8601> - accept only
nimicoding.high-risk-decision.v1payloads withdecisionStatus: manager_decision_recorded - derive
topic_idandpacket_idfrom the mechanically valid attached packet - project canonical admission preview for
.nimi/spec/high-risk-admissions.yaml - write tracked semantic truth only when
--write-specis given explicitly - fail closed on malformed decision payloads, malformed admissions truth, or missing packet identity
Current nimicoding ingest-high-risk-execution behavior is intentionally narrow:
- require explicit
--from <json>pointing at a local high-risk closeout artifact - accept only
high_risk_executioncloseout artifacts withoutcome: completedandsummary.status: candidate_ready - mechanically validate the referenced packet, orchestration-state, prompt, and worker-output artifacts using the packaged validators
- require all evidence refs to exist under the declared local artifact roots
- project a local-only ingest payload and optionally write it under
.nimi/local/handoff-results/ - fail closed on contract drift, root escape, missing artifacts, or invalid worker-output/prompt/schema shape
- never decide semantic acceptance, disposition, or finding judgment
Current nimicoding review-high-risk-execution behavior is intentionally narrow:
- require explicit
--from <json>pointing at a local high-risk ingest artifact - accept only
nimicoding.high-risk-ingest.v1payloads withok: true - project a local-only review-ready attachment payload for manager-owned review
- carry attachment refs, ingest validation evidence, and the declared semantic review owner
- fail closed if the ingest payload is malformed, not local-only, or mechanically invalid
- never decide semantic acceptance, disposition, or finding judgment
Current nimicoding decide-high-risk-execution behavior is intentionally narrow:
- require explicit
--from <json>,--acceptance <path>, and--verified-at <iso8601> - accept only
nimicoding.high-risk-review.v1payloads withok: true - require
reviewStatus: ready_for_manager_review - mechanically validate the provided acceptance artifact and require an explicit
Disposition:line - project a local-only manager decision payload and optionally write it under
.nimi/local/handoff-results/ - fail closed if the review payload is malformed, not local-only, or points at another project
- never auto-promote the manager decision into canonical semantic truth without explicit admission
Current mechanical validator behavior is intentionally narrow:
- require an explicit artifact path for each validator command
- emit machine-readable
validator-cli-result.v1JSON on both success and refusal - validate only the package-owned seed contract shape for execution-packet, orchestration-state, prompt, worker-output, and acceptance
- fail closed on missing required sections, malformed YAML, or seed-contract drift
- avoid semantic acceptance, topic orchestration, scheduler ownership, or provider execution claims
The package now carries package-owned bootstrap source under config/**,
contracts/**, methodology/**, and spec/**. nimicoding start
projects those files into a host project's /.nimi/**
surface at runtime. The package also carries adapter overlays under
adapters/**/profile.yaml so external execution hosts such as
oh-my-codex can be admitted as constrained bridges instead of semantic
owners while keeping external execution closeout local-only, root-bounded,
and non-semantic until an explicit manager-owned admission writes canonical
summary truth into .nimi/spec/high-risk-admissions.yaml.
Boundary-complete in this package does not mean promoted-runtime parity. The
package-owned source lives directly under config/**, contracts/**,
methodology/**, and spec/**. Only generated or adopted host projects use
.nimi/**. Standalone does not add run-* commands, provider invocation,
scheduler logic, or transport adapters in this cut.
Intended Direction
The expected future experience is roughly:
- install
@nimiplatform/nimi-coding - run
nimicoding start - confirm or accept managed AI entrypoints
- let an external AI host use seeded
.nimi/**reconstruction guidance, manifest, host-profile, installer, delegated runtime contract, installer result contract, collapsed installer summary projection lifecycle contract, installer operational evidence guidance, and the authoritative handoff JSON contract to reconstruct the project canonical tree - use the methodology for later high-risk work
Development Posture
This repository is the standalone boundary package. Deferred runtime surfaces such as packet-bound execution, provider-backed execution, scheduler, notification, and automation remain outside the packaged scope.