Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
9342cc3
Closes changes that implemented the multi-hop migrations for 'upgrade…
ZebulonRouseFrantzich Mar 31, 2026
6c38eae
Adds advisory intake and decomposition assessment commands
ZebulonRouseFrantzich Mar 31, 2026
f74e363
Adds structured change update command for safe status and relationshi…
ZebulonRouseFrantzich Mar 31, 2026
64825e7
Adds first-class change decomposition planning and apply operations
ZebulonRouseFrantzich Apr 1, 2026
c01a312
Adds adapter context details so they can run guided clarification and…
ZebulonRouseFrantzich Apr 1, 2026
f1fbda9
Adds first-class standard authoring commands
ZebulonRouseFrantzich Apr 1, 2026
0504a83
Updates status for changes that implement the guided adapter-native c…
ZebulonRouseFrantzich Apr 1, 2026
edbd27e
Adds changes to reduce git change noise for generated adapter files
ZebulonRouseFrantzich Apr 1, 2026
42ce947
Adds canonical adapter source generation and rendering pipeline
ZebulonRouseFrantzich Apr 1, 2026
fbdca69
Adds generated adapter packs in tests and release builds
ZebulonRouseFrantzich Apr 1, 2026
e97f640
Stops committing rendered adapter packs and adopt build generated out…
ZebulonRouseFrantzich Apr 1, 2026
ef5a5d8
Updates based on PR comments.
ZebulonRouseFrantzich Apr 1, 2026
196acfa
Updates based on PR comments and code review.
ZebulonRouseFrantzich Apr 1, 2026
d4d2002
Fixes CI issue and updates implementation status of changes.
ZebulonRouseFrantzich Apr 1, 2026
92215c5
Adds a 'no question tool' rule to the adapter sources
ZebulonRouseFrantzich Apr 1, 2026
d2b7e1f
Adds new change that enhances the consistency of the generated adapte…
ZebulonRouseFrantzich Apr 1, 2026
35e4602
Implements generated structured adapter workflow contracts
ZebulonRouseFrantzich Apr 1, 2026
d007c9f
Updates based on PR comments.
ZebulonRouseFrantzich Apr 1, 2026
1ceb749
Updates to further align to a user one command install of all adapter…
ZebulonRouseFrantzich Apr 2, 2026
1e06faf
Updates based on PR comments
ZebulonRouseFrantzich Apr 2, 2026
4aa3b70
Fixes based on PR comments.
ZebulonRouseFrantzich Apr 2, 2026
962897b
Updates to adapter flows to enhance the experience
ZebulonRouseFrantzich Apr 2, 2026
ec206cb
Fixes check issues from failing check logs.
ZebulonRouseFrantzich Apr 2, 2026
eebab5d
More fixes for failing checks
ZebulonRouseFrantzich Apr 2, 2026
5f38040
Updates based on failing checks.
ZebulonRouseFrantzich Apr 2, 2026
1b7c370
Fixes failing macOS check.
ZebulonRouseFrantzich Apr 2, 2026
ff269ba
Updates main README.md and other documentation files so they are not …
ZebulonRouseFrantzich Apr 2, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ Thumbs.db
runectx
bin/runectx
build/
build/generated/adapters/
vendor/
result
result-*
10 changes: 10 additions & 0 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ effectively in the `runecontext` repository.
- Run main local CI gate: `just ci`
- Run full Nix CI gate: `just nix-ci`
- Run flake checks only: `just check`
- Regenerate adapter packs: `just sync-adapters`
- Build release artifacts only: `just release` or `just release-check`

## What Those Commands Do
Expand All @@ -53,6 +54,7 @@ effectively in the `runecontext` repository.
- `just test` runs `go test ./...`.
- `just ci` runs `just lint` and `just test`.
- `just nix-ci` runs lint, tests, release build checks, and flake checks.
- `just sync-adapters` runs `go run ./tools/syncadapters --root . --output build/generated/adapters`.

## Fast Targeted Test Commands

Expand All @@ -68,7 +70,9 @@ effectively in the `runecontext` repository.
- Small focused Go change: run the affected package tests first.
- CLI behavior change: run `go test ./internal/cli` and then `just lint`.
- Contract/resolution/change-workflow change: run `go test ./internal/contracts` and then `just lint`.
- Adapter source or host-native adapter rendering change: run `go test ./tools/syncadapters ./internal/cli`, then `just sync-adapters`, then `just lint`.
- Tooling or source-quality checker change: run the relevant tool tests, then `just lint`, then `go test ./...`.
- Release packaging or install/release-doc change: run `go test ./internal/cli -run 'TestRelease|TestCompatibilityMatrix|TestInstallScripts'` and `just release-check`.
- Before finishing a non-trivial change: prefer at least `just lint` and `just test`.

