nightgauge

module
v0.4.6-0...-3be9984 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 21, 2026 License: Apache-2.0

README

Nightgauge

Go 1.26 Open VSX

Nightgauge

AI-powered Issue-to-PR pipeline with enforced quality gates.

Nightgauge transforms how teams build software by guiding AI agents through a structured development workflow—from issue creation to merged pull request. Every step enforces documentation-first practices, acceptance criteria validation, and automated quality checks.

Open-source and local-first

Everything in this repository is Apache-2.0 licensed. The VS Code extension, SDK, portable skills, Claude plugin, and Go binary run locally using model and forge credentials you control. No Nightgauge account or hosted service is required, cloud connectivity is disabled by default, and telemetry is opt-out (on by default, disclosed on first run, one line of config to stop — see docs/TELEMETRY_PRIVACY.md).

Optional services may integrate through public contracts, but their private implementations and commercial plans are outside this repository. See VISION.md and docs/PRODUCT_OVERVIEW.md.

Prerequisites

Have these in place before installing — the pipeline orchestrates tools you already use rather than replacing them:

Requirement Needed for
Claude Code (or another supported adapter) Stage execution — bring your own subscription/keys; nothing is proxied
git + gh CLI (authenticated) Branching, PRs, issue operations
A GitHub repository with issues The pipeline's unit of work
GitHub Projects v2 board (+ .nightgauge/config.yaml pointing at it) The autonomous scheduler and board-driven views — without a board you can still run single issues manually
Node.js ≥ 24 (pinned in .nvmrc) VSCode extension and SDK builds

Platform support: macOS is the primary end-to-end tested platform. Packaged Linux amd64 CLI and VSIX binaries are tested on Debian and Alpine; live provider-driven Linux pipelines still have less coverage. Windows is not currently supported; use WSL2.

Install from Source

git clone https://github.com/nightgauge/nightgauge.git
cd nightgauge
go install ./cmd/nightgauge

Signed release binaries, checksums, and the Homebrew cask are available from GitHub Releases. See docs/GO_BINARY.md for the full install matrix.

Quick Start

The full Nightgauge experience with visual dashboard, project board integration, batch processing, and one-click pipeline execution.

Install Nightgauge from Open VSX, which selects the build for your platform automatically and is the default registry in VSCodium, Cursor, Windsurf and Gitpod. In VS Code itself, install the .vsix for your platform from the latest release with code --install-extension <file>.vsix. Target-specific VSIXs are also available from the GitHub Release; Extensions → … → Install from VSIX installs one manually. Building locally or running dev-install.sh is for extension development and intentionally produces a non-release build.

Features:

  • Visual pipeline status with real-time progress
  • GitHub Project board integration (Ready/In Progress/In Review views)
  • Batch pipeline execution for multiple issues
  • Token usage tracking and cost analytics
  • Configurable notifications and sounds — live-updating pipeline status in Discord, Slack or Mattermost
Claude Code CLI (Alternative)

For terminal-based workflows, install the Nightgauge plugin:

# Add the marketplace
claude plugin marketplace add https://github.com/nightgauge/nightgauge.git

# Install the Nightgauge plugin
claude plugin install nightgauge@nightgauge-plugins

# Start the pipeline
/nightgauge:issue-pickup
Grok Build TUI
# Home copy (~/.grok/skills) plus grok plugin install
./scripts/install-agent-skills.sh --grok-only

Skills then resolve as /nightgauge-issue-create (canonical names) or /issue-create when loaded via the plugin. dev-install.sh and the VS Code extension activate path install the same tree.

OpenAI Codex CLI (Beta Adapter)

Codex support is available through both slash commands and the unified stage runner.

Install Codex assets (commands + skills):

./scripts/install-agent-skills.sh --codex-only

Slash commands are defined in .codex/commands/ and invoked as /<name>:

/nightgauge-issue-pickup 42
/nightgauge-feature-planning 42
/nightgauge-feature-dev 42
/nightgauge-feature-validate 42
/nightgauge-pr-create 42
/nightgauge-pr-merge 42

Run stages directly with the unified stage runner:

# Build the SDK CLI once (from repo root)
npm run -w @nightgauge/sdk build

# Run core pipeline stages — scripts/run-stage.sh <adapter> <stage> <issue>
scripts/run-stage.sh codex issue-pickup 42
scripts/run-stage.sh codex feature-planning 42
scripts/run-stage.sh codex feature-dev 42
scripts/run-stage.sh codex feature-validate 42
scripts/run-stage.sh codex pr-create 42
scripts/run-stage.sh codex pr-merge 42

Migration note:

  • The per-tool wrapper scripts under configs/codex/commands/*.sh were removed. scripts/run-stage.sh <adapter> <stage> <issue> is the single supported entry point for non-Claude adapters.
  • See docs/MIGRATION.md for the removal history and adapter mapping.
Codex CLI Beta Scope
  • All six pipeline stage entry points are available via scripts/run-stage.sh codex <stage> <issue>; Codex remains beta while the complete live-provider matrix is expanded
  • Matching Codex slash commands are available via .codex/commands/*.md
  • Queue/project-sync and some plugin-level automations remain Claude-first
  • The Codex adapter depends on built SDK output: npm run -w @nightgauge/sdk build
Adapter Switching Workflow (Claude <-> Codex)

Both paths use the same stage contract and context artifacts. Mid-issue switching is a supported beta workflow; inspect the handoff files before continuing because it has less live coverage than a single-provider run.

  1. Run a stage in Claude or Codex.
  2. Confirm handoff files under .nightgauge/pipeline/ and plans under .nightgauge/plans/.
  3. Continue with the next stage in the other adapter.

Example:

# Start in Codex
scripts/run-stage.sh codex issue-pickup 42
scripts/run-stage.sh codex feature-planning 42

# Continue in Claude (same issue + branch)
/nightgauge:feature-dev
/nightgauge:pr-create

If a Codex stage fails, rebuild the SDK output and retry:

# Restore the SDK CLI runtime
npm run -w @nightgauge/sdk build

Then continue in Claude commands if needed and finish the pipeline.

GitHub Copilot CLI (Experimental Adapter)

Copilot is available as an experimental agentic execution adapter via the VSCode extension and SDK. It routes pipeline stages through the copilot CLI subprocess, but it has not completed Nightgauge's live six-stage provider verification matrix. Keep a proven Claude or Codex adapter available as a fallback.

Prerequisites:

npm install -g @github/copilot-cli
gh auth login  # or set GH_TOKEN env var

Configure in .nightgauge/config.yaml:

ui:
  core:
    adapter: copilot
copilot:
  # model: "provider-model-id" # optional; omit to use the CLI default

Cost model: Copilot plans and premium-request multipliers change over time. Check your current GitHub plan and the Copilot CLI's usage reporting. See docs/CONFIGURATION.md for all configuration options.

LM Studio (Local Model Adapter)

LM Studio is supported as a chat-completion adapter for offline and zero-cost evaluation, judging, and summarization. It does not provide the agentic tool loop required to run pipeline stages or edit a repository. See docs/MULTI_BACKEND_SETUP.md for setup instructions and docs/CONFIGURATION.md for configuration reference.

Use LM Studio when: running offline evaluations, privacy-sensitive summarization, or cost-free experimentation. Use an agentic adapter for pipeline execution.

Adapter Scope (verified July 22, 2026)
Capability Group Status Notes
Six core issue-to-PR stages (issue-pickup -> pr-merge) Supported Available in Claude commands and the Codex adapter
Utility accelerators (test-gen, issue-create, doc-gen) Beta Useful but not required for core stage completion
Queue/project-sync orchestration (queue, project-sync, backlog flows) Deferred Claude-first automations; use manual GitHub updates in Codex path
Standalone Skills (Advanced)

Skills work with any AI tool supporting the Agent Skills specification:

AI Tool Installation
GitHub Copilot Copy skills/nightgauge-*/ to .github/skills/
OpenAI Codex Copy to ~/.codex/skills/
Grok Build TUI Copy to ~/.grok/skills/
Cursor IDE Copy to .cursor/skills/

