Skip to main content

Klaussy Logo klaussy-repo-conventions 🔍

PyPI version Python versions License: MIT GitHub stars

Discover once, align everywhere. The core conventions discovery and repository mapping engine. It scans codebases for structural styles, rates conventions on a 1-5 scale, traces endpoint-to-store data flows, and compiles a canonical CLAUDE.md and rules folder consumed by klaussy-agents.

Designed by an ex-GitHub, ex-Twitch, and ex-Microsoft engineer, klaussy-repo-conventions is a lightweight, AST-backed static-analysis CLI. It parses file patterns, naming conventions, import trees, and error handling behaviors across multiple programming languages—acting as the single source of truth for downstream AI agent configuration.


⚡ Quick Start

Analyze your codebase and generate agent-optimized context files in seconds:

# Install using pipx (recommended)
pipx install klaussy-repo-conventions

# Scan the current directory
conventions discover

This scans the local workspace, auto-detects project languages, and writes detailed convention metrics and ratings into the .conventions/ directory.


🚀 Key Features

  • 🔍 AST-Backed Convention Scan: Traverses your AST (Python) and code structures (Go, Node, Rust, Kotlin, Java, C#, Ruby, Swift, PHP, C++) to detect style patterns, naming strategies, and testing setups.
  • 📊 Multi-Language Analysis: Deep-dives into eleven languages, plus cross-language assets (Docker, Kubernetes, GitHub Actions).
  • 🗺️ Architecture Data-Flow Maps: Computes package dependency graphs, detects circular dependencies (DFS), and traces API endpoints down to their database store layers, generating Mermaid flowcharts directly in CLAUDE.md.
  • 🤖 Prescriptive Agent Scoping: Generates CLAUDE.md and path-scoped rules files in .claude/rules/ with imperative instructions and embedded few-shot code evidence blocks—giving agents the exact models they need to mirror.
  • 📈 Review & Scoring Gate: Rates each detected convention on a 1-5 scale, listing prioritized improvement suggestions. Ideal for local quality audits and CI/CD validation gates.
  • 🔌 Pluggable Architecture: Write custom python detectors and rating rule extensions using the plug-in framework.

🤖 CLAUDE.md & Scoped Rules Generation

conventions discover compiles a comprehensive project overview, tech stack, and commands reference directly into CLAUDE.md, alongside directory-scoping rules:

# Generate CLAUDE.md in .claude/ directory
conventions discover --claude

# Or include along with other review formats
conventions discover --format claude

🧠 Few-Shot Agent Optimization

Path-scoped rule files in .claude/rules/*.md and configuration files are optimized specifically for LLM context windows:

  • Prescriptive Directives: Observational metrics are converted into imperative instructions (e.g., "Name functions using snake_case style").
  • Few-Shot Code Examples: If a convention is detected, the CLI appends the best real-world code snippet from the scanned files, showing the agent exactly how your conventions are implemented.
  • Token-Optimized Directory Map: To avoid bloating the main CLAUDE.md, the full repository file layout is written to .claude/directory-map.md and referenced via a link. It keeps production code folders uncollapsed while collapsing non-essential directories (tests, docs, workflows) to keep token usage optimal.
  • Dynamic Decision Log & Pitfalls: Automatically scans git logs, changelogs, release notes, and CI configurations to populate your repository gotchas and architectural decisions, minimizing the need for manual placeholders.

🔄 Enhanced via --init

Add the --init flag to further enrich the generated CLAUDE.md using the Claude Code CLI. This pipes the static-analysis output through Claude to populate additional custom gotchas and decision history:

conventions discover --claude --init

Requires the Claude Code CLI (npm install -g @anthropic-ai/claude-code).


🌐 Language Support

The engine supports 300+ conventions across eleven languages and cross-language configurations:

Language/Platform Conventions Sample Scanned Patterns
Python 96 typing coverage, docstrings, testing fixtures, stdlib logging, error boundaries, sqlalchemy, context managers, async, dependency injection
Node.js/TypeScript 60 TypeScript strictness, jest/vitest frameworks, express/fastify api, mongoose, state management, monorepo workspaces, migrations
Go 43 modules, testing frameworks, stdlib loggers, channels & goroutines, gRPC structures, wire DI, database configurations
Rust 17 Cargo configs, tokio async, web frameworks, serialization, macros, unsafe blocks, database ORMs
Kotlin 16 Gradle/Maven builds, coroutines & Flow, null-safety (!! usage), Kotest/MockK, Spring/Ktor API routes, Exposed/JPA, kotlinx.serialization, Jetpack Compose
Java 12 Gradle/Maven builds, Spring DI & injection style, JPA/Hibernate & Spring Data, JUnit/AssertJ, Lombok vs records, Spring MVC routes, layering
C#/.NET 12 .NET SDK & target frameworks, nullable reference types, Microsoft.Extensions DI, EF Core, xUnit/NUnit, ASP.NET Core routing
Ruby 9 Bundler & Rails vs gem layout, ActiveRecord & migrations, RSpec/Minitest, RuboCop
PHP 8 Composer, Laravel vs Symfony vs library, Eloquent/Doctrine, PHPUnit/Pest, route detection, PHP CS Fixer
Swift 7 SwiftPM products (library vs app), SwiftUI/UIKit/Vapor routes, XCTest & swift-testing, SwiftLint
C++ 7 CMake/Make/Bazel, header-only vs separated layout, GoogleTest/Catch2/doctest, clang-format
Generic 24 GitHub workflows, pre-commit configuration, git hooks, Docker/Kubernetes files, repository layout

For the full list of convention IDs, see the Convention ID Reference.


📊 Output Formats & Reports

Scanned results are written to the .conventions/ folder in multiple formats:

Format Output File Description
json conventions.raw.json Raw, machine-readable JSON representing all rules, stats, and evidence code blocks.
markdown conventions.md Human-readable Markdown summary of all detected rules.
review conventions-review.md Audit report with scores (1-5), grouped by rating, with prioritized improvement actions.
html conventions.html Interactive dashboard with Light/Dark mode, filtering, search, and expandable evidence code blocks.
sarif conventions.sarif Static Analysis Results Interchange Format for GitHub Code Scanning and CI uploads.

📈 Rating Scale

Each convention is evaluated and rated on a 1-5 scale:

  • 5 - Excellent: Best practices followed consistently throughout the codebase.
  • 4 - Good: Strong alignment with minor improvements possible.
  • 3 - Average: Room for improvement; inconsistent usage.
  • 2 - Below Average: Significant improvements needed.
  • 1 - Poor: Major style or code architecture issues detected.

⚙️ Configuration

Create a .conventionsrc.json configuration file in your repository root to customize behavior:

{
  "languages": ["python", "node"],
  "max_files": 1000,
  "disabled_detectors": ["python_graphql"],
  "disabled_rules": ["python.conventions.graphql"],
  "output_formats": ["json", "markdown", "review", "html"],
  "exclude_patterns": ["**/generated/**", "**/vendor/**"],
  "plugin_paths": ["./custom_rules.py"],
  "min_score": 3.5
}

🚯 Automatic Exclusions

The CLI respects .gitignore rules and automatically excludes:

  • node_modules/, vendor/, site-packages/
  • venv/, .venv/, .tox/, .nox/
  • __pycache__/, .pytest_cache/, .mypy_cache/, .ruff_cache/
  • .git/, .svn/, .hg/
  • Build outputs (build/, dist/, eggs/)
  • Examples and docs (docs/, examples/, tutorials/, demo/, samples/)

🛡️ CI/CD Integration

Use the CLI as a pull request quality gate. When min_score is defined, the scan will fail (exit code 2) if the project-wide average falls below your threshold.

GitHub Actions Workflow:

# .github/workflows/conventions.yml
name: Check Conventions
on: [push, pull_request]

jobs:
  conventions:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-python@v5
        with:
          python-version: '3.11'
      - run: pip install klaussy-repo-conventions
      - run: conventions discover
      - run: cat .conventions/conventions-review.md

🔌 Plugin System

Extend the scanner by creating custom Python detectors and rating rules:

# custom_rules.py
from conventions.detectors.base import BaseDetector, DetectorContext, DetectorResult
from conventions.ratings import RatingRule

class MyCustomDetector(BaseDetector):
    name = "my_custom_detector"
    description = "Detects my custom convention"
    languages = {"python"}

    def detect(self, ctx: DetectorContext) -> DetectorResult:
        result = DetectorResult()
        # Custom detection logic
        return result

# Required exports
DETECTORS = [MyCustomDetector]

# Optional: custom rating rules
RATING_RULES = {
    "custom.my_rule": RatingRule(
        score_func=lambda r: 5 if r.stats.get("metric", 0) > 0.8 else 3,
        reason_func=lambda r, s: f"Custom metric: {r.stats.get('metric', 0):.0%}",
        suggestion_func=lambda r, s: None if s >= 5 else "Improve the custom metric.",
    ),
}

Add the plugin path to your .conventionsrc.json:

{
  "plugin_paths": ["./custom_rules.py"]
}

🤝 Contributing

Contributions are welcome! To add support for new conventions:

  1. Create a new detector in src/conventions/detectors/<language>/
  2. Register it using @DetectorRegistry.register
  3. Add rating rules in src/conventions/ratings.py
  4. Add tests in tests/

⚖️ License & Governance

  • License: MIT
  • Governance: klaussy-repo-conventions is an open-source project owned and maintained by Dovatech LLC (founded and owned by Stephanie Dover).

Release files for klaussy-repo-conventions 1.8.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for klaussy-repo-conventions 1.8.1
File Size Uploaded
klaussy_repo_conventions-1.8.1.tar.gz 384.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for klaussy-repo-conventions 1.8.1
File Interpreter ABI Platform
klaussy_repo_conventions-1.8.1-py3-none-any.whl Python 3 none any Details

Total release size: 889.0 kB

Release files / klaussy_repo_conventions-1.8.1.tar.gz

Download URL klaussy_repo_conventions-1.8.1.tar.gz
Size 384.9 kB
Tags Source
SHA-256 checksum
How to use checksums
d9d83e61bebb1a9e39b63c925f67fc066a00b32bb8a0799c413accb6af1c82f2
BLAKE2b-256 checksum
How to use checksums
23b0d21f7922071599a303180a468d89a31349315a7866564d39cb187a97b8ec
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 18, 2026.

Transparency log

Release files / klaussy_repo_conventions-1.8.1-py3-none-any.whl

Download URL klaussy_repo_conventions-1.8.1-py3-none-any.whl
Size 504.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f2c0b25122492a4bbac7b52add8021d46a1f652833204e02191cf56ecd94e442
BLAKE2b-256 checksum
How to use checksums
16401d9df62f98767c4b7268992d846436104356e6b089d22bcd4ff49bec4878
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 18, 2026.

Transparency log

Release history Release notifications | RSS feed

1.9.0

2 release files

This release

1.8.1 This release

2 release files

1.8.0

2 release files

1.7.0

2 release files

1.6.0

2 release files

1.5.1

2 release files

1.5.0

2 release files

1.4.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page