Open source scanner that audits repos and orgs for harness readiness.
4
stars
79
commits
TypeScript
primary language
Sep 2, 2026
updated
Harnix is an open-source harness readiness scanner that evaluates how well a repository exposes foundational operating context for AI-assisted development workflows. It scans your codebase and produces a scored report covering agent guidance, documentation presence, CI configuration signals, testing provisions, repository structure, and more.
AI coding agents — GitHub Copilot, Claude Code, Codex, Gemini CLI — are becoming standard development tools. Their usefulness improves when a repository makes conventions, build steps, and decisions discoverable. A repo without an AGENTS.md, clear documentation, or CI pipelines forces every agent session to start from scratch, burning context and producing inconsistent results.
Harness readiness (as Harnix measures it) is heuristic signal coverage over that discoverable operating context — not a prediction that agents will succeed. Harnix quantifies those signals with a repeatable, scored assessment.
Most repositories lack the structural signals that AI agents need to be effective:
AGENTS.md or equivalent guidance file telling agents how to build, test, and navigate the codebaseCONTEXT.md or UBIQUITOUS_LANGUAGE.md capturing the project's shared domain vocabularyHarnix detects these gaps and tells you exactly what to fix, prioritized by impact.
Run a scan with a single command — no installation required:
npx harnix scan .
Sample output:
Harness Readiness Report: .
───────────────────────────────────────
Overall: Good (53%)
✓ Agent skills 100% Found 1 skill(s): 1 compliant, 0 security flag(s)
✓ Agents guidance 80% AGENTS.md has brief guidance
✗ CI pipeline 0% No CI/CD configuration detected
✗ Documentation 0% No docs/, specs/, or prds/ content found
✗ Ubiquitous language 0% No CONTEXT.md or UBIQUITOUS_LANGUAGE.md found
✓ Repo structure 75% Source organized in src
✗ Root README 0% No root README.md or README.txt found
✓ Source of truth 100% No single source of truth violations detected
✓ Testing provision 85% Tests exist but testing documentation is missing
Top recommendations:
1. Add a substantive root README.md or README.txt with project purpose, setup steps, usage examples, and verification guidance.
2. Add a docs/, specs/, or prds/ directory for durable project documentation.
3. Add a CI pipeline (for example GitHub Actions) to automate lint, test, and build checks.
Reports are also written as Markdown and self-contained HTML files to the harnix/ output directory.
npx harnix scan .
npm install -g harnix
harnix scan .
git clone https://github.com/anakotai/harnix.git
cd harnix
npm install
npm run build
node bin/harnix.js scan /path/to/repo
Harnix is distributed via the public npm registry as harnix.
npx harnix, npm install -g harnix)harnix scan [path] # Scan a repository (default: current directory)
harnix --help # Show global help
harnix --version # Show version number
harnix scan --help # Show scan-specific help
| Flag | Description |
|---|---|
--verbose | Show per-check rationale in console output |
--output <path> | Write reports to a custom output directory |
--skip <id> | Skip check IDs (comma-separated or repeated) |
--only <id> | Run only specified check IDs (comma-separated or repeated) |
--type <type> | Override repo type (software or non-software) for the scanned root path |
--depth <n> | Recursive scan depth for submodules/workspaces (0 = root only, default: unlimited) |
--help, -h | Show scan help text |
When recursive monorepo scanning is enabled (default), submodules and workspaces are auto-detected independently. This is expected behavior (not a scoring issue): a management root override (for example --type non-software) does not force child software repos into non-software scoring.
Create a .harnix.yaml at the repository root for persistent configuration:
# Skip specific checks
skip:
- ci-pipeline
- testing-provision
# Or run only specific checks (mutually exclusive with skip)
only:
- agents-md
- root-readme
- documentation
# Override repo type detection
type: software
# Optional recursive depth for submodules/workspaces
# 0 = root only
depth: 1
# Custom output directory
output: ./reports
Precedence: CLI flags override .harnix.yaml values. When --only is passed on the CLI, the config file's only and skip keys are both ignored.
Every scan produces three outputs:
.md report in the output directory.html report with embedded CSS (no external requests)Harnix uses a tier-weighted scoring formula to calculate the overall harness readiness score.
Each check belongs to a tier that determines its weight in the overall score:
| Tier | Weight | Rationale |
|---|---|---|
| Critical | 3 | Foundational — without these, agent workflows are severely impaired |
| Important | 2 | Significant impact on agent effectiveness and developer experience |
| Nice-to-have | 1 | Beneficial but not essential for basic agent operation |
Overall Score = (Σ weight_i × score_i) / (Σ weight_i)
Each check produces a score between 0.0 and 1.0. The weighted formula ensures critical checks (like agent guidance and documentation) have proportionally more influence on the overall score than nice-to-have checks.
The percentage score maps to a qualitative band:
| Band | Score Range |
|---|---|
| Excellent | 76–100% |
| Good | 51–75% |
| Needs Improvement | 26–50% |
| Poor | 0–25% |
Checks are grouped by category, and each category's score is also calculated using the tier-weighted formula across its constituent checks.
Harnix ships with 10 built-in checks:
| ID | Name | Category | Tier | Description |
|---|---|---|---|---|
agents-md | Agents guidance | Agent Readiness | Critical | Detects AGENTS.md or CLAUDE.md; scores content length and substance |
agent-skills | Agent skills | Agent Readiness | Important | Detects skills in supported roots (skills/, .skills/, .claude/skills/, .codex/skills/, .agent/skills/, .github/skills/), validates SKILL.md frontmatter, flags hidden Markdown comments |
ci-pipeline | CI pipeline | Quality Gates | Important | Detects CI/CD config for GitHub Actions, GitLab CI, CircleCI, Jenkins, Travis, Azure Pipelines |
root-readme | Root README | Documentation | Critical | Checks for a substantive root README.md or README.txt with onboarding guidance |
documentation | Documentation | Documentation | Important | Checks for durable documentation roots such as docs/, specs/, and prds/ |
ubiquitous-language | Ubiquitous language | Documentation | Important | Detects CONTEXT.md or UBIQUITOUS_LANGUAGE.md at the root (preferred) or in a nested project directory; ignores docs/ and vendored trees; scores substance |
design-md | Design guidance | Documentation | Nice-to-have | Detects a root DESIGN.md and scores schema-key YAML front matter plus canonical spec sections |
repo-structure | Repo structure | Infrastructure | Important | Detects monorepo/submodule setup, source organization, root file ratio |
source-of-truth | Source of truth | Organization | Important | Flags single-source-of-truth violations across 6 semantic groups |
testing-provision | Testing provision | Quality | Important | Detects test files/directories, test isolation, and testing documentation |
See CONTRIBUTING.md for guidelines on:
Harnix is built and maintained by Anakot as part of the Harness-as-a-Service platform. It is the open-source assessment toolkit for harness readiness signals that can feed broader AI-ready development workflows.
domain-modeling skill by Matt Pocock79 commits
TypeScript
99.6%
Open source scanner that audits repos and orgs for harness readiness.
4
stars
79
commits
TypeScript
primary language
Sep 2, 2026
updated
Harnix is an open-source harness readiness scanner that evaluates how well a repository exposes foundational operating context for AI-assisted development workflows. It scans your codebase and produces a scored report covering agent guidance, documentation presence, CI configuration signals, testing provisions, repository structure, and more.
AI coding agents — GitHub Copilot, Claude Code, Codex, Gemini CLI — are becoming standard development tools. Their usefulness improves when a repository makes conventions, build steps, and decisions discoverable. A repo without an AGENTS.md, clear documentation, or CI pipelines forces every agent session to start from scratch, burning context and producing inconsistent results.
Harness readiness (as Harnix measures it) is heuristic signal coverage over that discoverable operating context — not a prediction that agents will succeed. Harnix quantifies those signals with a repeatable, scored assessment.
Most repositories lack the structural signals that AI agents need to be effective:
AGENTS.md or equivalent guidance file telling agents how to build, test, and navigate the codebaseCONTEXT.md or UBIQUITOUS_LANGUAGE.md capturing the project's shared domain vocabularyHarnix detects these gaps and tells you exactly what to fix, prioritized by impact.
Run a scan with a single command — no installation required:
npx harnix scan .
Sample output:
Harness Readiness Report: .
───────────────────────────────────────
Overall: Good (53%)
✓ Agent skills 100% Found 1 skill(s): 1 compliant, 0 security flag(s)
✓ Agents guidance 80% AGENTS.md has brief guidance
✗ CI pipeline 0% No CI/CD configuration detected
✗ Documentation 0% No docs/, specs/, or prds/ content found
✗ Ubiquitous language 0% No CONTEXT.md or UBIQUITOUS_LANGUAGE.md found
✓ Repo structure 75% Source organized in src
✗ Root README 0% No root README.md or README.txt found
✓ Source of truth 100% No single source of truth violations detected
✓ Testing provision 85% Tests exist but testing documentation is missing
Top recommendations:
1. Add a substantive root README.md or README.txt with project purpose, setup steps, usage examples, and verification guidance.
2. Add a docs/, specs/, or prds/ directory for durable project documentation.
3. Add a CI pipeline (for example GitHub Actions) to automate lint, test, and build checks.
Reports are also written as Markdown and self-contained HTML files to the harnix/ output directory.
npx harnix scan .
npm install -g harnix
harnix scan .
git clone https://github.com/anakotai/harnix.git
cd harnix
npm install
npm run build
node bin/harnix.js scan /path/to/repo
Harnix is distributed via the public npm registry as harnix.
npx harnix, npm install -g harnix)harnix scan [path] # Scan a repository (default: current directory)
harnix --help # Show global help
harnix --version # Show version number
harnix scan --help # Show scan-specific help
| Flag | Description |
|---|---|
--verbose | Show per-check rationale in console output |
--output <path> | Write reports to a custom output directory |
--skip <id> | Skip check IDs (comma-separated or repeated) |
--only <id> | Run only specified check IDs (comma-separated or repeated) |
--type <type> | Override repo type (software or non-software) for the scanned root path |
--depth <n> | Recursive scan depth for submodules/workspaces (0 = root only, default: unlimited) |
--help, -h | Show scan help text |
When recursive monorepo scanning is enabled (default), submodules and workspaces are auto-detected independently. This is expected behavior (not a scoring issue): a management root override (for example --type non-software) does not force child software repos into non-software scoring.
Create a .harnix.yaml at the repository root for persistent configuration:
# Skip specific checks
skip:
- ci-pipeline
- testing-provision
# Or run only specific checks (mutually exclusive with skip)
only:
- agents-md
- root-readme
- documentation
# Override repo type detection
type: software
# Optional recursive depth for submodules/workspaces
# 0 = root only
depth: 1
# Custom output directory
output: ./reports
Precedence: CLI flags override .harnix.yaml values. When --only is passed on the CLI, the config file's only and skip keys are both ignored.
Every scan produces three outputs:
.md report in the output directory.html report with embedded CSS (no external requests)Harnix uses a tier-weighted scoring formula to calculate the overall harness readiness score.
Each check belongs to a tier that determines its weight in the overall score:
| Tier | Weight | Rationale |
|---|---|---|
| Critical | 3 | Foundational — without these, agent workflows are severely impaired |
| Important | 2 | Significant impact on agent effectiveness and developer experience |
| Nice-to-have | 1 | Beneficial but not essential for basic agent operation |
Overall Score = (Σ weight_i × score_i) / (Σ weight_i)
Each check produces a score between 0.0 and 1.0. The weighted formula ensures critical checks (like agent guidance and documentation) have proportionally more influence on the overall score than nice-to-have checks.
The percentage score maps to a qualitative band:
| Band | Score Range |
|---|---|
| Excellent | 76–100% |
| Good | 51–75% |
| Needs Improvement | 26–50% |
| Poor | 0–25% |
Checks are grouped by category, and each category's score is also calculated using the tier-weighted formula across its constituent checks.
Harnix ships with 10 built-in checks:
| ID | Name | Category | Tier | Description |
|---|---|---|---|---|
agents-md | Agents guidance | Agent Readiness | Critical | Detects AGENTS.md or CLAUDE.md; scores content length and substance |
agent-skills | Agent skills | Agent Readiness | Important | Detects skills in supported roots (skills/, .skills/, .claude/skills/, .codex/skills/, .agent/skills/, .github/skills/), validates SKILL.md frontmatter, flags hidden Markdown comments |
ci-pipeline | CI pipeline | Quality Gates | Important | Detects CI/CD config for GitHub Actions, GitLab CI, CircleCI, Jenkins, Travis, Azure Pipelines |
root-readme | Root README | Documentation | Critical | Checks for a substantive root README.md or README.txt with onboarding guidance |
documentation | Documentation | Documentation | Important | Checks for durable documentation roots such as docs/, specs/, and prds/ |
ubiquitous-language | Ubiquitous language | Documentation | Important | Detects CONTEXT.md or UBIQUITOUS_LANGUAGE.md at the root (preferred) or in a nested project directory; ignores docs/ and vendored trees; scores substance |
design-md | Design guidance | Documentation | Nice-to-have | Detects a root DESIGN.md and scores schema-key YAML front matter plus canonical spec sections |
repo-structure | Repo structure | Infrastructure | Important | Detects monorepo/submodule setup, source organization, root file ratio |
source-of-truth | Source of truth | Organization | Important | Flags single-source-of-truth violations across 6 semantic groups |
testing-provision | Testing provision | Quality | Important | Detects test files/directories, test isolation, and testing documentation |
See CONTRIBUTING.md for guidelines on:
Harnix is built and maintained by Anakot as part of the Harness-as-a-Service platform. It is the open-source assessment toolkit for harness readiness signals that can feed broader AI-ready development workflows.
domain-modeling skill by Matt Pocock79 commits
TypeScript
99.6%