Adapters

Nightgauge includes 8 provider adapters across three categories. Five have agentic tool loops and can be selected for pipeline execution; three are chat-completion-only and are limited to evaluation, judging, and summarization.

Adapter Pipeline role Release confidence
Claude Headless Agentic pipeline execution Recommended; primary tested path
Claude SDK Agentic pipeline execution for SDK consumers Advanced, optional integration
Codex CLI Agentic pipeline execution Beta; strong automated coverage
Gemini CLI Agentic pipeline execution Experimental; live matrix pending
GitHub Copilot CLI Agentic pipeline execution Experimental; live matrix pending
Gemini SDK Evaluation/judging/summarization only Chat-completion-only
Ollama Evaluation/judging/summarization only Chat-completion-only
LM Studio Evaluation/judging/summarization only Chat-completion-only

The VS Code extension uses the separately installed Claude CLI for its Claude adapter. It does not bundle Anthropic's Agent SDK. Direct Agent SDK mode is an optional integration for @nightgauge/sdk consumers who install that peer dependency themselves after reviewing Anthropic's terms.

Agentic adapters implement the shared six-stage contract and compatible context files, so they can switch between stages on the same branch. Only Claude Headless is the primary dogfooded path today. Codex is beta; Gemini CLI and Copilot remain experimental until their live provider-matrix runs are recorded. Chat-completion-only adapters are rejected at pipeline dispatch because they cannot edit files, run shell commands, or call gh.

Adapter Selection Guide — Which adapter to choose, setup instructions, env vars, and troubleshooting for each adapter.

Adapter Capability Matrix — Technical audit of adapter capabilities with code-level verification.


The Pipeline

┌─────────────┐   ┌──────────────────┐   ┌─────────────┐   ┌───────────────────┐   ┌───────────┐   ┌──────────┐
│ issue-pickup│ → │ feature-planning │ → │ feature-dev │ → │ feature-validate  │ → │ pr-create │ → │ pr-merge │
└─────────────┘   └──────────────────┘   └─────────────┘   └───────────────────┘   └───────────┘   └──────────┘
     ↓                    ↓                      ↓                   ↓                    ↓               ↓
 Claim issue        Read docs/            Implement per       Build & test         Pre-flight      Address
 Create branch      Design PLAN.md        approved plan       validation           checks          reviews
 Extract specs      Get approval                                                   Link issue      Merge
Why This Matters
Traditional AI Coding Nightgauge
AI jumps straight to code AI reads documentation first
Requirements lost in chat Requirements tracked in PLAN.md
Quality varies by prompt Quality enforced at each step
Context lost between sessions Context preserved in plan files
PRs lack proper linking PRs auto-link issues with "Closes #X"

Pipeline Stages

Stage Invocations by Tool

Use the same six-stage workflow in every supported tool:

Stage Claude Code Codex CLI (Beta Adapter) GitHub Copilot Cursor IDE
issue-pickup /nightgauge:issue-pickup 42 scripts/run-stage.sh codex issue-pickup 42 Use skill nightgauge-issue-pickup for issue #42. Use skill nightgauge-issue-pickup for issue #42.
feature-planning /nightgauge:feature-planning scripts/run-stage.sh codex feature-planning 42 Use skill nightgauge-feature-planning for issue #42. Use skill nightgauge-feature-planning for issue #42.
feature-dev /nightgauge:feature-dev scripts/run-stage.sh codex feature-dev 42 Use skill nightgauge-feature-dev for issue #42. Use skill nightgauge-feature-dev for issue #42.
feature-validate /nightgauge:feature-validate scripts/run-stage.sh codex feature-validate 42 Use skill nightgauge-feature-validate for issue #42. Use skill nightgauge-feature-validate for issue #42.
pr-create /nightgauge:pr-create scripts/run-stage.sh codex pr-create 42 Use skill nightgauge-pr-create for issue #42. Use skill nightgauge-pr-create for issue #42.
pr-merge /nightgauge:pr-merge scripts/run-stage.sh codex pr-merge 42 Use skill nightgauge-pr-merge for issue #42. Use skill nightgauge-pr-merge for issue #42.

Cross-reference:

1. Issue Pickup

Claim a GitHub issue and set up your development environment.

/nightgauge:issue-pickup        # Auto-select highest priority issue
/nightgauge:issue-pickup 42     # Pick up specific issue

What it does:

  • Selects issue using 7-tier priority algorithm (or manual selection)
  • Extracts requirements, acceptance criteria, and technical notes
  • Creates properly-named branch (feat/42-add-user-auth)
  • Assigns issue and updates status labels
  • Sets Start/Target dates in project board (if auto_dates: true)
