Content
# repo-audit
`repo-audit` is a local pre-submit audit tool for git repositories. It is designed to be called by humans, git hooks, CI, and AI agents before a public commit is prepared.
## First-version checks
- Dirty tracked files outside the index
- Untracked files
- Generated or dependency directories such as `build/`, `dist/`, `.cache/`, `node_modules/`, `__pycache__/`, `.pytest_cache/`
- AI/runtime artifacts such as `CURRENT_TASK.md`, `AI_GUIDE.md`, `handoff/`, and `outputs/runtime/`
## Usage
```bash
python3 repo_audit.py
python3 repo_audit.py --json
python3 repo_audit.py --repo /path/to/repo
```
Exit codes:
- `0`: no blocking issues
- `1`: blocking issues found
- `2`: tool error
## MCP server
The MCP wrapper exposes one tool:
```text
audit_repo_before_commit
```
Input:
```json
{
"repo": "/path/to/repo"
}
```
Output is structured JSON with `ok`, `status`, `issue_count`, `blocking_issue_count`, and `issues`.
Local server entry:
```bash
python3 server/mcp_server.py
```
Example Codex config:
```toml
[mcp_servers.repo-audit]
command = "python3"
args = ["/home/zazaki/Projects/repo-audit/server/mcp_server.py"]
```
There is also a repo-local `.mcp.json` for hosts that read MCP server manifests from the project directory.
## Development
```bash
python3 -m unittest discover -s tests -v
```