CodeTruss icon

CodeTruss

Local-first acceptance gate that checks coding-agent scope, sensitive surfaces, deterministic analyzers, and repository verification from immutable Git snapshots, then writes signed receipts before the PR.

codetruss/codetruss · v0.1.6 · Development & Workflow

CodeTrussOwner verifiedreview

Trust Score

80

Security

88

Surfaces

1

What is CodeTruss?

CodeTruss is a published development & workflow plugin for AI coding agents in the codex ecosystem, developed by CodeTruss and distributed through the HOL AI plugin registry. Local-first acceptance gate that checks coding-agent scope, sensitive surfaces, deterministic analyzers, and repository verification from immutable Git snapshots, then writes signed receipts before the PR.

Canonical slug
codetruss/codetruss
Version
v0.1.6 · updated Sep 15, 2026

Trust & Reputation

HOL Trust Score
80

Factor Analysis

Per-metric points (0–100 each) combined via a weighted average into the overall score.

Installability
100pts
Maintenance
100pts
MCP Posture
100pts

Registry Snapshot

Publisher verification
No
Marketplace source
Unknown
Scanner
Broker fallback
Safety label
review
Digest verified
Yes
1 bundled skill — copy or download SKILL.mdOpen skills

Trust & reputation

Trust & Reputation

HOL Trust Score
80

Factor Analysis

Per-metric points (0–100 each) combined via a weighted average into the overall score.

Installability
100pts
Maintenance
100pts
MCP Posture
100pts
Plugin Security
88pts
Provenance
35pts
Publisher Quality
75pts

Provenance

Plugin root
plugins/DeliriumPulse/codetruss-plugins
Source repo
https://github.com/DeliriumPulse/codetruss-plugins
Source commit
Unpinned
Publisher verified
No
Owner verified
@DeliriumPulse

Continuous scanner CI detected

No action is required. This plugin receives the full trust score.

Verified badge not detected

Add the HOL verified badge to the repository README to score +2% trust. Plugin owners can open that pull request from Guard Plugins.

Security Posture

review
Safety label
88
Security score
0
High findings
Provider
registry-broker-fallback
Grade
B · review
Version
Unknown
cisco-skill-scanner: unknown

Findings

infoskill-securityskill-scan.unavailable

Cisco skill scanner exited with code 1: Error loading skill: No SKILL.md and no .md files found in /var/folders/9z/48v7m0s52llddzmskkyjbdl80000gn/T/hol-skill-safety-ikLq7P (lenient mode requires at least one markdown file)

mediumprovenanceprovenance.commit.missing

An immutable source commit is required for provenance.

CodeTruss — Frequently asked questions

What is CodeTruss?
CodeTruss is an AI plugin in the HOL registry. Local-first acceptance gate that checks coding-agent scope, sensitive surfaces, deterministic analyzers, and repository verification from immutable Git snapshots, then writes signed receipts before the PR.
How do I install CodeTruss?
Install CodeTruss in your harness: Codex — codex plugin marketplace add DeliriumPulse/codetruss-plugins; Any agent — npx skills add DeliriumPulse/codetruss-plugins. Full step-by-step guidance is on the HOL plugin page.
How do I install CodeTruss in Codex?
To install CodeTruss in Codex, start with codex plugin marketplace add DeliriumPulse/codetruss-plugins. The complete step-by-step install guide for Codex is on the HOL plugin page.
Is CodeTruss free?
Pricing for CodeTruss is published on its HOL plugin page when the maker schedules a launch.
Who publishes CodeTruss?
CodeTruss is published by CodeTruss and listed on HOL.
Is CodeTruss available now?
CodeTruss availability is listed on its HOL plugin page.

Install Guidance

Install in Codex

Install through the Codex CLI plugin marketplace.

Codex plugin docs
  1. 1

    Register the marketplace

    Run in any terminal. Codex reads the marketplace entry from .agents/plugins/marketplace.json (or the legacy .claude-plugin path) in the repository. If the repository ships none, add the generated entry from the Advanced section below first.

    shell
  2. 2

    Install from the Plugins browser

    Open Codex, open the Plugins browser, choose the codetruss-plugins marketplace, and install codetruss.

  3. 3

    Verify the marketplace registration

    shell

Plugin Manifest

