Skip to content
colwillPublic

About

Rust Based Multi-language Static Analyser & Developer tools for the AI age.

Topics

Resources

Stars

30 stars

Watchers

0 watching

Forks

Repository files navigation

Code Change Capture Logo

Release Code Change Capture

Code Change Capture (ccc)

The ccc static analyser maps your project into memory in under half a second. It supports C99, C++20 (except modules), C#, Rust, Go, Python, Zig, Odin, TypeScript, JavaScript and Protobuf.

Before you commit, it shows everything a change touches: the functions, tests and services it reaches, the contracts between services, dependencies and vulnerabilities.

With some configuration of map.json; ccc's call tracing can bridge the gap between development and testing by choosing the minimal required tests (interop, unit, contract & smoke) for any given change.

This aims to help teams make changes faster, improve the developer experience and eliminate the long wait times for CI and CT.

Extra Controls for Engineers

Because the static analyser provides an overwhelming amount of data; I've added support for MCP. With this, agents work differently.

  • Controls - All read and write operations happen in-memory before committing to disk
  • Controls - All source changes are atomic and revertable in a single call
  • Controls - All operations can be replayed for PR or code-review sessions at any time
  • Controls - All replays are encrypted by default for repo owners runccc teams
  • Info Sec - Search can be restricted to allow/block list
  • Info Sec - Bash/terminal use is disabled
  • Audit - Violations reported for human review

Install

curl -fsSL https://raw.githubusercontent.com/colwill/ccc/main/install.sh | bash

Or build it from source:

cargo build --release && ./target/release/ccc install

Choose how to use it

1. CLI

Run ccc from a terminal or a pipeline. Serve the map to your agents, see what a branch changed, and gate CI on tests, dependencies and security findings.

CLI.md has one section per command: the command, its options, and what it is for.

2. Developers And Agents

Watch and review the work. Explore the project in the architecture visualiser, get hints in VS Code, and replay how an agent made a change.

Developers And Agents has one section each for the visualiser, IDEs and replays.

3. Runtime Instrumentation

Record one run of your test suites with ccc's probes in, and ccc knows which tests actually ran which functions, across every service and language they passed through. For any change, it picks the tests that ran the changed code. In the examples, changes that would otherwise run the whole 50-test suite need between 1 and 5 tests.

Instrumentation.md covers what the examples prove, how tests and services are instrumented, and how to record in CI.

About

Rust Based Multi-language Static Analyser & Developer tools for the AI age.

Topics

Resources

Stars

30 stars

Watchers

0 watching

Forks

Releases

Used by

Contributors

Languages