## Repository Layout
Expand All @@ -77,8 +81,11 @@ effectively in the `runecontext` repository.
- `internal/cli/`: CLI parsing, output contracts, and command behavior.
- `internal/contracts/`: core validation, resolution, change workflow, bundles, packs, promotion.
- `tools/`: repo-owned developer tooling such as `gofmtcheck` and `checksourcequality`.
- `adapters/source/`: canonical adapter flow/tool definitions and passthrough inputs used by generation.
- `build/generated/adapters/`: generated adapter packs for local/release staging; treat as ephemeral build output.
- `fixtures/`: shared test fixtures and golden inputs.
- `docs/`: implementation plan, install docs, release docs, and policy docs.
- `runecontext/standards/`: normative standards and policy requirements.
- `schemas/` and `core/`: normative contract surfaces.

## Code Organization Conventions
Expand Down Expand Up @@ -175,10 +182,12 @@ effectively in the `runecontext` repository.
## Protected / High-Trust Surfaces

- `flake.nix` and `flake.lock`: high-trust local tooling and release inputs.
- `nix/release/metadata.nix`: canonical release version/tag metadata.
- `.golangci.yml`: linter policy.
- `justfile`: canonical developer command surface.
- `.source-quality-config.json` and `.source-quality-baseline.json`: quality policy.
- `tools/checksourcequality/**` and `tools/gofmtcheck/**`: policy-enforcement tools.
- `runecontext/standards/`: normative standards surface.
- `schemas/` and `core/`: normative contract surfaces.
- `docs/implementation-plan/`: current milestone contract and planning guidance.

Expand All @@ -187,5 +196,6 @@ effectively in the `runecontext` repository.
- Prefer minimal, targeted changes that fit existing patterns.
- Do not silently broaden scope by editing protected policy files unless required.
- If you change command behavior, update tests and relevant docs in the same patch.
- If you change adapter source or host-native adapter behavior, regenerate with `just sync-adapters`, update related tests/docs, and do not commit `build/generated/adapters/` outputs.
- If you change a protected surface, call it out explicitly in your summary.
- If you commit, use DCO sign-off: `git commit -s`.
14 changes: 7 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
# RuneContext - Portable, markdown-first project knowledge, standards, and context bundles