{
  "name": "codetruss",
  "version": "0.1.6",
  "description": "The deterministic first-pass verification gate for AI-written code.",
  "author": {
    "name": "CodeTruss",
    "email": "[email protected]",
    "url": "https://codetruss.com"
  },
  "homepage": "https://codetruss.com/cli",
  "repository": "https://github.com/DeliriumPulse/codetruss-plugins",
  "license": "MIT",
  "keywords": [
    "acceptance-gate",
    "coding-agents",
    "scope-drift",
    "local-first",
    "verification",
    "receipts"
  ],
  "skills": "./",
  "interface": {
    "displayName": "CodeTruss",
    "developerName": "CodeTruss",
    "shortDescription": "First-pass verification gate for AI-written code",
    "longDescription": "Declare approved scope and repository checks, evaluate the captured Git state locally, and produce a verifiable receipt before commit. Requires the separately installed free CodeTruss CLI; no CodeTruss account or upload is required.",
    "category": "Developer Tools",
    "capabilities": [
      "Interactive",
      "Read",
      "Write"
    ],
    "websiteURL": "https://codetruss.com",
    "privacyPolicyURL": "https://codetruss.com/privacy",
    "termsOfServiceURL": "https://codetruss.com/terms",
    "defaultPrompt": [
      "Set up CodeTruss for this repository",
      "Review my current changes against the task",
      "Verify and explain my latest CodeTruss receipt"
    ],
    "brandColor": "#B93A26",
    "composerIcon": "./assets/icon.svg",
    "logo": "./assets/icon.svg",
    "logoDark": "./assets/icon.svg"
  },
  "registryIndexVersion": 5
}

Marketplace Source

Repo URL
https://github.com/DeliriumPulse/codetruss-plugins
Marketplace path
Unknown
Source path
plugins/DeliriumPulse/codetruss-plugins
Install policy
AVAILABLE

Skills

Copy or download the SKILL.md files this plugin ships, then install them with the Skills CLI.

Share
skills-cli

codetruss

skills/codetruss/SKILL.md

Operate CodeTruss local acceptance gates for coding-agent changes. Use when a developer asks to bind an agent task to allowed or denied files, configure repository verification, install or diagnose Claude Code or Codex hooks, review a working-tree or staged diff before commit, interpret or verify a signed CodeTruss receipt, repair a failed verdict, or explicitly opt into provider-backed review or receipt sync.

Raw SKILL.md
---
name: codetruss
description: Operate CodeTruss local acceptance gates for coding-agent changes. Use when a developer asks to bind an agent task to allowed or denied files, configure repository verification, install or diagnose Claude Code or Codex hooks, review a working-tree or staged diff before commit, interpret or verify a signed CodeTruss receipt, repair a failed verdict, or explicitly opt into provider-backed review or receipt sync.
---

# CodeTruss

Use the installed `codetruss` CLI as the source of truth. Do not reimplement
scope classification, analyzers, verdict rules, signing, or hook behavior in the
agent.

## Preserve the trust boundary

- Work inside the developer's Git repository and inspect existing policy before
  proposing changes.
- Run `codetruss --version` first. This skill targets v0.2.35 or newer. If the
  CLI is missing or older, explain the prerequisite, then
  obtain explicit consent before downloading or installing software, including an upgrade.
- Offer only the official install paths from `https://codetruss.com/cli`. Let
  the developer inspect a downloaded installer instead of piping it when they
  prefer an inspect-first flow.
- Do not run `--llm`, `codetruss auth login`, or `codetruss sync` unless the
  developer explicitly requests that networked action. Never search for or
  print provider keys.
- Do not broaden `allow`, remove `deny`, add `--no-verify`, or edit a receipt to
  manufacture a green verdict. Fix the change or ask the developer to approve a
  genuine policy change.
- For `codetruss run` and `codetruss review`, treat exit `0` as `PASS`, exit `1`
  as `REVIEW_REQUIRED`, exit `2` as `FAILED`, and exit `3` as a usage or
  environment failure. Exits 1 and 2 still produce receipts; other commands
  may use nonzero exits differently, so read their output.
- A receipt also names what did not run, and that boundary moved in v0.2.35. A
  local run now executes the shared SAST engine over the JavaScript, TypeScript
  and TSX in the repository, covering SQL injection, mass assignment,
  un-awaited database writes, swallowed errors, coercion-prone `==`, and N+1
  queries in loops. The rest of the rule pack (command injection, code
  injection, path traversal, SSRF, open redirect, XSS, insecure
  deserialization), every non-JavaScript language, and the hosted symbol graph
  stay hosted-only. Read the receipt's own "What did not run" section instead
  of asserting either way from memory.
  Report a `PASS` as the deterministic passes finding nothing new, never as
  evidence that the change is secure.
- Local security findings are `REVIEW_REQUIRED` at most. They never fail a
  verdict on their own, so do not report one as a blocking failure.
- Describe a valid signature as post-generation integrity evidence. Do not call
  it trusted execution, proof of authorship, or automatic compliance evidence.

## Set up a repository

1. Confirm the repository root and require a reasonably clean baseline when
   attribution matters.
2. Inspect tracked paths, task context, existing `.codetruss.yml`, package
   scripts, and the repository's normal lint, typecheck, test, or build commands.
