{"id":47300607,"url":"https://github.com/obsessiondb/rudel","last_synced_at":"2026-03-31T06:00:50.156Z","repository":{"id":342059994,"uuid":"1159109991","full_name":"obsessiondb/rudel","owner":"obsessiondb","description":"Claude Code Session Analytics","archived":false,"fork":false,"pushed_at":"2026-03-19T18:16:31.000Z","size":38837,"stargazers_count":202,"open_issues_count":6,"forks_count":9,"subscribers_count":3,"default_branch":"main","last_synced_at":"2026-03-20T02:55:53.554Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://rudel.ai","language":"TypeScript","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/obsessiondb.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","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-16T10:27:22.000Z","updated_at":"2026-03-20T02:11:08.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/obsessiondb/rudel","commit_stats":null,"previous_names":["obsessiondb/rudel"],"tags_count":10,"template":false,"template_full_name":null,"purl":"pkg:github/obsessiondb/rudel","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/obsessiondb%2Frudel","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/obsessiondb%2Frudel/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/obsessiondb%2Frudel/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/obsessiondb%2Frudel/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/obsessiondb","download_url":"https://codeload.github.com/obsessiondb/rudel/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/obsessiondb%2Frudel/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31223291,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-31T04:08:55.938Z","status":"ssl_error","status_checked_at":"2026-03-31T04:08:47.883Z","response_time":111,"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":[],"created_at":"2026-03-17T01:38:19.999Z","updated_at":"2026-03-31T06:00:50.149Z","avatar_url":"https://github.com/obsessiondb.png","language":"TypeScript","funding_links":[],"categories":["TypeScript"],"sub_categories":[],"readme":"# Rudel\n\n**Try the hosted version for free at [rudel.ai](https://rudel.ai)**\n\nAnalytics for [Claude Code](https://docs.anthropic.com/en/docs/claude-code). Rudel gives you a dashboard with insights on your coding sessions — token usage, session duration, activity patterns, model usage, and more.\n\n## Prerequisites\n\n- [Bun](https://bun.sh) runtime installed\n\n## Getting Started\n\n1. Create an account at [app.rudel.ai](https://app.rudel.ai)\n2. Install the CLI and connect it to your account:\n\n```bash\nnpm install -g rudel\n\nrudel login     # authenticate via your browser\nrudel enable    # auto-upload sessions when Claude Code exits\n```\n\n3. Invite teammates (optional): go to **Settings → Organization** in the dashboard, enter their email, and share the generated invite link with them.\n\nThat's it. Your Claude Code sessions will now be uploaded automatically.\n\nAlready have past sessions? Upload them in one go:\n\n```bash\nrudel upload    # interactive picker for batch upload\n```\n\nSee the [CLI documentation](apps/cli/README.md) for all available commands.\n\n## How It Works\n\n1. You install the CLI and run `rudel enable`\n2. This registers a [Claude Code hook](https://docs.anthropic.com/en/docs/claude-code/hooks) that runs when a session ends\n3. The hook uploads the session transcript to Rudel\n4. Transcripts are stored in ClickHouse and processed into analytics\n\n## What Data Is Collected\n\nEach uploaded session includes:\n\n- Session ID \u0026 timestamps (start, last interaction)\n- User ID \u0026 organization ID\n- Project path \u0026 package name\n- Git context (repository, branch, SHA, remote)\n- Session transcript (full prompt \u0026 response content)\n- Sub-agent usage\n\n## Security \u0026 Privacy Disclaimer\n\nRudel is designed to ingest full coding-agent session data for analytics. That means uploaded transcripts and related metadata may contain sensitive material, including source code, prompts, tool output, file contents, command output, URLs, and secrets that appeared during a session.\n\nOnly enable Rudel on projects and environments where you are comfortable uploading that data. If you use the hosted service at `app.rudel.ai`, we do not have access to personal data contained in uploaded transcripts and cannot read that data. Review the [Rudel Privacy Policy](https://rudel.ai/privacy-policy) before enabling uploads for yourself or your team.\n\nWe also use limited product analytics on the hosted service to understand whether core workflows work, diagnose failures, and improve the product. This is explicit event tracking for account and authentication flows, CLI login and enable flows, session upload outcomes, dashboard views and interactions, organization management actions, and a small set of utility interactions such as theme toggle or sidebar collapse.\n\nThis product analytics layer is intentionally limited. It does not enable blanket click autocapture, session replay, or surveys by default. It is designed to capture product events and operational context like page name, action name, date range, normalized error codes, and organization or user identifiers where needed. It should not include raw transcript content, source code, prompts, tool output, command output, or file contents from your sessions. By using the hosted app, you agree to this limited analytics processing as part of the service.\n\n## Development\n\nSee [CONTRIBUTING.md](CONTRIBUTING.md) for local setup, development commands, and PR guidelines.\n\nFor self-hosting your own instance, see [docs/self-hosting.md](docs/self-hosting.md).\n\n## Security\n\nTo report a vulnerability, see [SECURITY.md](SECURITY.md). Do not open public issues for security concerns.\n\n## License\n\n[MIT](LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fobsessiondb%2Frudel","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fobsessiondb%2Frudel","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fobsessiondb%2Frudel/lists"}