{"id":50472072,"url":"https://github.com/rani367/maple","last_synced_at":"2026-06-01T11:01:31.481Z","repository":{"id":353831397,"uuid":"1221087522","full_name":"Rani367/maple","owner":"Rani367","description":"Understand any codebase in seconds. A fast local Rust CLI for repo maps, architecture docs, and compact context packs.","archived":false,"fork":false,"pushed_at":"2026-04-25T19:15:49.000Z","size":37,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-25T20:27:15.677Z","etag":null,"topics":["cli","code-intelligence","developer-tools","repo-map","rust","static-analysis","tree-sitter"],"latest_commit_sha":null,"homepage":null,"language":"Rust","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/Rani367.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-04-25T18:29:16.000Z","updated_at":"2026-04-25T19:15:54.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/Rani367/maple","commit_stats":null,"previous_names":["rani367/maple"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/Rani367/maple","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Rani367%2Fmaple","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Rani367%2Fmaple/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Rani367%2Fmaple/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Rani367%2Fmaple/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Rani367","download_url":"https://codeload.github.com/Rani367/maple/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Rani367%2Fmaple/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33771629,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-01T02:00:06.963Z","response_time":115,"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":["cli","code-intelligence","developer-tools","repo-map","rust","static-analysis","tree-sitter"],"created_at":"2026-06-01T11:01:29.761Z","updated_at":"2026-06-01T11:01:31.473Z","avatar_url":"https://github.com/Rani367.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003eMaple\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\n  Understand any codebase in seconds.\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/Rani367/maple/stargazers\"\u003e\u003cimg src=\"https://img.shields.io/github/stars/Rani367/maple?style=social\" alt=\"GitHub stars\"\u003e\u003c/a\u003e\n  \u003ca href=\"LICENSE\"\u003e\u003cimg src=\"https://img.shields.io/badge/license-MIT-blue.svg\" alt=\"MIT license\"\u003e\u003c/a\u003e\n  \u003cimg src=\"https://img.shields.io/badge/status-pre--alpha-orange.svg\" alt=\"pre-alpha\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/rust-2024-orange.svg\" alt=\"Rust 2024\"\u003e\n\u003c/p\u003e\n\nMaple is a fast, local, single-binary tool for turning repositories into clear\narchitecture maps, repo docs, and compact context packs.\n\nThe goal is simple: point Maple at a repo and immediately see what matters,\nwhere to start reading, how the pieces connect, and what context is worth\nkeeping.\n\n```sh\nmaple scan .\nmaple scan github.com/zed-industries/zed\nmaple serve .\nmaple pack .\n```\n\n\u003e Maple is currently pre-alpha. The first working command is `scan`; the map,\n\u003e pack, wiki, and web explorer commands are planned and documented.\n\n## Why Maple\n\nOpening an unfamiliar repository is still slower than it should be. You read the\nREADME, skim folders, chase imports, look for entrypoints, guess which files are\nimportant, and slowly build a mental map.\n\nMaple is meant to make that first pass instant.\n\n- Find the files, folders, packages, commands, tests, and configs that matter.\n- Build deterministic repo maps from source code instead of vague summaries.\n- Generate human-readable docs and machine-readable context from the same facts.\n- Run locally by default, with no account and no required API key.\n- Stay small, fast, and easy to install.\n\n## Current Demo\n\nToday, Maple can scan a local repository while respecting ignore files and\nskipping common generated folders.\n\n```sh\ncargo run -- scan .\n```\n\nExample output:\n\n```text\nMaple scan\n\nRoot:  /path/to/repo\nFiles: 22\nSize:  40.3 KB\n\nLanguages:\n  Markdown        17 files     23.7 KB\n  Other            3 files     10.6 KB\n  Rust             1 files      5.6 KB\n  TOML             1 files       430 B\n```\n\nFor structured output:\n\n```sh\ncargo run -- scan . --json\n```\n\n## Planned Experience\n\nMaple should grow into one tool with five useful outputs:\n\n| Command | Purpose |\n| --- | --- |\n| `maple scan .` | Fast repo inventory: languages, files, manifests, size, and roles. |\n| `maple map .` | Architecture map: entrypoints, important files, packages, dependencies, cycles, and reading path. |\n| `maple wiki .` | Human docs: generate `repo-map.md` or a small repo wiki. |\n| `maple pack .` | Context pack: compact Markdown/JSON for coding tools and reviews. |\n| `maple serve .` | Local web explorer with graphs, file details, and exportable static HTML. |\n\n## What Maple Will Detect\n\n- Languages and file roles\n- Package/workspace layout\n- Entrypoints and commands\n- Important files ranked with explainable reasons\n- Imports, exports, symbols, and references\n- Tests and likely ownership paths\n- Dependency cycles and architecture hotspots\n- Config files, manifests, lockfiles, and docs\n- GitHub repository targets and cached local clones\n\n## How It Compares\n\nMaple is not trying to replace every code intelligence tool. It is aiming for a\nspecific lane: a beautiful, local first repo understanding tool that is useful\nwithin seconds.\n\n| Tool | Best At | Maple's Angle |\n| --- | --- | --- |\n| Repomix | Packing repo contents for LLMs | Adds repo structure, ranking, docs, and maps. |\n| GitDiagram | Visual GitHub repo diagrams | Adds local CLI, deterministic analysis, and context exports. |\n| DeepWiki | AI-generated repo docs | Keeps local deterministic facts as the base layer. |\n| Sourcegraph | Enterprise code search | Focuses on a small single-binary workflow for one repo at a time. |\n\n## Install\n\nMaple is not published yet. For now, run it from source:\n\n```sh\ngit clone https://github.com/Rani367/maple\ncd maple\ncargo run -- scan .\n```\n\nThe GitHub project and CLI are named `maple`. Where a package namespace already\nuses that name, such as crates.io, Maple will use `maple-cli`.\n\n## Roadmap\n\nThe full implementation plan lives in [docs](docs/README.md). High-level phases:\n\n1. Foundation: CLI structure, config, tests, CI, release skeleton.\n2. Repository ingestion: local scanning, GitHub URLs, clone cache, file roles.\n3. Language intelligence: tree-sitter adapters for Rust, TypeScript, Python, and Go.\n4. Graph and ranking: dependency graph, PageRank-style ranking, cycles, reading path.\n5. Reports and context packs: `repo-map.md`, JSON, Markdown packs, token budgets.\n6. Local web explorer: `maple serve`, graph UI, file pages, static export.\n7. GitHub workflow: paste a public repo and get a local map.\n8. Agent integrations: optional MCP and compact context profiles.\n9. Quality and performance: benchmarks, large repo testing, release binaries.\n10. Launch and growth: README demos, example maps, Homebrew, and public release.\n\n## Project Docs\n\n- [Docs index](docs/README.md)\n- [Product plan](docs/PRODUCT_PLAN.md)\n- [Architecture](docs/ARCHITECTURE.md)\n- [CLI spec](docs/CLI_SPEC.md)\n- [Data model](docs/DATA_MODEL.md)\n- [Implementation phases](docs/IMPLEMENTATION_PHASES.md)\n\n## Development\n\nThe current crate is intentionally small, with responsibilities split by module:\n\n| Module | Responsibility |\n| --- | --- |\n| `src/main.rs` | Thin binary entrypoint. |\n| `src/cli.rs` | CLI parsing and command dispatch. |\n| `src/config.rs` | Default settings and future config loading. |\n| `src/scan.rs` | Local directory walking, language counts, and scan reports. |\n| `src/output.rs` | Human-readable terminal output. |\n\n```sh\ncargo fmt\ncargo clippy --all-targets -- -D warnings\ncargo test --all-targets\ncargo run -- scan .\ncargo run -- scan . --json\n```\n\nIntegration fixtures live under `tests/fixtures/`, and snapshot assertions\nnormalize absolute paths so they stay stable across machines.\n\n## Contributing\n\nMaple is early, so the best contributions are small and concrete:\n\n- improve scanner correctness\n- add fixture repos\n- add language detection\n- improve docs\n- test Maple on real open source repositories\n\nOpen an issue before large architectural changes.\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frani367%2Fmaple","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frani367%2Fmaple","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frani367%2Fmaple/lists"}