3. Propose the smallest useful `allow` globs, appropriate `deny` globs, the
   exact verification commands CodeTruss is expected to detect, and one hook
   target. Keep secrets, generated output, production infrastructure, and
   unrelated migrations denied when appropriate. Show which tracked paths each
   glob matches, and flag empty or overly broad matches. Do not default to `**/*`.
4. Ask the developer to confirm the exact boundary, hook target, verification
   command list, and whether to trust that list for automatic execution.
5. After confirmation, use `codetruss setup` as the single guided setup path,
   with the approved repeated `--allow` and `--deny` values and one
   `--hooks claude|codex|pre-commit|all` value. Prefer its interactive trust
   prompt so the commands it actually prints can be compared with the approved
   list before answering `trust`. Use `--yes` only after every choice is
   explicit and the inspected repository state is unchanged. Include
   `--trust-verify` only after the developer approves the exact detected list,
   so fingerprint trust is completed. Do not replace guided initial setup with
   ad hoc config editing or separate hook installation.
6. Read the setup output and verify the expected policy, hook health, and
   local-only privacy reminder. When commands were detected, require their
   full verification fingerprint and trusted result, then run
   `codetruss verify-policy status` and require exit 0 with the same fingerprint
   and command list. Otherwise confirm that setup reports no detected commands.
   If setup pauses before trust, show the exact commands and fingerprint, obtain
   approval, then rerun the same setup path with `--trust-verify`.
7. Remind Codex users to open `/hooks` and approve the exact repository hook
   definition when setup reports that one-time host trust step.

The CLI's hook installer is idempotent and preserves supported existing hook
configuration. An existing `.codetruss.yml` remains authoritative: if setup
reports a policy mismatch, stop instead of overwriting or weakening it, and
treat any policy change as a separate developer decision. If the developer
approves the exact policy diff, make only that reviewed edit and rerun setup
without conflicting policy flags. A setup hook target installs or checks that
target; it does not remove other existing hooks. Never uninstall another hook
without an explicit removal request. Do not replace the installer with
plugin-bundled hook logic.

## Review changes

1. Use the developer's actual task statement. Ask for it if the intended change
   is unclear; do not invent a permissive task after seeing the diff.
2. Use `codetruss review --task "..."` for current tracked and untracked changes.
   Add `--staged` only when the developer requests the index or a pre-commit
   review.
3. Use repository policy by default. Pass task-specific `--allow`, `--deny`, or
   `--verify` values only when the developer explicitly sets or approves them.
4. Read the receipt ID and explicit reasons. Use
   `codetruss report latest --json` when structured evidence is useful, then run
   `codetruss verify latest` before describing the receipt as valid.
5. Report the verdict, scope exceptions, sensitive surfaces, analyzer findings,
   verification results, evidence limitations, and receipt path. Distinguish a
   policy dispute from a product or shell failure.

Since v0.2.32, a run with no allow policy infers the scope of the turn and marks
those files `allowed (inferred)` on the receipt: treat an inferred allow as
weaker evidence than a declared boundary and still propose a real `.codetruss.yml`.

Since v0.2.34, a finding may carry a **Suggested fixes** entry with a diff and a
required safety note: present it, never apply it automatically, and keep the
note's rotation-first ordering for a credential, whose diff is deliberately
masked and cannot apply cleanly.

For a wrapped agent run, preserve the exact task and policy:

```bash
codetruss run --task "<task>" --allow "<glob>" --verify "<command>" -- <agent-command>
```

Do not stage, commit, reset, clean, or sync as a side effect of review.

## Repair and recheck

- Repair the finding at its source while keeping the approved policy stable.
- Re-run the same review mode and verification commands after the change.
- If the developer intentionally changed a sensitive or denied surface, record
  that decision explicitly; do not silently reclassify it.
- Use `codetruss hooks status <surface>` and
  `codetruss hooks doctor <surface>` for diagnosis. Use
  `codetruss hooks uninstall <surface>` only on an explicit removal request.

Keep the final response compact: verdict first, then actionable reasons, receipt
ID/path, integrity result, and any decision still required from the developer.

File Inventory

.codex-plugin/plugin.json

plugin-manifest

1,343 bytes

0fa9ef25f5e72270

README.md

file

9,936 bytes

dc4a28b070232a52

package-lock.json

file

286 bytes

b2b62f505086ded2

package.json

file

407 bytes

34c06839f9f4d6d4

SECURITY.md

file

1,088 bytes

dec066169a48dc6a

skills/codetruss/SKILL.md

skill

7,965 bytes

0a46b9173f1b5e8f

skills/codetruss/agents/openai.yaml

skill

203 bytes

3ef6e74c328d0fa9

assets/icon.svg

asset

330 bytes

bb28cc6a348a7f93