2. Feature Planning

Design implementation by reading documentation first.

/nightgauge:feature-planning

What it does:

  • Reads docs/ folder to understand existing patterns
  • Analyzes codebase architecture
  • Creates .nightgauge/plans/<issue>-<title>.md with:
    • Implementation phases
    • File change summary
    • Test strategy
    • Acceptance criteria checklist
  • Requires user approval before implementation
3. Feature Development

Implement features following the approved plan.

/nightgauge:feature-dev

What it does:

  • Follows PLAN.md phases exactly
  • Runs parallel subagents for independent files
  • Executes quality review before completion:
    • Code correctness check
    • Security vulnerability scan
    • Test coverage analysis
    • Documentation sync verification
4. Feature Validation

Verify implementation with build, tests, and manual checklists.

/nightgauge:feature-validate
/nightgauge:feature-validate --auto-pass  # Skip manual checklists (admin only)

What it does:

  • Phase 1: Runs automated tests (unit, integration)
  • Phase 1.5: Build verification (HARD GATE - cannot be bypassed)
  • Phase 2: Generates manual test checklist from acceptance criteria
  • Phase 3: User confirms manual testing complete
5. PR Create

Create pull request with proper format and quality checks.

/nightgauge:pr-create
/nightgauge:pr-create --draft    # Create as draft PR

What it does:

  • Runs pre-flight validation (tests, no uncommitted changes)
  • Generates PR description from commits and plan
  • Links issue with "Closes #X"
  • Requests appropriate reviewers
6. PR Merge

Address review feedback and complete the pipeline.

/nightgauge:pr-merge
/nightgauge:pr-merge --admin     # Bypass branch protection

What it does:

  • Waits for CI checks to complete
  • Parses and categorizes review comments
  • Auto-fixes minor issues (typos, formatting)
  • Asks about major issues before proceeding
  • Squash merges and cleans up branches

Quality Gates

The pipeline enforces quality at every step:

Gate Enforced By What It Checks
Requirements captured issue-pickup Extracts acceptance criteria from issue
Docs read first feature-planning Reads docs/ before designing
Plan approved feature-planning User must approve PLAN.md
Implementation reviewed feature-dev 4 parallel review subagents
Build passes feature-validate Build verification (hard gate)
Tests pass feature-validate Unit and integration tests
Manual verification feature-validate Checklist from acceptance criteria
Criteria met pr-create Checklist verification
No plan drift pr-create Compares implementation to plan

Architecture

Product Layers
┌─────────────────────────────────────────────────────────────────┐
│                    USER INTERFACES                               │
├─────────────────────────────────────────────────────────────────┤
│  VSCode Extension          │  CLI Adapters                      │
│  (packages/nightgauge-vscode) │  (claude-plugins + configs/codex) │
│  Primary UX                │  Alternative UX                    │
└─────────────────────────────────────────────────────────────────┘
                              │
                              ▼
┌─────────────────────────────────────────────────────────────────┐
│                    ORCHESTRATION LAYER                           │
├─────────────────────────────────────────────────────────────────┤
│  Nightgauge SDK (packages/nightgauge-sdk)                             │
│  - Pipeline state management                                    │
│  - Context file I/O                                             │
│  - Claude Agent SDK integration                                 │
└─────────────────────────────────────────────────────────────────┘
                              │
                              ▼
┌─────────────────────────────────────────────────────────────────┐
│                    INSTRUCTION LAYER                             │
├─────────────────────────────────────────────────────────────────┤
│  Skills (skills/nightgauge-*)                                      │
│  - Portable SKILL.md files                                      │
│  - Work with any AI tool                                        │
│  - Define "what" not "how"                                      │
└─────────────────────────────────────────────────────────────────┘
Context-Isolated Pipeline

Each pipeline step runs as a fresh subagent with minimal context, passing structured JSON handoff files instead of accumulated conversation history.

flowchart LR
    subgraph "Stage 1"
        A[issue-pickup]
    end
    subgraph "Stage 2"
        B[feature-planning]
    end
    subgraph "Stage 3"
        C[feature-dev]
    end
    subgraph "Stage 4"
        D[feature-validate]
    end
    subgraph "Stage 5"
        E[pr-create]
    end
    subgraph "Stage 6"
        F[pr-merge]
    end

    A -->|"issue-{N}.json"| B
    B -->|"planning-{N}.json"| C
    C -->|"dev-{N}.json"| D
    D -->|"validate-{N}.json"| E
    E -->|"pr-{N}.json"| F
    F -->|"cleanup"| G[🗑️]

Benefits:

Benefit Description
Speed Each step starts fresh—no parsing 100K+ of accumulated history
Reliability Failed steps can be retried without re-running earlier phases
Quality Focused context means better responses with less noise
Scalability Complex features don't hit token limits
Debugging JSON files are human-readable for troubleshooting

Multi-Repository Workspaces

Nightgauge supports coordinated development across multiple repositories:

# .vscode/nightgauge-workspace.yaml
workspace:
  name: "MyApp"

repositories:
  - name: frontend
    path: ./packages/frontend
    role: primary
  - name: backend
    path: ./packages/backend
    role: primary

routing:
  patterns:
    "area:frontend": frontend
    "area:backend": backend

Features:

  • Repository-scoped pipelines (each repo has isolated context)
  • Label-based routing (auto-assign issues to correct repo)
  • Repository switcher (status bar quick pick)
  • Cross-repo epics (track features spanning multiple repos)

See docs/MULTI_REPO_WORKSPACE.md for complete documentation.


Configuration

Nightgauge uses a 6-tier configuration system with layered precedence. The most common configuration file is .nightgauge/config.yaml:

# .nightgauge/config.yaml
project:
  # GitHub Project number (from URL: /orgs/your-org/projects/10)
  number: 10
  # Owner is inferred from repo, but can be overridden
  # owner: your-org

  # Enable automatic date field population
  auto_dates: true
Setting Default Description
project.number — GitHub Project number for board sync
project.owner repo Project owner (org or user)
project.auto_dates false Enable automatic Start/Target date population
Configuration Tiers
Tier File/Source Purpose
1 Built-in defaults Sensible defaults
2 ~/.nightgauge/config.yaml User-wide preferences
3 .nightgauge/config.yaml Project/team settings
4 .nightgauge/config.local.yaml Developer overrides
5 NIGHTGAUGE_* environment vars CI/CD overrides
6 CLI flags One-time overrides

