{"id":48348594,"url":"https://github.com/repowise-dev/repowise","last_synced_at":"2026-04-11T11:08:45.275Z","repository":{"id":348277478,"uuid":"1189384516","full_name":"repowise-dev/repowise","owner":"repowise-dev","description":"Codebase intelligence for AI-assisted engineering teams — auto-generated docs, git analytics, dead code detection, and architectural decisions via MCP.","archived":false,"fork":false,"pushed_at":"2026-04-05T08:13:04.000Z","size":6707,"stargazers_count":388,"open_issues_count":13,"forks_count":62,"subscribers_count":3,"default_branch":"main","last_synced_at":"2026-04-05T08:28:46.804Z","etag":null,"topics":["ai","claude","code-intelligence","dead-code","developer-tools","documentation","git-analytics","mcp","open-source","python"],"latest_commit_sha":null,"homepage":"https://repowise.dev","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/repowise-dev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":".github/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-03-23T09:12:28.000Z","updated_at":"2026-04-05T08:22:45.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/repowise-dev/repowise","commit_stats":null,"previous_names":["raghavchamadiya/repowise","repowise-dev/repowise"],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/repowise-dev/repowise","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/repowise-dev%2Frepowise","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/repowise-dev%2Frepowise/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/repowise-dev%2Frepowise/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/repowise-dev%2Frepowise/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/repowise-dev","download_url":"https://codeload.github.com/repowise-dev/repowise/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/repowise-dev%2Frepowise/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31540826,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-07T16:28:08.000Z","status":"online","status_checked_at":"2026-04-08T02:00:06.127Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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","code-intelligence","dead-code","developer-tools","documentation","git-analytics","mcp","open-source","python"],"created_at":"2026-04-05T08:04:14.675Z","updated_at":"2026-04-08T05:01:28.007Z","avatar_url":"https://github.com/repowise-dev.png","language":"Python","readme":"\u003cdiv align=\"center\"\u003e\n\n\u003cimg src=\".github/assets/logo.png\" width=\"280\" alt=\"repowise\" /\u003e\u003cbr /\u003e\n**Codebase intelligence for AI-assisted engineering teams.**\n\nFour intelligence layers. Eight MCP tools. One `pip install`.\n\n[![PyPI version](https://img.shields.io/pypi/v/repowise?color=F59520\u0026labelColor=0A0A0A)](https://pypi.org/project/repowise/)\n[![License: AGPL v3](https://img.shields.io/badge/license-AGPL--v3-F59520?labelColor=0A0A0A)](https://www.gnu.org/licenses/agpl-3.0)\n[![Python](https://img.shields.io/badge/python-3.11%2B-F59520?labelColor=0A0A0A)](https://pypi.org/project/repowise/)\n[![MCP](https://img.shields.io/badge/MCP-compatible-F59520?labelColor=0A0A0A)](https://modelcontextprotocol.io)\n[![Stars](https://img.shields.io/github/stars/repowise-dev/repowise?color=F59520\u0026labelColor=0A0A0A)](https://github.com/repowise-dev/repowise)\n\n[**Live Demo →**](https://repowise.dev/examples) · [**Hosted for teams**](https://www.repowise.dev/#contact) · [**Docs**](https://repowise-dev.github.io) · [**Discord**](https://discord.gg/cQVpuDB6rh) · [**Contact**](mailto:hello@repowise.dev)\n\n---\n\n\u003cimg src=\".github/assets/demo.gif\" alt=\"repowise demo — repowise init → Claude Code querying via MCP tools\" width=\"100%\" /\u003e\n\n---\n\n\u003c/div\u003e\n\nWhen Claude Code reads a 3,000-file codebase, it reads files. It does not know who owns them, which ones change together, which ones are dead, or why they were built the way they were.\n\nrepowise fixes that. It indexes your codebase into four intelligence layers — dependency graph, git history, auto-generated documentation, and architectural decisions — and exposes them to Claude Code (and any MCP-compatible AI agent) through eight precisely designed tools.\n\nThe result: Claude Code answers *\"why does auth work this way?\"* instead of *\"here is what auth.ts contains.\"*\n\n---\n\n## What repowise builds\n\nrepowise runs once, builds everything, then keeps it in sync on every commit.\n\n### ◈ Graph Intelligence\ntree-sitter parses every file into symbols. NetworkX builds a dependency graph — files, classes, functions, imports, inheritance, and call relationships. PageRank identifies your most central code. Community detection finds logical modules even when your directory structure doesn't reflect them.\n\n### ◈ Git Intelligence\n500 commits of history turned into signals: hotspot files (high churn × high complexity), ownership percentages per engineer, co-change pairs (files that change together without an import link — hidden coupling), and significant commit messages that explain *why* code evolved.\n\n### ◈ Documentation Intelligence\nAn LLM-generated wiki for every module and file, rebuilt incrementally on every commit. Coverage tracking. Freshness scoring per page. Semantic search via RAG. Confidence scores show how current each page is relative to the underlying code.\n\n### ◈ Decision Intelligence\nThe layer nobody else has. Architectural decisions captured from git history, inline markers, and explicit CLI — linked to the graph nodes they govern, tracked for staleness as code evolves.\n\n```python\n# WHY: JWT chosen over sessions — API must be stateless for k8s horizontal scaling\n# DECISION: All external API calls wrapped in CircuitBreaker after payment provider outages\n# TRADEOFF: Accepted eventual consistency in preferences for write throughput\n```\n\nThese become structured decision records, queryable by Claude Code via `get_why()`.\n\n---\n\n## Quickstart\n\n```bash\npip install repowise\n```\n\n```bash\ncd your-project\nrepowise init        # builds all four intelligence layers (~25 min first time)\nrepowise serve       # starts MCP server + local dashboard\n```\n\nAdd to your Claude Code config (`~/.claude/claude_desktop_config.json`):\n\n```json\n{\n  \"mcpServers\": {\n    \"repowise\": {\n      \"command\": \"repowise\",\n      \"args\": [\"mcp\", \"--path\", \"/path/to/your/project\"]\n    }\n  }\n}\n```\n\n\u003e **Note on init time:** Initial indexing analyzes your entire codebase — AST parsing, 500-commit git history, LLM doc generation, embedding indexing, and decision archaeology. This is a one-time cost (~25 minutes for a 3,000-file project). Every subsequent update after a commit takes under 30 seconds.\n\n---\n\n## Eight MCP tools\n\nMost tools are designed around data entities — one module, one file, one symbol — which forces AI agents into long chains of sequential calls. repowise tools are designed around **tasks**. Pass multiple targets in one call. Get complete context back.\n\n| Tool | What it answers | When Claude Code calls it |\n|---|---|---|\n| `get_overview()` | Architecture summary, module map, entry points | First call on any unfamiliar codebase |\n| `get_context(targets, include?)` | Docs, ownership, decisions, freshness for any targets — files, modules, or symbols | Before reading or modifying code. Pass all relevant targets in one call. |\n| `get_risk(targets?, changed_files?)` | Hotspot scores, dependents, co-change partners, blast radius, recommended reviewers, test gaps, security signals, 0–10 risk score | Before modifying files — understand what could break |\n| `get_why(query?)` | Three modes: NL search over decisions · path-based decisions for a file · no-arg health dashboard | Before architectural changes — understand existing intent |\n| `search_codebase(query)` | Semantic search over the full wiki. Natural language. | When you don't know where something lives |\n| `get_dependency_path(from, to)` | Connection path between two files, modules, or symbols | When tracing how two things are connected |\n| `get_dead_code(min_confidence?, include_internals?, include_zombie_packages?)` | Unreachable code sorted by confidence and cleanup impact | Cleanup tasks |\n| `get_architecture_diagram(module?)` | Mermaid diagram for the repo or a specific module | Documentation and presentation |\n\n### Tool call comparison — a real task\n\n*\"Add rate limiting to all API endpoints.\"*\n\n| Approach | Tool calls | Time to first change | What it misses |\n|---|---|---|---|\n| Claude Code alone (no MCP) | grep + read ~30 files | ~8 min | Ownership, prior decisions, hidden coupling |\n| **repowise (8 tools)** | **5 calls** | **~2 min** | **Nothing** |\n\nThe 5 calls for that task:\n\n```python\nget_overview()                                         # orient: understand the architecture\nget_context([\"middleware\", \"api/routes\", \"payments\"])  # understand 3 modules at once\nget_risk([\"middleware/auth.ts\"])                       # assess: 47 dependents, co-changes\nget_why(\"rate limiting\")                               # check: any prior decision?\nsearch_codebase(\"rate limit OR throttle OR retry\")     # find: any prior implementation?\n```\n\n---\n\n## How Claude Code uses it\n\n```\nUser: Implement rate limiting on all API endpoints\n\nClaude Code:\n→ get_overview()\n  \"Express API. Entry points in api/routes/. Middleware in middleware/.\"\n\n→ get_context([\"middleware\", \"api/routes\", \"payments\"])\n  middleware/: existing chain is cors → auth → routes. Owner: @alex.\n  api/routes/: 23 route files. No existing rate limiting.\n  payments/: Owner @sarah (71%). Decision: all side effects must be idempotent.\n\n→ get_why(\"rate limiting\")\n  \"No prior decision found. No prior implementation detected.\"\n\n→ get_risk([\"middleware/auth.ts\"])\n  \"47 files import this. Co-changes with all 4 service listeners.\n   Risk summary: any interface change here touches 47 dependents.\"\n\n→ search_codebase(\"rate limit throttle retry\")\n  \"Found: payments/retry.ts already has RetryQueue class.\n   Found: payments/middleware.ts has idempotency key middleware.\"\n\nImplementing rate-limiting middleware, inserting after cors, before auth.\nWill also update tests/middleware.test.ts — detected as historical co-change partner.\nFlagging payments/ for @sarah review — hotspot, high ownership concentration.\n```\n\nThis is what happens when an AI agent has real codebase intelligence.\n\n---\n\n## Local dashboard\n\n`repowise serve` starts a full web UI alongside the MCP server. No separate setup — browse your codebase intelligence directly in the browser.\n\n\u003cimg src=\".github/assets/webui.gif\" alt=\"repowise web UI\" width=\"100%\" /\u003e\n\n| View | What it shows |\n|---|---|\n| **Chat** | Ask anything about your codebase in natural language |\n| **Docs** | AI-generated wiki with syntax highlighting and Mermaid diagrams |\n| **Graph** | Interactive dependency graph — handles 2,000+ nodes |\n| **Search** | Full-text and semantic search with global command palette (Ctrl+K) |\n| **Symbols** | Searchable index of every function, class, and method |\n| **Coverage** | Doc freshness per file with one-click regeneration |\n| **Ownership** | Contributor attribution and bus factor risk |\n| **Hotspots** | Ranked by trend-weighted score (180-day decay) and churn |\n| **Dead Code** | Unused code with confidence scores and bulk actions |\n| **Decisions** | Architectural decisions with staleness monitoring |\n| **Costs** | LLM spend by day, model, or operation, with running session totals |\n| **Blast Radius** | Paste a PR file list, see transitive impact, reviewers, and test gaps |\n| **Knowledge Map** | Top owners, bus-factor silos, and onboarding targets on the dashboard |\n| **System Health** | SQL/vector/graph drift status from the atomic store coordinator |\n\n---\n\n## Auto-generated CLAUDE.md\n\nAfter every `repowise init` and `repowise update`, repowise regenerates your `CLAUDE.md` from actual codebase intelligence — not a template. No LLM calls. Under 5 seconds.\n\n```bash\nrepowise generate-claude-md\n```\n\nThe generated section includes: architecture summary, module map, hotspot warnings, ownership map, hidden coupling pairs, active architectural decisions, and dead code candidates. A user-owned section at the top is never touched.\n\n```markdown\n\u003c!-- REPOWISE:START — managed automatically, do not edit --\u003e\n## Architecture\nMonorepo with 4 packages. Entry points: api/server.ts, cli/index.ts.\n\n## Hotspots — handle with care\n- payments/processor.ts — 47 commits/month, high complexity, primary owner: @sarah\n- shared/events/EventBus.ts — 23 dependents, co-changes with all service listeners\n\n## Active architectural decisions\n- JWT over sessions (auth/service.ts) — stateless required for k8s horizontal scaling\n- CircuitBreaker on all external calls — after payment provider outages in Q3 2024\n\n## Hidden coupling (no import link, but change together)\n- auth.ts ↔ middleware/session.ts — co-changed 31 times in last 500 commits\n\u003c!-- REPOWISE:END --\u003e\n```\n\n---\n\n## Git intelligence\n\nrepowise mines your last 500 commits (configurable) to produce signals no static analysis can find.\n\n**Hotspots** — files in the top 25% of both churn and complexity. These are where bugs live. Flagged in the dashboard, in CLAUDE.md, and surfaced by `get_risk()` before Claude Code touches them.\n\n**Ownership** — `git blame` aggregated into ownership percentages per engineer. Know who to ping. Know where knowledge silos exist.\n\n**Co-change pairs** — files that change together in the same commit without an import link. Hidden coupling that AST parsing cannot detect. `get_context()` surfaces co-change partners alongside direct dependencies.\n\n**Bus factor** — files owned \u003e80% by a single engineer. Shown in the ownership view. Surfaced in CLAUDE.md as knowledge risk.\n\n**Significant commits** — the last 10 meaningful commit messages per file (filtered: no merges, no dependency bumps, no lint) are included in generation prompts. The LLM explains *why* code is structured the way it is.\n\n---\n\n## Dead code detection\n\nPure graph traversal and SQL. No LLM calls. Completes in under 10 seconds for any repo size.\n\n```\nrepowise dead-code\n\n  23 findings · 4 safe to delete\n\n  ✓ utils/legacy_parser.ts          file      1.00   safe to delete\n  ✓ auth/session.ts                 file      0.92   safe to delete\n  ✓ helpers/formatDate              export    0.71   safe to delete\n  ✓ types/OldUser                   export    0.68   safe to delete\n  ✗ analytics/v1/tracker.ts         file      0.41   recent activity — review first\n```\n\nConservative by design. `safe_to_delete` requires confidence ≥ 0.70 and excludes dynamically-loaded patterns (`*Plugin`, `*Handler`, `*Adapter`, `*Middleware`). repowise surfaces candidates. Engineers decide.\n\n---\n\n## Architectural decisions\n\n```bash\nrepowise decision add              # guided interactive capture (~90 seconds)\nrepowise decision confirm          # review auto-proposed decisions from git history\nrepowise decision health           # stale, conflicting, ungoverned hotspots\n```\n\n```\nrepowise decision health\n\n  2 stale decisions\n    → \"JWT over sessions\" — auth/service.ts rewritten 3 months ago, decision may be outdated\n    → \"EventBus in-process only\" — 8 of 14 governed files changed since recorded\n\n  1 conflict\n    → payments/: two decisions with overlapping scope and contradictory rationale\n\n  1 ungoverned hotspot\n    → payments/processor.ts — 47 commits/month, no architectural decisions recorded\n```\n\nDecisions are linked to graph nodes, tracked for staleness as code evolves, and surfaced by `get_why()` whenever Claude Code touches governed files.\n\nWhen a senior engineer leaves, the \"why\" usually leaves with them. Decision intelligence keeps it in the codebase.\n\n---\n\n## How it compares\n\n| | repowise | Google Code Wiki | DeepWiki | Swimm | CodeScene |\n|---|---|---|---|---|---|\n| Self-hostable, open source | ✅ AGPL-3.0 | ❌ cloud only | ❌ cloud only | ❌ Enterprise only | ✅ Docker |\n| Auto-generated documentation | ✅ | ✅ Gemini | ✅ | ✅ PR2Doc | ❌ |\n| Private repo — no cloud | ✅ | ❌ in development | ❌ OSS forks only | ✅ Enterprise tier | ✅ |\n| Dead code detection | ✅ | ❌ | ❌ | ❌ | ❌ |\n| Git intelligence (hotspots, ownership, co-changes) | ✅ | ❌ | ❌ | ❌ | ✅ |\n| Bus factor analysis | ✅ | ❌ | ❌ | ❌ | ✅ |\n| Architectural decision records | ✅ | ❌ | ❌ | ❌ | ❌ |\n| MCP server for AI agents | ✅ 8 tools | ❌ | ✅ 3 tools | ✅ | ✅ |\n| Auto-generated CLAUDE.md | ✅ | ❌ | ❌ | ❌ | ❌ |\n| Doc freshness scoring | ✅ | ❌ | ❌ | ⚠️ staleness only | ❌ |\n| Incremental updates on commit | ✅ \u003c30s | ✅ | ❌ | ✅ | ✅ |\n| Local dashboard / frontend | ✅ | ❌ | ❌ | ❌ IDE only | ✅ |\n| Free for internal use | ✅ | ✅ public repos | ✅ public repos | ❌ | ❌ |\n\n**The honest summary:**\n\n- **vs Google Code Wiki** — Google's offering (launched Nov 2025) is cloud-only with no private repo support yet. Gemini-powered docs are strong, but there's no git behavioral intelligence, no dead code detection, no MCP server, and no architectural decisions.\n- **vs DeepWiki** — Cloud-only, closed source (community self-hostable forks exist). Strong docs and Q\u0026A, with a basic 3-tool MCP server. No git analytics, no dead code, no decisions.\n- **vs Swimm** — Swimm's strength is keeping manually-written docs linked to code snippets with staleness detection. No graph, no git behavioral analytics, no dead code, no MCP by default. Enterprise pricing for private hosting.\n- **vs CodeScene** — CodeScene has excellent git intelligence (hotspots, co-changes, ownership, bus factor). No documentation generation, no RAG, no architectural decisions. Closed source, per-author pricing.\n\nrepowise is the intersection: CodeScene-level git intelligence + auto-generated documentation + agent-native MCP + architectural decisions, self-hostable and open source.\n\n---\n\n## Hosted version — for teams\n\nFor teams that want repowise managed, we offer a hosted version. No self-hosting, no infrastructure to maintain — we handle deployment, updates, and webhooks. If your team wants shared codebase intelligence without the operational overhead, reach out.\n\nHosted adds what only makes sense in a managed, multi-user environment:\n\n- **Shared team context layer** — one CLAUDE.md backed by the full graph and decision layer, auto-injected into every team member's Claude Code session via MCP\n- **Session intelligence harvesting** — architectural decisions extracted from AI coding sessions and proposed to the team knowledge base automatically\n- **Engineering leader dashboard** — bus factor trends, hotspot evolution over time, cross-repo dead code, ownership drift\n- **Managed webhooks** — zero-configuration auto re-index on every commit to any branch\n- **Integrations** — Slack alerts, Notion sync, Confluence sync, Jira and Linear decision linking\n- **Cross-repo intelligence** — hotspots, dead code, and ownership across all your repositories at once\n\n[Get in touch →](https://www.repowise.dev/#contact) · [hello@repowise.dev](mailto:hello@repowise.dev)\n\n---\n\n## CLI reference\n\n```bash\n# Core\nrepowise init [PATH]              # index codebase (one-time)\nrepowise update [PATH]            # incremental update (\u003c30 seconds)\nrepowise serve [PATH]             # MCP server + local dashboard\nrepowise watch [PATH]             # auto-update on file save\n\n# Query\nrepowise query \"\u003cquestion\u003e\"       # ask anything from the terminal\nrepowise search \"\u003cquery\u003e\"         # semantic search over the wiki\nrepowise status                   # coverage, freshness, dead code summary\n\n# Dead code\nrepowise dead-code                          # full report\nrepowise dead-code --safe-only              # only safe-to-delete findings\nrepowise dead-code --min-confidence 0.8     # raise the confidence threshold\nrepowise dead-code --include-internals      # include private/underscore symbols\nrepowise dead-code --include-zombie-packages  # include unused declared packages\nrepowise dead-code resolve \u003cid\u003e             # mark resolved / false positive\n\n# Cost tracking\nrepowise costs                    # total LLM spend to date\nrepowise costs --by operation     # grouped by operation type\nrepowise costs --by model         # grouped by model\nrepowise costs --by day           # grouped by day\n\n# Decisions\nrepowise decision add             # record a decision (interactive)\nrepowise decision list            # all decisions, filterable\nrepowise decision confirm \u003cid\u003e    # confirm a proposed decision\nrepowise decision health          # stale, conflicts, ungoverned hotspots\n\n# Editor files\nrepowise generate-claude-md       # regenerate CLAUDE.md\n\n# Utilities\nrepowise export [PATH]            # export wiki as markdown files\nrepowise doctor                   # check setup, API keys, store drift\nrepowise doctor --repair          # check and fix detected store mismatches\nrepowise reindex                  # rebuild vector store (no LLM calls)\n```\n\n---\n\n## Supported languages\n\n**Code:** Python · TypeScript · JavaScript · Go · Rust · Java · C · C++ · Ruby · Kotlin\n\n**Config / contracts:** OpenAPI · Protobuf · GraphQL · Dockerfile · GitHub Actions YAML · Makefile\n\nAdding a new language requires one `.scm` tree-sitter query file and one config entry. No changes to the parser. See [Adding a new language](docs/CONTRIBUTING.md#adding-a-new-language).\n\n---\n\n## Privacy\n\n**Self-hosted:** Your code never leaves your infrastructure. No telemetry. No analytics. Zero.\n\n**BYOK:** Bring your own Anthropic or OpenAI API key. We never see your LLM calls. Zero data retention via Anthropic's API policy — your code is never used to train any model.\n\n**What is stored:** NetworkX graph (file and symbol relationships), LanceDB embeddings (non-reversible vectors), generated wiki pages, git metadata. Raw source code is processed transiently and never persisted.\n\n**Fully offline:** Ollama for LLM + local embedding models = zero external API calls.\n\n---\n\n## Configuration\n\n`repowise init` generates `.repowise/config.yaml`. Key options:\n\n```yaml\nprovider: anthropic               # anthropic | openai | ollama | litellm\nmodel: claude-sonnet-4-5\nembedding_model: voyage-3\n\ngit:\n  co_change_commit_limit: 500\n  blame_enabled: true\n\ndead_code:\n  enabled: true\n  safe_to_delete_threshold: 0.7\n\nmaintenance:\n  cascade_budget: 30              # max pages fully regenerated per commit\n  background_regen_schedule: \"0 2 * * *\"\n```\n\nFull configuration reference: [docs/CONFIG.md](docs/CONFIG.md)\n\n---\n\n## Contributing\n\n```bash\ngit clone https://github.com/repowise-dev/repowise\ncd repowise\npip install -e \"packages/core[dev]\"\npytest tests/unit/\n```\n\nFull guide including how to add languages and LLM providers: [CONTRIBUTING.md](CONTRIBUTING.md)\n\n---\n\n## License\n\nAGPL-3.0. Free for individuals, teams, and companies using repowise internally.\n\nFor commercial licensing — embedding repowise in a product, white-labeling, or SaaS use without AGPL obligations — contact [hello@repowise.dev](mailto:hello@repowise.dev).\n\n---\n\n\u003cdiv align=\"center\"\u003e\n\nBuilt for engineers who got tired of asking *\"why does this code exist?\"*\n\n[repowise.dev](https://repowise.dev) · [Live Demo →](https://repowise.dev/examples) · [Discord](https://discord.gg/cQVpuDB6rh) · [X](https://x.com/repowisedev) · [hello@repowise.dev](mailto:hello@repowise.dev)\n\n\u003c/div\u003e\n","funding_links":[],"categories":["Code Analysis"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frepowise-dev%2Frepowise","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frepowise-dev%2Frepowise","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frepowise-dev%2Frepowise/lists"}