Skip to content
CAI
Software that uses CAICheck a score

bardiakhosravi/tenets

52.5

Weak · 21 September 2026

5.8k

lines of production code

JavaScript

primary language

4

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

What this system is

Tenets is a CLI tool that configures AI coding assistants like Claude Code and Cursor with architecture guardrails and rule sets. It detects repository stacks to install scoped configurations and provides commands for validation, diagnostics, and rule explanation. The system also includes a Python-based demo application that demonstrates these architectural review capabilities.

Features

Added architecture review demo for the ordering bounded context

The examples/architecture-review-demo location now includes a complete, runnable Python application demonstrating a clean architecture pattern for an ordering domain. This demo provides a FastAPI-based HTTP interface to submit orders, utilizing a domain model with explicit ports (repositories and notifiers) and concrete adapters for SQL persistence and email notifications, serving as a reproducible reference for architectural reviews.

examples/architecture-review-demo, python · high confidence

Introduce Tenets CLI entry point with multi-integration onboarding

The \tenets\ CLI binary is now available, providing a unified interface for repository setup and maintenance. Users can run \tenets init\ to detect their repository and install recommended integrations for tools such as Claude Code, Cursor, Augment, Copilot, and Spec-Kit, with options to select architecture profiles (core, pragmatic, strict) or preview changes via \--dry-run\. The CLI also supports \update\ and \diff\ commands to manage rule versions, \doctor\ to diagnose integration health, \explain\ to view specific rules, and \uninstall\ to remove Tenets-owned files. Output can be formatted as machine-readable JSON using the \--json\ flag.

cli/bin · high confidence

Introduce diagnostic, rule-explanation, and interactive setup commands

The CLI now includes \doctor\ to inspect the installation and report tool/preset health, \explain\ to display details and active status for specific Tenets rules (including profile applicability and deprecation notices), and an interactive \init\ flow that detects the repository stack and prompts users to select which AI agent integrations and presets to install. These commands provide clearer visibility into configuration state and simplify the initial setup experience.

cli/src/commands · high confidence

Multi-layer AI coding assistant integration with scoped rule files

The CLI now installs and manages dedicated rule files, commands, and hooks for Claude Code, Augment, Cursor, and GitHub Copilot. Instead of writing to a single file, it creates scoped rule files (e.g., \.claude/rules/\, \.augment/rules/\, \.cursor/rules/\, \.github/instructions/\), tool-specific review and scaffold commands, and a continuous architecture-check hook for Claude Code. It also supports an optional code-review subagent for Claude Code, cleans up legacy single-file outputs (like \.cursorrules\), and tracks installed tool modes and content hashes to detect stale or conflicting configurations.

cli/src/services · high confidence

New CLI constants file defines tool integrations and rule mappings

The CLI now includes a new \constants.js\ file that centralizes configuration for supported AI coding assistants (Claude Code, Cursor, Augment, GitHub Copilot, and the Tenets Code Review Agent). This file defines the specific target files and flags for each tool, establishes the structure of content sections (Architecture, Domain, Application, Global) with their associated documentation paths, and maps these sections to glob-based rule definitions for automatic loading in tools like Claude Code and Cursor.

cli/src · high confidence

New CLI scripts for knowledge validation and offline content bundling

The CLI now includes two new scripts in the \cli/scripts\ directory: \build-knowledge.js\ and \bundle-content.js\. The \build-knowledge.js\ script validates knowledge files against a defined schema, enforcing required frontmatter fields, ID patterns, and specific Markdown sections for rules and patterns. The \bundle-content.js\ script prepares offline fallback content by copying context files, the generated rules catalog, views, and the speckit-preset into a bundled directory, ensuring these resources are available for offline use or npm publishing.

cli/scripts · high confidence

New reproducible architecture review demo (ACT-009)

A new 60-second demo (ACT-009) has been added to showcase the Tenets architecture review workflow. It uses a FastAPI fixture to demonstrate repository detection, rule installation, and architecture review findings, with scripts to capture and render the output as a video and preview assets.