See docs/CONFIGURATION.md for complete configuration reference and docs/MIGRATION.md for migrating from the legacy config file. See also docs/DEPRECATIONS.md.


Repository Structure

nightgauge/
├── packages/                      # Products
│   ├── nightgauge-vscode/           # VSCode extension (primary UX)
│   └── nightgauge-sdk/              # Programmatic SDK
├── skills/                        # Pipeline instruction layer
│   ├── nightgauge-issue-pickup/     # Stage 1: Claim issue
│   ├── nightgauge-feature-planning/ # Stage 2: Design
│   ├── nightgauge-feature-dev/      # Stage 3: Implement
│   ├── nightgauge-feature-validate/ # Stage 4: Validate
│   ├── nightgauge-pr-create/        # Stage 5: Create PR
│   ├── nightgauge-pr-merge/         # Stage 6: Merge
│   ├── smart-setup/              # Utility: Make repos AI-ready
│   └── update-docs/              # Utility: Documentation sync
├── claude-plugins/                # Claude Code integration
│   └── nightgauge/                  # /nightgauge:* commands
├── standards/                     # Coding and security standards
└── docs/                          # Framework documentation

Additional Skills

Beyond the core pipeline, Nightgauge includes utility skills:

Skill Purpose
smart-setup Make any repository AI-ready with AGENTS.md and docs/
update-docs Verify documentation matches current codebase
pr-preflight Run pre-submission validation checks
issue-create Create well-structured issues with proper labels
test-gen Generate tests for existing code
doc-gen Generate documentation from code

Philosophy

Nightgauge is built on these principles:

  • Documentation-first — Read docs before writing code
  • Plan before implement — Design with user approval
  • Quality gates, not suggestions — Enforce standards at each step
  • Context isolation — Fresh subagents with JSON handoffs
  • Portable skills — Works across all major AI coding tools

Documentation


Contributing

New contributors work from a fork — you do not need push access to the canonical repo. See CONTRIBUTING.md; start with the Your first contribution fork workflow and Prerequisites at the top, then browse good first issue and help wanted.


Community and Support


Author: nightgauge License: Apache-2.0

Directories