[![CI](https://github.com/runecode-systems/runecontext/actions/workflows/ci.yml/badge.svg)](https://github.com/runecode-systems/runecontext/actions/workflows/ci.yml) [![Status: alpha.13](https://img.shields.io/badge/status-alpha.13-orange)](docs/implementation-plan/README.md) [![License: Apache-2.0](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](LICENSE)
[![CI](https://github.com/runecode-systems/runecontext/actions/workflows/ci.yml/badge.svg)](https://github.com/runecode-systems/runecontext/actions/workflows/ci.yml) [![Status: alpha.14](https://img.shields.io/badge/status-alpha.14-orange)](docs/implementation-plan/README.md) [![License: Apache-2.0](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](LICENSE)

RuneContext is a portable, markdown-first, git-native system for project knowledge, standards, changes, and reusable context bundles. It is AI-tooling-agnostic by design, so teams can use the same source artifacts with different tools or manual workflows without turning the format into a product-specific silo.

## Status

RuneContext is still pre-MVP and not production-ready. The current repository now includes the alpha.1 through alpha.13 slices: frozen core contracts and versioned schemas, embedded/git/path source resolution with monorepo discovery, signed-tag verification with explicit trusted-signer input, deterministic bundle semantics, standards linkage and traceability, stable change IDs, deterministic context-pack generation and hashing, generated indexes/manifests, reviewable promotion assessment, local-first `init`, `bundle resolve`, `doctor`, explicit `promote`, advisory `standard discover`, verified assurance enable/backfill/capture flows, canonical completion metadata and dynamic suggestions, thin generic/tool adapters, repo-local host-native adapter sync, preview-first `runectx upgrade` / `runectx upgrade apply`, explicit `runectx upgrade cli` / `runectx upgrade cli apply` self-update flows, human-friendly grouped upgrade rendering, version-bump-only alpha upgrade semantics where no migration logic is required, real staged migration-edge execution for on-disk layout updates, synced-tool-only host-native refresh behavior during upgrade, richer human-friendly `runectx status` output, checked-in standards under `runecontext/standards/`, canonical release artifacts and verification docs, compatibility guidance, and MVP readiness/reference-fixture coverage. Remaining work toward `v0.1.0` is final stabilization and sign-off.
RuneContext is still pre-MVP and not production-ready. The current repository now includes the alpha.1 through alpha.14 slices: frozen core contracts and versioned schemas, embedded/git/path source resolution with monorepo discovery, signed-tag verification with explicit trusted-signer input, deterministic bundle semantics, standards linkage and traceability, stable change IDs, deterministic context-pack generation and hashing, generated indexes/manifests, reviewable promotion assessment, local-first `init`, `bundle resolve`, `doctor`, explicit `promote`, advisory `standard discover`, verified assurance enable/backfill/capture flows, canonical completion metadata and dynamic suggestions, thin generic/tool adapters, repo-local host-native adapter sync, preview-first `runectx upgrade` / `runectx upgrade apply`, explicit `runectx upgrade cli` / `runectx upgrade cli apply` self-update flows, human-friendly grouped upgrade rendering, version-bump-only alpha upgrade semantics where no migration logic is required, real staged migration-edge execution for on-disk layout updates, synced-tool-only host-native refresh behavior during upgrade, richer human-friendly `runectx status` output, generated structured adapter workflow contracts and host-native render guidance, checked-in standards under `runecontext/standards/`, canonical release artifacts and verification docs, compatibility guidance, and MVP readiness/reference-fixture coverage. Remaining work toward `v0.1.0` is final stabilization and sign-off.

## Quick Start

Expand All @@ -26,7 +26,7 @@ bin/runectx doctor --path /path/to/project

## Install / Try The CLI

With alpha.13 upgrade UX, CLI self-update, release/runtime metadata alignment, portability hardening, and assurance-layout migration support now implemented, `runectx` is the primary supported interface for installing, initializing, validating, diagnosing, upgrading, and syncing RuneContext-managed project assets.
With alpha.14 release/runtime metadata alignment, adapter-pack generation hardening, structured host-native adapter guidance, portability hardening, upgrade UX, and assurance-layout migration support now implemented, `runectx` is the primary supported interface for installing, initializing, validating, diagnosing, upgrading, and syncing RuneContext-managed project assets.

RuneContext is distributed as reviewable repo bundles from GitHub Releases, and those bundles remain the canonical release contents. The standalone `runectx` binary archive is only an optional delivery format; once RuneContext is installed or vendored, the CLI is the normal way to manage it inside projects. In day-to-day use, project setup and maintenance are centered on `runectx init`, `runectx validate`, `runectx doctor`, `runectx adapter sync`, and `runectx upgrade` / `runectx upgrade apply`.

Expand All @@ -49,7 +49,7 @@ bash install-runectx.sh
Pinned version example:

```sh
TAG="v0.1.0-alpha.13"
TAG="v0.1.0-alpha.14"
curl -fsSLO "https://github.com/runecode-systems/runecontext/releases/download/${TAG}/install-runectx.sh"
bash install-runectx.sh --version "$TAG"
```
Expand All @@ -66,7 +66,7 @@ powershell -ExecutionPolicy Bypass -File .\install-runectx.ps1
Pinned version example:

```powershell
$Tag = "v0.1.0-alpha.13"
$Tag = "v0.1.0-alpha.14"
Invoke-WebRequest -Uri "https://github.com/runecode-systems/runecontext/releases/download/$Tag/install-runectx.ps1" -OutFile install-runectx.ps1
powershell -ExecutionPolicy Bypass -File .\install-runectx.ps1 -Version $Tag
```
Expand Down Expand Up @@ -123,7 +123,7 @@ For release verification and maintainer workflow details, see `docs/install-veri
- Stable generated `manifest.yaml`, `indexes/changes-by-status.yaml`, and `indexes/bundles.yaml` artifacts plus reviewable close-time promotion assessment suggestions and explicit promotion transitions.
- CLI support for `runectx version`, `runectx init`, `runectx validate`, `runectx status`, `runectx change new`, `runectx change shape`, `runectx change close`, `runectx change reallocate`, `runectx change update`, `runectx bundle resolve`, `runectx doctor`, `runectx metadata`, `runectx upgrade`, `runectx upgrade apply`, `runectx upgrade cli`, `runectx upgrade cli apply`, `runectx promote`, `runectx standard discover`, `runectx assurance enable|backfill|capture`, `runectx adapter sync`, `runectx adapter render-host-native`, `runectx completion <bash|zsh|fish>`, `runectx completion suggest`, and `runectx completion metadata`.
- Shared machine-facing CLI behavior across command operations with stable `key=value` output by default plus `--json`, `--non-interactive`, `--dry-run` for write flows, and incremental `--explain` support (`runectx completion` is the plain-text script-output exception).
- Repo-local host-native adapter artifacts for OpenCode, Claude Code, and Codex with strict ownership headers, fail-closed overwrite protection, stale cleanup by scan, and shell-output injection support for supported hosts.
- Repo-local host-native adapter artifacts for OpenCode, Claude Code, and Codex with strict ownership headers, fail-closed overwrite protection, stale cleanup by scan, shell-output injection support for supported hosts, and generated structured workflow contracts rendered from canonical adapter sources.
- Canonical `nix build .#release-artifacts` packaging with repo bundles, schema bundle, adapter packs, Linux/macOS `runectx` archives, checksums, release manifest, signatures, attestations, and verification docs.
- Nix, `just`, and GitHub Actions scaffolding for repeatable development, checks, and release work.

Expand Down Expand Up @@ -258,7 +258,7 @@ Current CLI scope:
- `fixtures/` - shared fixture families for schema, markdown, traceability, source/bundle resolution, and change-workflow validation.
- `cmd/runectx/` - the Go CLI entrypoint for `runectx`.
- `internal/` - shared Go implementation packages for validation, source resolution, and change workflow.
- `adapters/` - tool-specific adapter packs and docs as that surface grows.
- `adapters/` - canonical adapter sources, tool capability definitions, and passthrough adapter content used to generate tool-specific packs.
- `docs/` - design, planning, installation, and release-process documentation.
- `tools/` - repository-owned quality and maintenance tooling.
- `nix/` - canonical dev-shell, check, and release-artifact definitions.
Expand Down
16 changes: 15 additions & 1 deletion adapters/README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,17 @@
# Adapters

Tool adapters live here as thin, tool-specific packs that map each tool's UX onto the shared RuneContext core model.
Canonical adapter definitions live under `adapters/source/`.

- `adapters/source/shared/` defines shared flow metadata.
- `adapters/source/tools/` defines per-tool capabilities and generation inputs.
- `adapters/source/packs/` contains passthrough adapter content consumed by generation.

Rendered adapter packs are build-generated at `build/generated/adapters/` via `just sync-adapters`.
Those generated outputs are ephemeral and must not be committed.
Generated packs include per-tool `capabilities.yaml`, generated flow markdown under `flows/`, and a machine-readable `workflow.json` contract used by host-native rendering.

Contributor workflow:

1. Edit canonical sources under `adapters/source/`.
2. Run `just sync-adapters` to regenerate `build/generated/adapters/`.
3. Review generated changes locally as build output; commit only source inputs.
14 changes: 0 additions & 14 deletions adapters/claude-code/capabilities.yaml

This file was deleted.

7 changes: 0 additions & 7 deletions adapters/claude-code/flows/change-new.md

This file was deleted.

7 changes: 0 additions & 7 deletions adapters/claude-code/flows/change-shape.md

This file was deleted.

7 changes: 0 additions & 7 deletions adapters/claude-code/flows/promote.md

This file was deleted.

7 changes: 0 additions & 7 deletions adapters/claude-code/flows/standard-discover.md

This file was deleted.

14 changes: 0 additions & 14 deletions adapters/codex/capabilities.yaml

This file was deleted.

7 changes: 0 additions & 7 deletions adapters/codex/flows/change-new.md

This file was deleted.

7 changes: 0 additions & 7 deletions adapters/codex/flows/change-shape.md

This file was deleted.

7 changes: 0 additions & 7 deletions adapters/codex/flows/promote.md

This file was deleted.

7 changes: 0 additions & 7 deletions adapters/codex/flows/standard-discover.md

This file was deleted.

14 changes: 0 additions & 14 deletions adapters/generic/capabilities.yaml

This file was deleted.

7 changes: 0 additions & 7 deletions adapters/generic/flows/change-new.md

This file was deleted.

7 changes: 0 additions & 7 deletions adapters/generic/flows/change-shape.md

This file was deleted.

7 changes: 0 additions & 7 deletions adapters/generic/flows/promote.md

This file was deleted.

7 changes: 0 additions & 7 deletions adapters/generic/flows/standard-discover.md

This file was deleted.

14 changes: 0 additions & 14 deletions adapters/opencode/capabilities.yaml

This file was deleted.

25 changes: 0 additions & 25 deletions adapters/opencode/flows/change-new.md

This file was deleted.

24 changes: 0 additions & 24 deletions adapters/opencode/flows/change-shape.md

This file was deleted.

Loading
Loading