demo · high confidence

Test coverage

Added contract tests for the architecture review demo fixture; Comprehensive test coverage for CLI initialization, agent integrations, and knowledge validation.

Dependencies

Initial release of Tenets CLI and architecture review demo

This change introduces the Tenets CLI tool (v0.15.1) for enforcing architecture guardrails with AI coding agents, alongside a new Python-based architecture review demo. The CLI is built for Node.js 18+ and includes scripts for knowledge cataloging, validation, and bundling. The demo project uses FastAPI (\>=0.115) and Uvicorn (\>=0.30) to showcase the tool's capabilities.

(dependencies) · high confidence

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

How this codebase got here

This is the PUBLIC form of this artifact. Findings are listed in full, but the details of SECURITY findings — which rule fired, in which file, on which line, and how to fix it — are deliberately withheld, and any secret-scanner results are excluded entirely. Where detail is absent here it was REMOVED FOR PUBLICATION; it is not missing from the analysis. The complete artifact is available from the repository owner.

Score

  • CAI 48 → 53 (+4.1)
  • Rubric changed (rubric-2026.08.19 → rubric-2026.09.15) — scores are not directly comparable.

Lenses

  • Code Health 45 → 39 (-6.3)
  • Architecture 83 → 92 (+9.8)
  • Maturity 74 → 75 (+0.2)
  • Readiness 41 → 51 (+10.2)
  • Security 54 → 76 (+21.5)

Resolved (23)

  • Coverage not included — suite not readable by the collector
  • Dependency hygiene not measured — dependency manifest found but not parsed for hygiene
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • Hotspot: cli/src/commands/init.js (cli/src/commands/init.js)
  • Hotspot: cli/src/commands/uninstall.js (cli/src/commands/uninstall.js)
  • Hotspot: cli/src/commands/update.js (cli/src/commands/update.js)
  • Hotspot: cli/src/services/change-planner.js (cli/src/services/change-planner.js)
  • Hotspot: cli/src/services/installation-inspector.js (cli/src/services/installation-inspector.js)
  • No exposed public API
  • Scanner failed to run — not a clean result
  • Test reliability not included
  • …and 3 more

New (54)

  • Dependency hygiene PARTLY measured — Python dependencies read, no exact pin to grade for currency
  • Documentation: no installation or build instructions (README.md)
  • Documentation: no licence statement
  • Documentation: no usage examples (README.md)
  • FileTooLong: commands/init.js (cli/src/commands/init.js)
  • FunctionTooLong: change-planner.captureFilesystemChanges (cli/src/services/change-planner.js)
  • FunctionTooLong: init.initCommand (cli/src/commands/init.js)
  • FunctionTooLong: installation-inspector.inspectInstallation (cli/src/services/installation-inspector.js)
  • FunctionTooLong: uninstall.uninstallCommand (cli/src/commands/uninstall.js)
  • FunctionTooLong: update.updateCommand (cli/src/commands/update.js)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • …and 34 more

Changes since last survey

  • 4 commits — 2 feature/other, 2 fixes

By area

  • (repo) — 2 commits
  • (root) — 2 commits

Notable commits

  • fix: Merge pull request #17 from bardiakhosravi/codex/fix-speckit-bootstrap
  • fix: fix: keep Spec-Kit initialization agent-neutral
  • change: Merge pull request #16 from bardiakhosravi/codex/release-v0.15.0
  • change: chore: release v0.15.0

Architecture

  • Unchanged — 0 containers · 1 contexts · 0 edges

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

Survey your own repository

bardiakhosravi/tenets was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.

About this page

  • The score is its most recent published measurement, taken on 21 September 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
  • Measured at commit a603349216eb28c734d413e30568b3f599989835 — the exact code this score is about.
  • Scored under rubric-2026.09.15 — the same rubric and the same method as every other entry in this index.
  • Measured by watchdog.canine.dev using codehealth-analyzer preprod-fa71c66cabd8.