{"id":47996508,"url":"https://github.com/yurukusa/cc-audit-log","last_synced_at":"2026-04-04T12:00:44.032Z","repository":{"id":341090800,"uuid":"1168769486","full_name":"yurukusa/cc-audit-log","owner":"yurukusa","description":"See what your Claude Code actually did. Human-readable audit trail from session transcripts.","archived":false,"fork":false,"pushed_at":"2026-03-21T11:37:37.000Z","size":49,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2026-04-04T11:59:56.199Z","etag":null,"topics":["ai","claude","claude-code","cli","developer-tools","productivity"],"latest_commit_sha":null,"homepage":"https://yurukusa.github.io/cc-audit-log/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/yurukusa.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-02-27T19:21:43.000Z","updated_at":"2026-03-21T11:37:40.000Z","dependencies_parsed_at":"2026-04-04T12:00:28.838Z","dependency_job_id":null,"html_url":"https://github.com/yurukusa/cc-audit-log","commit_stats":null,"previous_names":["yurukusa/cc-audit-log"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/yurukusa/cc-audit-log","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yurukusa%2Fcc-audit-log","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yurukusa%2Fcc-audit-log/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yurukusa%2Fcc-audit-log/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yurukusa%2Fcc-audit-log/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/yurukusa","download_url":"https://codeload.github.com/yurukusa/cc-audit-log/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yurukusa%2Fcc-audit-log/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31398770,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-04T10:20:44.708Z","status":"ssl_error","status_checked_at":"2026-04-04T10:20:06.846Z","response_time":60,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","claude","claude-code","cli","developer-tools","productivity"],"created_at":"2026-04-04T12:00:26.822Z","updated_at":"2026-04-04T12:00:43.999Z","avatar_url":"https://github.com/yurukusa.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# cc-audit-log\n\nSee what your Claude Code actually did. Human-readable audit trail from session transcripts.\n\n```\nnpx cc-audit-log\n```\n\n## What it shows\n\n- Files created and modified\n- Bash commands executed\n- Git commits and pushes\n- Subagent spawns\n- Risk flags (force pushes, recursive deletes, sudo, etc.)\n- Timeline of key actions with timestamps\n\n## Sample output\n\n```\n  Claude Code Audit Log v1.0\n  ═══════════════════════════════════════\n  Scanning: ~/.claude/projects/\n\n  ▸ Session: 2026-02-27 11:47 → 15:44 (3h 56m)\n    Project: nursery-shift  |  7.1MB transcript\n\n  ▸ Summary\n    Tool calls:     201\n    Files created:  4\n    Files modified: 6\n    Files read:     18\n    Bash commands:  44\n    Git commits:    1\n\n  ▸ Key Actions\n    11:48  T Spawned agent: Explore nursery-shift codebase\n    11:51  + Created ~/projects/nursery-shift/src/nr_supply.py\n    11:51  $ Syntax check nr_supply.py\n    11:53  + Created ~/projects/nursery-shift/src/shift_milp.py\n    11:54  ~ Modified ~/projects/nursery-shift/src/scheduler.py\n    11:55  ~ Modified ~/projects/nursery-shift/src/schedule_optimizer.py\n    12:10  G Git commit\n    ...\n\n  ▸ Risk Flags\n    None detected\n\n  ▸ Files Touched\n    NEW  ~/projects/nursery-shift/src/nr_supply.py\n    NEW  ~/projects/nursery-shift/src/shift_milp.py\n    MOD  ~/projects/nursery-shift/src/scheduler.py\n    MOD  ~/projects/nursery-shift/src/schedule_optimizer.py\n```\n\n## Usage\n\n```bash\n# Most recent session (default)\nnpx cc-audit-log\n\n# All sessions from today\nnpx cc-audit-log --today\n\n# Sessions from a specific date\nnpx cc-audit-log --date 2026-02-27\n\n# Last N sessions\nnpx cc-audit-log --last 5\n\n# All sessions (can be slow for heavy users)\nnpx cc-audit-log --all\n\n# Structured JSON output (for CI/scripts/programmatic use)\nnpx cc-audit-log --json\n\n# Combine with other flags\nnpx cc-audit-log --today --json\nnpx cc-audit-log --last 5 --json\n```\n\n### JSON output\n\nPass `--json` (or `-j`) to get structured JSON on stdout instead of the formatted terminal display. All other flags (`--today`, `--date`, `--last`, `--all`) combine with `--json`.\n\n```json\n{\n  \"version\": \"1.0\",\n  \"sessionsScanned\": 1,\n  \"sessions\": [\n    {\n      \"project\": \"my-app\",\n      \"start\": \"2026-02-27T11:47:00.000Z\",\n      \"end\": \"2026-02-27T15:44:00.000Z\",\n      \"duration\": 237,\n      \"transcriptSize\": 7450000,\n      \"summary\": {\n        \"toolCalls\": 201,\n        \"filesCreated\": 4,\n        \"filesModified\": 6,\n        \"filesRead\": 18,\n        \"bashCommands\": 44,\n        \"gitCommits\": 1\n      },\n      \"keyActions\": [\n        { \"time\": \"2026-02-27T11:48:00.000Z\", \"type\": \"task\", \"detail\": \"Spawned agent: ...\" },\n        { \"time\": \"2026-02-27T11:51:00.000Z\", \"type\": \"create\", \"detail\": \"Created ~/src/app.py\" }\n      ],\n      \"riskFlags\": []\n    }\n  ]\n}\n```\n\n| Field | Description |\n|-------|-------------|\n| `version` | Schema version (`\"1.0\"`) |\n| `sessionsScanned` | Number of sessions in this output |\n| `sessions[].project` | Project directory name |\n| `sessions[].start` / `end` | ISO 8601 timestamps |\n| `sessions[].duration` | Duration in minutes |\n| `sessions[].transcriptSize` | Raw transcript file size in bytes |\n| `sessions[].summary` | Counts of tool calls, file ops, bash commands, git commits |\n| `sessions[].keyActions` | Timeline of notable actions (deduplicated) |\n| `sessions[].riskFlags` | Array of risk label strings (empty if clean) |\n\n## Risk detection\n\nThe tool flags potentially risky commands:\n\n| Pattern | Flag |\n|---------|------|\n| `rm -rf` | Recursive delete |\n| `git push --force` | Force push |\n| `git reset --hard` | Hard reset |\n| `npm publish` | npm publish |\n| `sudo` | Sudo command |\n| `curl -X POST` | HTTP POST request |\n| `DROP TABLE/DATABASE` | Database drop |\n\n## How it works\n\n1. Scans `~/.claude/projects/` for session transcript files (.jsonl)\n2. Parses each line for `tool_use` events (assistant messages)\n3. Classifies actions: file writes, edits, bash commands, git operations\n4. Generates a human-readable timeline with risk flags\n5. Includes subagent sessions\n\n**Zero dependencies. No data sent anywhere. Runs entirely local.**\n\n## Part of cc-toolkit\n\ncc-audit-log is one of 36 free tools for Claude Code users.\n\n**→ [See all 27 cc-toolkit tools](https://yurukusa.github.io/cc-toolkit/)**\n\n| Tool | What it checks |\n|------|---------------|\n| [cc-health-check](https://github.com/yurukusa/cc-health-check) | Is your AI **setup** safe? |\n| [cc-session-stats](https://github.com/yurukusa/cc-session-stats) | How much are you **using** AI? |\n| **cc-audit-log** | What did your AI **do**? |\n| [cc-cost-check](https://yurukusa.github.io/cc-cost-check/) | Cost per commit calculator |\n| [cc-wrapped](https://yurukusa.github.io/cc-wrapped/) | Your AI year in review (Spotify Wrapped style) |\n| [cc-roast](https://yurukusa.github.io/cc-roast/) | Your CLAUDE.md, brutally honest |\n| [cc-ops-kit](https://yurukusa.github.io/cc-ops-kit-landing/?utm_source=github\u0026utm_medium=readme\u0026utm_campaign=cc-audit-log) | Production hooks to keep autonomous Claude Code safe ($19) |\n\n### Need full audit trails for autonomous sessions?\n\n**Quick safety setup:** `npx cc-safe-setup` — 8 hooks in 10 seconds (free). [GitHub](https://github.com/yurukusa/cc-safe-setup)\n\n**[Claude Code Ops Kit](https://yurukusa.github.io/cc-ops-kit-landing/?utm_source=github\u0026utm_medium=readme\u0026utm_campaign=cc-audit-log)** — 16 production hooks + 5 templates + 3 tools. Every tool call logged, every error caught, every session recoverable.\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyurukusa%2Fcc-audit-log","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyurukusa%2Fcc-audit-log","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyurukusa%2Fcc-audit-log/lists"}