Path Synopsis
api
generated/go/platform
Package platform provides primitives to interact with the openapi HTTP API.
Package platform provides primitives to interact with the openapi HTTP API.
cmd
adaptercompat-codegen command
Command adaptercompat-codegen renders the canonical adapter compatibility manifests (internal/adaptercompat/manifests/*.json) into their generated consumer:
Command adaptercompat-codegen renders the canonical adapter compatibility manifests (internal/adaptercompat/manifests/*.json) into their generated consumer:
ipc-codegen command
cmd/ipc-codegen generates IpcClient.generated.ts from Go IPC annotations.
cmd/ipc-codegen generates IpcClient.generated.ts from Go IPC annotations.
nightgauge command
nightgauge/forge
Package forgecmd implements the `nightgauge forge` Cobra command tree — a parallel CLI surface that routes every operation through internal/forge.ForgeClient (ADR-006).
Package forgecmd implements the `nightgauge forge` Cobra command tree — a parallel CLI surface that routes every operation through internal/forge.ForgeClient (ADR-006).
nightgauge/workspace
Package workspacecmd implements the `nightgauge workspace` Cobra command tree.
Package workspacecmd implements the `nightgauge workspace` Cobra command tree.
platform-opsgen command
Command platform-opsgen compiles api/platform-operations.yaml into api/generated/go/platform/operations.gen.go (#750).
Command platform-opsgen compiles api/platform-operations.yaml into api/generated/go/platform/operations.gen.go (#750).
stub-provider command
Command stub-provider serves a deterministic, scripted, OpenAI-compatible chat-completions API on loopback for adapter contract runs.
Command stub-provider serves a deterministic, scripted, OpenAI-compatible chat-completions API on loopback for adapter contract runs.
terminalkind-codegen command
Command terminalkind-codegen renders the consumers of the canonical terminal-kind rule table (internal/terminalkind/table.json):
Command terminalkind-codegen renders the consumers of the canonical terminal-kind rule table (internal/terminalkind/table.json):
internal
adaptercompat
Package adaptercompat is the single source of what Nightgauge knows about each coding CLI's versions: the floor, the newest version anyone tested, the upstream feeds that announce a release, how the CLI is installed, and which captured fixtures back the parsers that read it.
Package adaptercompat is the single source of what Nightgauge knows about each coding CLI's versions: the floor, the newest version anyone tested, the upstream feeds that announce a release, how the CLI is installed, and which captured fixtures back the parsers that read it.
atomicfile
Package atomicfile provides the repository's durable atomic file install.
Package atomicfile provides the repository's durable atomic file install.
attention
Package attention implements the local-first DecisionRequest store — the single authoritative writer for `.nightgauge/attention/` (ADR 015).
Package attention implements the local-first DecisionRequest store — the single authoritative writer for `.nightgauge/attention/` (ADR 015).
attention/sweep
Package sweep evaluates repo-scoped attention producers with no pipeline run in flight (issue #89).
Package sweep evaluates repo-scoped attention producers with no pipeline run in flight (issue #89).
audit
Package audit provides cross-repo API endpoint extraction and alignment checking.
Package audit provides cross-repo API endpoint extraction and alignment checking.
cadence
Package cadence answers the one question no other detector in this product asks: did a thing that is supposed to run on a schedule actually run?
Package cadence answers the one question no other detector in this product asks: did a thing that is supposed to run on a schedule actually run?
capabilities
Package capabilities loads and validates the capability registry — capabilities.yaml at the repository root.
Package capabilities loads and validates the capability registry — capabilities.yaml at the repository root.
careful
Package careful implements the opt-in destructive-operation guardrail behind the /nightgauge-careful skill.
Package careful implements the opt-in destructive-operation guardrail behind the /nightgauge-careful skill.
ci
cmd/aggregatefindings
Package aggregatefindings reads .nightgauge/ assessment reports (health-check, security-audit, test-scaffold), applies severity normalization, deduplicates overlapping findings, and emits a stable JSON schema.
Package aggregatefindings reads .nightgauge/ assessment reports (health-check, security-audit, test-scaffold), applies severity normalization, deduplicates overlapping findings, and emits a stable JSON schema.
cmd/backlogpreflight
Package backlogpreflight implements deterministic validation checks for backlog issues on a GitHub project board.
Package backlogpreflight implements deterministic validation checks for backlog issues on a GitHub project board.
cmd/batchfailures
Package batchfailures implements deterministic extraction of pipeline failure rows from .nightgauge/pipeline/batch-state.json AND .nightgauge/pipeline/history/YYYY-MM-DD.jsonl.
Package batchfailures implements deterministic extraction of pipeline failure rows from .nightgauge/pipeline/batch-state.json AND .nightgauge/pipeline/history/YYYY-MM-DD.jsonl.
cmd/epicgate
Package epicgate mirrors the Phase 2.9 epic-decomposition detection logic from skills/nightgauge-issue-create/SKILL.md (lines 875-1012) as a pure Go function so it can be unit-tested independently of the bash gate.
Package epicgate mirrors the Phase 2.9 epic-decomposition detection logic from skills/nightgauge-issue-create/SKILL.md (lines 875-1012) as a pure Go function so it can be unit-tested independently of the bash gate.
cmd/health
Package health implements CLI-layer reading and aggregation of pipeline health data files (.nightgauge/health/*.jsonl).
Package health implements CLI-layer reading and aggregation of pipeline health data files (.nightgauge/health/*.jsonl).
cmd/integrationprobe
Package integrationprobe implements the deterministic platform-API probe behind `nightgauge integration probe-platform`.
Package integrationprobe implements the deterministic platform-API probe behind `nightgauge integration probe-platform`.
cmd/release
Package release implements deterministic GitHub-release fetch and changelog classification behind the `nightgauge release fetch` and `nightgauge release classify-changes` verbs.
Package release implements deterministic GitHub-release fetch and changelog classification behind the `nightgauge release fetch` and `nightgauge release classify-changes` verbs.
cmd/runstate
Package runstatecmd wires the internal/runstate package up as the `nightgauge run state {get,set,resume,discard}` Cobra subcommand.
Package runstatecmd wires the internal/runstate package up as the `nightgauge run state {get,set,resume,discard}` Cobra subcommand.
cmd/scanfailures
Package scanfailures implements deterministic scanning of pipeline session logs under .nightgauge/logs/ for known failure-signal patterns.
Package scanfailures implements deterministic scanning of pipeline session logs under .nightgauge/logs/ for known failure-signal patterns.
cmd/spike
Package spike implements the spike-materialize stage: parses the YAML recommendations block from a spike artifact and creates follow-up GitHub issues idempotently.
Package spike implements the spike-materialize stage: parses the YAML recommendations block from a spike artifact and creates follow-up GitHub issues idempotently.
cmd/tests
Package tests implements deterministic test inventory and risk scoring behind the `nightgauge test inventory` and `nightgauge test risk-score` verbs.
Package tests implements deterministic test inventory and risk scoring behind the `nightgauge test inventory` and `nightgauge test risk-score` verbs.
config
Package config handles CLI configuration loading.
Package config handles CLI configuration loading.
deliverable
Package deliverable answers one question about a change: did the pipeline ever execute the thing this change built?
Package deliverable answers one question about a change: did the pipeline ever execute the thing this change built?
depgraph
Package depgraph constructs a unified cross-repo dependency DAG from GitHub issues, computes topological execution waves, and finds the critical path.
Package depgraph constructs a unified cross-repo dependency DAG from GitHub issues, computes topological execution waves, and finds the critical path.
detect
Package detect provides shared project-framework detection for the deterministic layer.
Package detect provides shared project-framework detection for the deterministic layer.
diagnostics
Package diagnostics persists per-stage forensic records to disk so failure post-mortems have evidence instead of guesswork.
Package diagnostics persists per-stage forensic records to disk so failure post-mortems have evidence instead of guesswork.
dockercompose
Package dockercompose owns docker-compose teardown for the per-issue pipeline stacks (project name "issue-NNN").
Package dockercompose owns docker-compose teardown for the per-issue pipeline stacks (project name "issue-NNN").
docs
Package docs provides deterministic markdown documentation operations.
Package docs provides deterministic markdown documentation operations.
doctor
Package doctor provides environment health checks for the nightgauge pipeline.
Package doctor provides environment health checks for the nightgauge pipeline.
e2e
execution
Package execution manages pipeline execution — worktrees, skill process spawning, process lifecycle, and output streaming.
Package execution manages pipeline execution — worktrees, skill process spawning, process lifecycle, and output streaming.
execution/adapters
Package adapters defines the SkillRunner interface and AI CLI adapters.
Package adapters defines the SkillRunner interface and AI CLI adapters.
execution/codexprovision
Package codexprovision provisions Codex provider context on the Go-direct spawn path (ExecutionManagerRunner), at parity with the TypeScript StageExecutor / skillRunner paths:
Package codexprovision provisions Codex provider context on the Go-direct spawn path (ExecutionManagerRunner), at parity with the TypeScript StageExecutor / skillRunner paths:
execution/context
Package context handles context file I/O between pipeline stages.
Package context handles context file I/O between pipeline stages.
execution/opencodeplugin
events.go is the Go-side reader for the bounded run-dir events file plugin/nightgauge/session.js (#1641) writes: one append-only JSONL file per OpenCode run, named "opencode-events-<RUN_ID>.jsonl" beside the run's NIGHTGAUGE_OUTPUT_FILE.
events.go is the Go-side reader for the bounded run-dir events file plugin/nightgauge/session.js (#1641) writes: one append-only JSONL file per OpenCode run, named "opencode-events-<RUN_ID>.jsonl" beside the run's NIGHTGAUGE_OUTPUT_FILE.
execution/opencodeplugin/depsdata/regenerate command
Command regenerate rebuilds internal/execution/opencodeplugin/depsdata/opencode-ai-plugin-<version>.tar.gz, the embedded, version-pinned dependency archive opencodeplugin.WriteDependencies extracts (#1635, ADR-022 amendment 2026-09-14, round 2 "trim the embedded dependency tree"; #1635/A11 round 6, ADR-022 amendment 2026-09-15, "operator directories are never merged into").
Command regenerate rebuilds internal/execution/opencodeplugin/depsdata/opencode-ai-plugin-<version>.tar.gz, the embedded, version-pinned dependency archive opencodeplugin.WriteDependencies extracts (#1635, ADR-022 amendment 2026-09-14, round 2 "trim the embedded dependency tree"; #1635/A11 round 6, ADR-022 amendment 2026-09-15, "operator directories are never merged into").
executor
Package executor implements type-based command dispatch for remote commands polled from the platform API.
Package executor implements type-based command dispatch for remote commands polled from the platform API.
flock
Package flock is the workspace's one advisory whole-file lock.
Package flock is the workspace's one advisory whole-file lock.
focus
Package focus manages the configurable ideation lens for self-improvement.
Package focus manages the configurable ideation lens for self-improvement.
forge
Package forge — see forge.go for the canonical package overview.
Package forge — see forge.go for the canonical package overview.
forge/boardcache
Package boardcache holds one board read per board, per window, for the lifetime of a daemon.
Package boardcache holds one board read per board, per window, for the lifetime of a daemon.
forge/output
Package output centralises the rendering layer used by every `nightgauge forge` subcommand.
Package output centralises the rendering layer used by every `nightgauge forge` subcommand.
forge/types
Package forgetypes contains forge-agnostic data types used by the internal/forge interfaces and adapters.
Package forgetypes contains forge-agnostic data types used by the internal/forge interfaces and adapters.
forge/webhook
Package webhook provides a forge-agnostic HTTP webhook abstraction that can be reused for GitHub, GitLab, Bitbucket, and other forge webhook receivers.
Package webhook provides a forge-agnostic HTTP webhook abstraction that can be reused for GitHub, GitLab, Bitbucket, and other forge webhook receivers.
git
Package git provides in-process git operations using go-git, eliminating the need for the system git binary.
Package git provides in-process git operations using go-git, eliminating the need for the system git binary.
github
Package github provides a typed GitHub GraphQL client with rate limiting and automatic retry for the nightgauge CLI.
Package github provides a typed GitHub GraphQL client with rate limiting and automatic retry for the nightgauge CLI.
github/githubtest
Package githubtest serves a fake GitHub endpoint to tests that drive the real internal/github readers.
Package githubtest serves a fake GitHub endpoint to tests that drive the real internal/github readers.
gitlab
Package gitlab is the GitLab adapter for the forge abstraction defined in internal/forge.
Package gitlab is the GitLab adapter for the forge abstraction defined in internal/forge.
gittest
Package gittest is the one place Go tests stand up a real git repository.
Package gittest is the one place Go tests stand up a real git repository.
gitworktree
Package gitworktree is the single chokepoint through which nightgauge mutates a repository's worktree set, and the place that serialises those mutations per repository.
Package gitworktree is the single chokepoint through which nightgauge mutates a repository's worktree set, and the place that serialises those mutations per repository.
graph
Package graph is the Workspace Knowledge Graph substrate: the node and edge types, the provenance every one of them must carry, and the in-memory graph the extractors build.
Package graph is the Workspace Knowledge Graph substrate: the node and edge types, the provenance every one of them must carry, and the in-memory graph the extractors build.
graph/extract
Package extract holds the Workspace Knowledge Graph's wave-A extractors: the ones that need no new parsing because their source is already a structured artifact this repository maintains.
Package extract holds the Workspace Knowledge Graph's wave-A extractors: the ones that need no new parsing because their source is already a structured artifact this repository maintains.
heal
Package heal contains the deterministic pattern registry consumed by the `pipeline-heal-base` recovery action (Issue #3683).
Package heal contains the deterministic pattern registry consumed by the `pipeline-heal-base` recovery action (Issue #3683).
history
Package history provides shared append-only JSONL writer primitives used by the pipeline run-record writer (internal/state) and the knowledge telemetry emitter (internal/knowledge/telemetry).
Package history provides shared append-only JSONL writer primitives used by the pipeline run-record writer (internal/state) and the knowledge telemetry emitter (internal/knowledge/telemetry).
hometest
Package hometest points a Go test binary's HOME at a directory of its own.
Package hometest points a Go test binary's HOME at a directory of its own.
hooks
Package hooks implements Claude Code hook logic for the Nightgauge pipeline.
Package hooks implements Claude Code hook logic for the Nightgauge pipeline.
intelligence/acparse
Package acparse — Parse counts top-level Markdown acceptance-criteria checkboxes in an issue body and returns a deterministic verdict suitable for gating the feature-validate Phase 0.6 type:docs completion check.
Package acparse — Parse counts top-level Markdown acceptance-criteria checkboxes in an issue body and returns a deterministic verdict suitable for gating the feature-validate Phase 0.6 type:docs completion check.
intelligence/actualsize
Package actualsize captures and buckets the non-circular size measurement used by the learning corpus: lines actually changed against the PR base.
Package actualsize captures and buckets the non-circular size measurement used by the learning corpus: lines actually changed against the PR base.
intelligence/approvalGate
Package approvalGate implements the default-on architecture-approval gate (#4098): high-impact architectural decisions stay human-owned.
Package approvalGate implements the default-on architecture-approval gate (#4098): high-impact architectural decisions stay human-owned.
intelligence/baselineGate
Package baselineGate implements the baseline-CI dependency preflight gate.
Package baselineGate implements the baseline-CI dependency preflight gate.
intelligence/batch
Package batch assesses epic sub-issues to recommend batch processing strategy (sequential vs parallel vs mixed).
Package batch assesses epic sub-issues to recommend batch processing strategy (sequential vs parallel vs mixed).
intelligence/changeClassifier
Package changeClassifier deterministically classifies a set of changed files into a coarse change scope (docs-only / config-only / source / mixed) so the pipeline and CI can fast-track trivial changes.
Package changeClassifier deterministically classifies a set of changed files into a coarse change scope (docs-only / config-only / source / mixed) so the pipeline and CI can fast-track trivial changes.
intelligence/complexity
Package complexity estimates issue complexity (size prediction) from issue metadata.
Package complexity estimates issue complexity (size prediction) from issue metadata.
intelligence/disciplineScore
Package disciplineScore computes a per-repo verification-readiness / discipline score (#4100) and the autonomy gate built on it.
Package disciplineScore computes a per-repo verification-readiness / discipline score (#4100) and the autonomy gate built on it.
intelligence/failure
Package failure classifies pipeline failures for retry/escalation decisions.
Package failure classifies pipeline failures for retry/escalation decisions.
intelligence/groundingGate
Package groundingGate implements the pre-feature-dev grounding / context-sufficiency gate (#4099).
Package groundingGate implements the pre-feature-dev grounding / context-sufficiency gate (#4099).
intelligence/health
Package health implements 7-dimension pipeline health analysis.
Package health implements 7-dimension pipeline health analysis.
intelligence/learning
Package learning implements the pipeline learning system: outcome recording, calibration feedback, and model performance tracking.
Package learning implements the pipeline learning system: outcome recording, calibration feedback, and model performance tracking.
intelligence/loopverdicts
Package loopverdicts analyzes self-improvement loop effectiveness by reading pipeline data files and returning deterministic verdicts per loop.
Package loopverdicts analyzes self-improvement loop effectiveness by reading pipeline data files and returning deterministic verdicts per loop.
intelligence/routing
change_rules.go — routing.change_rules: the user-customizable mapping from file globs (and/or coarse change_types) to fast-track behavior.
change_rules.go — routing.change_rules: the user-customizable mapping from file globs (and/or coarse change_types) to fast-track behavior.
intelligence/scopeDriftGate
Package scopeDriftGate implements the scope-drift preflight gate.
Package scopeDriftGate implements the scope-drift preflight gate.
intelligence/sizeGate
Package sizeGate implements the issue size preflight gate.
Package sizeGate implements the issue size preflight gate.
intelligence/suggestions
Package suggestions generates actionable suggestions from health analysis.
Package suggestions generates actionable suggestions from health analysis.
intelligence/survival
Package survival implements the post-merge survival outcome model (#4151, spike #4134): it captures a survival record keyed by a merged PR's merge commit SHA, then finalizes that record deterministically — survived, reverted, broke, or unobserved — by observing whether the merged code held up on the base branch.
Package survival implements the post-merge survival outcome model (#4151, spike #4134): it captures a survival record keyed by a merged PR's merge commit SHA, then finalizes that record deterministically — survived, reverted, broke, or unobserved — by observing whether the merged code held up on the base branch.
intelligence/teams
Package teams implements agent team infrastructure: wave calculation, dependency detection, budget splitting, and file conflict detection.
Package teams implements agent team infrastructure: wave calculation, dependency detection, budget splitting, and file conflict detection.
intelligence/tokens
Package tokens tracks token budgets and cost estimation for pipeline runs.
Package tokens tracks token budgets and cost estimation for pipeline runs.
intelligence/typeinfer
Package typeinfer — Infer consolidates the keyword-based `type:*` classification logic previously duplicated in shell across two pipeline skills:
Package typeinfer — Infer consolidates the keyword-based `type:*` classification logic previously duplicated in shell across two pipeline skills:
intelligence/versionDowngradeGate
Package versionDowngradeGate implements the version-downgrade preflight gate.
Package versionDowngradeGate implements the version-downgrade preflight gate.
ipc
Package ipc implements JSON-over-stdio IPC for VSCode ↔ Go communication.
Package ipc implements JSON-over-stdio IPC for VSCode ↔ Go communication.
knowledge
Package knowledge — persistent metadata index for KB v2 (Issue #2964).
Package knowledge — persistent metadata index for KB v2 (Issue #2964).
knowledge/graduation
Package graduation implements deterministic scoring of decisions.md ADR blocks against telemetry signals and structural heuristics, producing a ranked list of graduation candidates for the retro stage to surface.
Package graduation implements deterministic scoring of decisions.md ADR blocks against telemetry signals and structural heuristics, producing a ranked list of graduation candidates for the retro stage to surface.
knowledge/metrics
Package metrics aggregates knowledge-events.jsonl into the typed Result surfaced by both `nightgauge knowledge metrics --json` and the `knowledge.metrics` IPC method.
Package metrics aggregates knowledge-events.jsonl into the typed Result surfaced by both `nightgauge knowledge metrics --json` and the `knowledge.metrics` IPC method.
knowledge/okf
Package okf implements the single knowledge frontmatter contract, using the field vocabulary of the Open Knowledge Format v0.2 (Google Cloud, Apache-2.0).
Package okf implements the single knowledge frontmatter contract, using the field vocabulary of the Open Knowledge Format v0.2 (Google Cloud, Apache-2.0).
knowledge/recall
Package recall implements BM25 indexing and ranking for knowledge base documents.
Package recall implements BM25 indexing and ranking for knowledge base documents.
knowledge/telemetry
Package telemetry emits one JSONL event per knowledge-base operation to .nightgauge/pipeline/history/knowledge-events.jsonl.
Package telemetry emits one JSONL event per knowledge-base operation to .nightgauge/pipeline/history/knowledge-events.jsonl.
knowledge/workspace
Package workspace implements workspace-level knowledge directory scaffolding.
Package workspace implements workspace-level knowledge directory scaffolding.
models
Package models exposes the single-source model registry: identity, token pricing, and capability metadata for every evaluable model.
Package models exposes the single-source model registry: identity, token pricing, and capability metadata for every evaluable model.
notifications/inbound
Package inbound hosts the in-binary HTTP receiver that accepts Mattermost outgoing-webhook callbacks and dispatches verified commands to the rest of the system as IPC events.
Package inbound hosts the in-binary HTTP receiver that accepts Mattermost outgoing-webhook callbacks and dispatches verified commands to the rest of the system as IPC events.
notifications/inbound/auth
Package auth provides per-user authorization for inbound Mattermost commands.
Package auth provides per-user authorization for inbound Mattermost commands.
notify
Package notify is the shared alert-delivery layer for every Go-side sink (release-watch findings, stuck-epic detection, ready-to-ship).
Package notify is the shared alert-delivery layer for every Go-side sink (release-watch findings, stuck-epic detection, ready-to-ship).
opencodeallow
Package opencodeallow computes the OpenCode external_directory allow-list as plain, resolved directory roots — the single source of truth both internal/execution/adapters (which projects these roots into opencode's own glob-pattern permission map, config-generation time) and internal/hooks' dispatch-time external-directory-gate (#1816, which resolves symlinks against these roots directly, once per tool call) build on.
Package opencodeallow computes the OpenCode external_directory allow-list as plain, resolved directory roots — the single source of truth both internal/execution/adapters (which projects these roots into opencode's own glob-pattern permission map, config-generation time) and internal/hooks' dispatch-time external-directory-gate (#1816, which resolves symlinks against these roots directly, once per tool call) build on.
orchestrator
Package orchestrator — author_trust.go implements the fail-closed author-trust boundary for the autonomous pipeline (#270).
Package orchestrator — author_trust.go implements the fail-closed author-trust boundary for the autonomous pipeline (#270).
orchestrator/gates
Package gates implements the stage post-condition verification framework (Issue #3266).
Package gates implements the stage post-condition verification framework (Issue #3266).
orchestrator/recovery
Package recovery implements the FailureRecovery registry (Issue #3268) — a deterministic auto-triage framework consulted by the orchestrator on stage failure.
Package recovery implements the FailureRecovery registry (Issue #3268) — a deterministic auto-triage framework consulted by the orchestrator on stage failure.
orchestrator/stages
PR-create deterministic runner — Go-native pipeline stage that bypasses the LLM skill when context is rich enough to render a PR title and body from a fixed template.
PR-create deterministic runner — Go-native pipeline stage that bypasses the LLM skill when context is rich enough to render a PR title and body from a fixed template.
pidtest
Package pidtest supplies the one dead-pid fixture the Go suites share.
Package pidtest supplies the one dead-pid fixture the Go suites share.
pipeline
Package pipeline provides deterministic readers and aggregators over the .nightgauge/pipeline/history/YYYY-MM-DD.jsonl files.
Package pipeline provides deterministic readers and aggregators over the .nightgauge/pipeline/history/YYYY-MM-DD.jsonl files.
platform
Package platform wraps the generated OpenAPI client with auth, health polling, and offline fallback for the nightgauge platform API.
Package platform wraps the generated OpenAPI client with auth, health polling, and offline fallback for the nightgauge platform API.
preflight
Deterministic acceptance-criteria reconciliation (#193 / Issue #3003).
Deterministic acceptance-criteria reconciliation (#193 / Issue #3003).
reclaim
Package reclaim answers one question about every kind of machine state the pipeline leaves behind — worktrees, stashes, scaffolded files: did the pipeline create this, and may the pipeline take it back?
Package reclaim answers one question about every kind of machine state the pipeline leaves behind — worktrees, stashes, scaffolded files: did the pipeline create this, and may the pipeline take it back?
runstate
Package runstate manages the durable pipeline lifecycle record at .nightgauge/pipeline/run-state.json.
Package runstate manages the durable pipeline lifecycle record at .nightgauge/pipeline/run-state.json.
scan
Debt-marker scan verb.
Debt-marker scan verb.
setup
Package setup provides deterministic project-bootstrap verbs.
Package setup provides deterministic project-bootstrap verbs.
skillrender
Package skillrender is the ONE composer for a stage's executable skill text (ADR 016 §2–§4, issue #78).
Package skillrender is the ONE composer for a stage's executable skill text (ADR 016 §2–§4, issue #78).
skills
Package skills provides deterministic readers and writers for skill-usage telemetry stored at .nightgauge/skills/usage.jsonl.
Package skills provides deterministic readers and writers for skill-usage telemetry stored at .nightgauge/skills/usage.jsonl.
state
Package state implements board-driven pipeline state management.
Package state implements board-driven pipeline state management.
stubprovider
Package stubprovider is a deterministic, scripted, OpenAI-compatible chat completions server for adapter contract runs.
Package stubprovider is a deterministic, scripted, OpenAI-compatible chat completions server for adapter contract runs.
telemetrynotice
Package telemetrynotice prints the one-time disclosure that pairs with telemetry being on by default (Issue #738).
Package telemetrynotice prints the one-time disclosure that pairs with telemetry being on by default (Issue #738).
terminalkind
Package terminalkind owns terminal-kind classification: turning a failed stage's error text into the `terminal_kind` that drives the scheduler's recovery routing.
Package terminalkind owns terminal-kind classification: turning a failed stage's error text into the `terminal_kind` that drives the scheduler's recovery routing.
terminalkind/codegen
Package codegen renders the consumers of the canonical terminal-kind rule table.
Package codegen renders the consumers of the canonical terminal-kind rule table.
testexec
Package testexec answers a narrower question than package deliverable does, and answers it before the merge rather than after: of the test files this change introduced, which ones does the repo's own test command structurally never execute?
Package testexec answers a narrower question than package deliverable does, and answers it before the merge rather than after: of the test files this change introduced, which ones does the repo's own test command structurally never execute?
trace
Package trace persists the per-run lifecycle decision trace: one durable, ordered JSONL stream per pipeline run capturing every stage boundary and every decision the pipeline made — with its rationale and the alternatives it rejected.
Package trace persists the per-run lifecycle decision trace: one durable, ordered JSONL stream per pipeline run capturing every stage boundary and every decision the pipeline made — with its rationale and the alternatives it rejected.
triage
Package triage is the record contract for ad-hoc failure triage (#1262): what an investigation of a red check must have established before it is allowed to call itself done.
Package triage is the record contract for ad-hoc failure triage (#1262): what an investigation of a red check must have established before it is allowed to call itself done.
usagestore
Package usagestore persists the last-seen Claude subscription rate-limit readings that the VS Code footer and dashboard usage panel render.
Package usagestore persists the last-seen Claude subscription rate-limit readings that the VS Code footer and dashboard usage panel render.
validation
Package validation provides parallel validation infrastructure.
Package validation provides parallel validation infrastructure.
workspacemanifest/wsmfixture
Package wsmfixture holds the workspace-manifest test fixture shared by the splicer's own tests (internal/workspacemanifest) and the CLI's tests (cmd/nightgauge/workspace).
Package wsmfixture holds the workspace-manifest test fixture shared by the splicer's own tests (internal/workspacemanifest) and the CLI's tests (cmd/nightgauge/workspace).
pkg
types
Package types defines shared domain types for the nightgauge CLI.
Package types defines shared domain types for the nightgauge CLI.
tests
integration/cmd/seed command
Binary seed is the CLI entry point for the GitLab CE fixture seeder used by the integration test harness (#3366).
Binary seed is the CLI entry point for the GitLab CE fixture seeder used by the integration test harness (#3366).
integration/mattermost-fixtures
Package mmfixtures provides a deterministic Mattermost fixture seeder for the integration test harness (#3381).
Package mmfixtures provides a deterministic Mattermost fixture seeder for the integration test harness (#3381).
integration/seed
Package seed provides a deterministic GitLab CE fixture seeder for the integration test harness (#3366).
Package seed provides a deterministic GitLab CE fixture seeder for the integration test harness (#3366).

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL