TLM — AI Tech Lead that enforces TDD, tests, and spec compliance in Claude Code.
Project description
TLM — AI Tech Lead for Claude Code
The annoying agent that makes Claude do the right thing.
TLM sits inside Claude Code and enforces TDD, tests, and spec compliance — automatically. It interviews you before coding, generates specs, and blocks commits that don't meet your project's quality bar.
Quick Start
pipx install tlm-cli
tlm signup
cd your-project
tlm install
That's it. Open Claude Code and start working — TLM activates automatically.
What Happens
tlm signup— Create your account (one-time)tlm install— Scans your project, generates enforcement rules, you approve them interactively. Installs Claude Code hooks.- Work in Claude Code — TLM interviews you before features, enforces TDD, checks spec compliance before commits
tlm check— Manual quality gate (runs your approved checks mechanically)
How It Works
TLM scans your project and asks Claude to figure out your stack — test framework, linter, deploy targets, coverage thresholds. It generates an enforcement config and presents it for your approval:
TLM Enforcement Config
Quality Checks (3):
● Tests pass [pre_commit]
pytest tests/ -v
● Linting [pre_commit]
flake8 src/
○ Security audit [pre_commit]
pip-audit
Does this look right?
yes — Approve and save
[correction] — Tell me what's wrong
You can correct anything conversationally. Once approved, enforcement is mechanical — commands and exit codes, no LLM opinions.
Commands
| Command | What it does |
|---|---|
tlm signup |
Create account |
tlm auth <key> |
Save API key |
tlm install |
Full setup: scan, approve config, install hooks |
tlm uninstall |
Remove TLM integration (keeps data) |
tlm check |
Run quality gate manually |
tlm status |
Project stats + enforcement status |
tlm learn |
Analyze recent commits for patterns |
tlm learn --all |
Full history analysis |
Philosophy
- Claude knows your stack. TLM doesn't hardcode detection for any framework. Claude figures it out.
- You approve everything. Nothing becomes a rule until you say yes.
- Enforcement is mechanical. Commands and exit codes. No LLM opinions during enforcement.
- Annoying, not a prison. Every block has an
OVERRIDE. But you have to be explicit.
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file tlm_cli-0.3.2.tar.gz.
File metadata
- Download URL: tlm_cli-0.3.2.tar.gz
- Upload date:
- Size: 115.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7417cc28afbfa22a4f23174da4f98b9fad44d6c8f9a5cc7aee1e04ea0cee8672
|
|
| MD5 |
a5fe4fa7a807a39473c7a0a90b2adc73
|
|
| BLAKE2b-256 |
d5ec1c5ef99d29d504ad724b474c48da31cee360f7ed4fa6cfb1ffa8aa1f4e12
|
File details
Details for the file tlm_cli-0.3.2-py3-none-any.whl.
File metadata
- Download URL: tlm_cli-0.3.2-py3-none-any.whl
- Upload date:
- Size: 64.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b07069efc60ff8f4a2f74a5358055d9ed1b494ebf177a9d3121408ca5fcd0c67
|
|
| MD5 |
3584513c68b75a4d53452edbffd74469
|
|
| BLAKE2b-256 |
55e1a9741abe33a029be5425c9ce07690e64eb7211c69924a898618b6d82f665
|