[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-83121":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":15,"subscribersCount":15,"size":15,"stars1d":16,"stars7d":17,"stars30d":17,"stars90d":15,"forks30d":15,"starsTrendScore":13,"compositeScore":18,"rankGlobal":10,"rankLanguage":10,"license":19,"archived":20,"fork":20,"defaultBranch":21,"hasWiki":22,"hasPages":20,"topics":23,"createdAt":10,"pushedAt":10,"updatedAt":34,"readmeContent":35,"aiSummary":36,"trendingCount":15,"starSnapshotCount":15,"syncStatus":37,"lastSyncTime":38,"discoverSource":39},83121,"codeglance","mansoor-mamnoon\u002Fcodeglance","mansoor-mamnoon","The 10-second codebase tour. Understand any repo in one command.","https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002Fcodeglance",null,"TypeScript",64,4,53,0,1,7,2.1,"MIT License",false,"main",true,[24,25,26,27,28,29,30,31,32,33],"cli","codebase-analysis","developer-tools","llm","onboarding","productivity","repo-analyzer","static-analysis","terminal","typescript","2026-06-12 02:04:31","\u003Cdiv align=\"center\">\n\n# codeglance\n\n**The 10-second codebase tour.**\n\n*Open a repo. Run one command. Know where to start.*\n\n[![License: MIT](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLicense-MIT-green.svg)](LICENSE)\n[![Node.js ≥18](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fnode-%3E%3D18-brightgreen.svg)](https:\u002F\u002Fnodejs.org)\n[![npm](https:\u002F\u002Fimg.shields.io\u002Fnpm\u002Fv\u002Fcodeglance.svg)](https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002Fcodeglance)\n\n\u003C\u002Fdiv>\n\n---\n\n```\nnpx codeglance\n```\n\nNo install. No config. No API keys.\n\n---\n\n\u003Cdiv align=\"center\">\n\u003Cimg src=\"docs\u002Fdemo.svg\" alt=\"codeglance terminal output: Next.js project with framework detection, run commands, and start-here files\" width=\"820\"\u002F>\n\u003C\u002Fdiv>\n\n---\n\n## Try it now\n\n```bash\nnpx codeglance                                        # tour of current directory\nnpx codeglance --for-ai                               # compact LLM context brief\nnpx codeglance --markdown --output docs\u002Fcodebase-tour.md  # save as Markdown\n```\n\nNo install required. Runs on any directory. Works best on repos with common manifest files.\n\n---\n\n## When should I use this?\n\n- **Joining a new codebase** — Skip the 15-minute ritual of reading README, exploring directories, and parsing package.json manually\n- **Evaluating a dependency** — Understand what a library actually uses before you adopt it\n- **Returning to an old project** — Re-orient yourself after months away\n- **Before using Claude, Cursor, or Copilot** — Run `codeglance --for-ai` to generate a structured context brief instead of dumping the whole codebase\n- **Onboarding your team** — `codeglance --markdown > docs\u002Fcodebase-tour.md` creates a living onboarding document\n\n---\n\n## What makes this different?\n\n**Not a line counter.** tokei and scc count lines of code. They don't tell you what framework you're looking at or how to run it.\n\n**Not a source-code dumper.** repomix and code2prompt pack source for LLM consumption. codeglance produces a context *brief* — just the orientation layer.\n\n**Not an AI agent.** No generation, no inference, no API calls. It reads manifest files and file structure, then reports what it finds.\n\n**A repo orientation layer.** It answers five questions in one command: what is this, how do I run it, where do I start, what tools does it use, and how do I hand it off to an LLM.\n\n---\n\n## Real-world examples\n\nAll outputs below were captured by running codeglance against the actual repos.\n\n### charmbracelet\u002Fglow — Go CLI (15k⭐)\n\n```\n  codeglance  glow · Go\n  charmbracelet\u002Fglow\n\n── WHAT IS THIS ──────────────────────────────────────────────────────\n  CLI tool (Go) using Cobra\n  Runtime     Go 1.25.9\n  Other        Viper 1.21.0\n\n── HOW TO RUN IT ─────────────────────────────────────────────────────\n  go run .         run main package\n  go build .\u002F...   compile all packages\n  go test .\u002F...    run test suite\n  go vet .\u002F...     run static analysis\n\n── WHERE TO START ────────────────────────────────────────────────────\n  main.go           main package\n  Dockerfile        container definition\n  config_cmd.go     cmd configuration\n  github.go         GitHub integration\n  gitlab.go         GitLab integration\n  url.go            URL parsing\n  ui\u002Fmarkdown.go    Markdown renderer\n\n── TOOLS DETECTED ────────────────────────────────────────────────────\n  CI\u002FCD        GitHub Actions (6 workflows)\n  Container    Docker\n  Linting      golangci-lint\n\n── CODEBASE ──────────────────────────────────────────────────────────\n  Go    25 files  3.6k lines  ███████████████░░░  86%\n  45 files  ·  4.2k lines  ·  4 languages\n```\n\n### expressjs\u002Fexpress — Node.js web framework (65k⭐)\n\n```\n  codeglance  express · Node.js\n  expressjs\u002Fexpress\n\n── WHAT IS THIS ──────────────────────────────────────────────────────\n  Node.js project — ESLint\n  Runtime     Node.js >= 18\n  Pkg manager npm\n  Linting      ESLint 8\n\n── HOW TO RUN IT ─────────────────────────────────────────────────────\n  npm run test       run test suite\n  npm run lint       lint codebase\n\n── WHERE TO START ────────────────────────────────────────────────────\n  lib\u002Fexpress.js       express\n  lib\u002Futils.js         utilities\n  lib\u002Fview.js          view\u002Ftemplate layer\n  lib\u002Fapplication.js   app bootstrap\n  lib\u002Frequest.js       request object\n  lib\u002Fresponse.js      response object\n\n── TOOLS DETECTED ────────────────────────────────────────────────────\n  Testing      (test\u002F)\n  CI\u002FCD        GitHub Actions (4 workflows)\n  Linting      ESLint\n\n── CODEBASE ──────────────────────────────────────────────────────────\n  JavaScript    141 files  21k lines  ███████████████░░░  82%\n  213 files  ·  26k lines  ·  6 languages\n```\n\n### pallets\u002Fflask — Python web framework (68k⭐)\n\n```\n  codeglance  flask · Python\n  pallets\u002Fflask\n\n── WHAT IS THIS ──────────────────────────────────────────────────────\n  CLI tool (Python) using Click\n  Runtime     Python >=3.10\n\n── HOW TO RUN IT ─────────────────────────────────────────────────────\n  pytest         run test suite\n  ruff check .   lint with Ruff\n\n── WHERE TO START ────────────────────────────────────────────────────\n  src\u002Fflask\u002Fapp.py            flask entry\n  src\u002Fflask\u002Fblueprints.py     route blueprints\n  src\u002Fflask\u002Fconfig.py         configuration\n  src\u002Fflask\u002Fglobals.py        global request context\n  src\u002Fflask\u002Flogging.py        logging setup\n  src\u002Fflask\u002Fsessions.py       session management\n\n── TOOLS DETECTED ────────────────────────────────────────────────────\n  Testing      (tests\u002F)\n  CI\u002FCD        GitHub Actions (5 workflows)\n  Linting      Ruff  ·  mypy\n\n── CODEBASE ──────────────────────────────────────────────────────────\n  Python    83 files  18k lines  ██████████░░░░░░░░  53%\n  233 files  ·  35k lines  ·  10 languages\n```\n\n---\n\n## The `--for-ai` mode\n\nRun `codeglance --for-ai` to get a compact, structured LLM context brief. Paste it into Claude, GPT, or Gemini before asking about the codebase. Typically under 300 tokens. No source code.\n\n```markdown\n# Codebase Context: my-saas-app\n\n## Stack\nNext.js 14 with Prisma, tRPC\nRuntime: Node.js >=18 · Package manager: pnpm\n\n## Commands\n- **dev:** `pnpm dev`\n- **build:** `pnpm build`\n- **test:** `pnpm test`\n- **lint:** `pnpm lint`\n\n## Key Files\n- `next.config.ts` — Next.js config\n- `prisma\u002Fschema.prisma` — Prisma data model\n- `src\u002Fserver\u002Frouters\u002Fapp.ts` — tRPC router\n- `src\u002Flib\u002Fdb.ts` — database client\n\n## Libraries\nPrisma, Auth.js, tRPC, Vitest, Playwright\n\n## Infrastructure\nGitHub Actions (1 workflows) · docker-compose\n\n---\n*Generated by codeglance. Heuristic — not exhaustive.*\n```\n\n```bash\ncodeglance --for-ai | pbcopy    # macOS\ncodeglance --for-ai | xclip     # Linux\n```\n\n---\n\n## Install\n\n```bash\nnpx codeglance                        # zero install, works immediately\nnpm install -g codeglance             # install globally\n```\n\n---\n\n## Usage\n\n```bash\ncodeglance [path]                     # analyze current dir or a path\ncodeglance --for-ai                   # compact LLM context brief\ncodeglance --markdown                 # Markdown report\ncodeglance --json                     # machine-readable output\ncodeglance --output docs\u002Ftour.md      # save to file\ncodeglance --no-git                   # skip git analysis (faster on large repos)\n```\n\n### Generate a living onboarding document\n\n```bash\ncodeglance --markdown --output docs\u002Fcodebase-tour.md\n```\n\nCheck it in. Regenerate when the architecture changes. [See the generated output for this repo →](docs\u002Fcodebase-tour.md)\n\nOn GitHub repos, file paths in the \"Where to Start\" section are automatically linked to the actual files on github.com.\n\n---\n\n## Supported ecosystems\n\n| Ecosystem | Manifest | What gets detected |\n|-----------|----------|--------------------|\n| **Node.js** | `package.json` | Next.js, React, Vue, Angular, Svelte, Express, NestJS, Fastify, Prisma, Drizzle, tRPC, GraphQL, Vitest, Jest, Playwright, ESLint, Tailwind — 50+ packages |\n| **Python** | `pyproject.toml`, `requirements.txt` | FastAPI, Django, Flask, SQLAlchemy, Pydantic, Pytest, Ruff, Black, PyTorch, LangChain, Anthropic SDK |\n| **Go** | `go.mod` | Gin, Echo, Fiber, Chi, GORM, Cobra, gRPC, Zap |\n| **Rust** | `Cargo.toml` | Axum, Actix-web, Rocket, Tokio, SQLx, Clap, Serde, Tracing |\n| **C\u002FC++** | `CMakeLists.txt` | GoogleTest, Catch2, Boost, Qt, OpenCV; CMake version and C++ standard |\n| **Java** | `pom.xml`, `build.gradle` | Spring Boot, Spring MVC, Spring Security, Spring Data JPA, Hibernate, Quarkus, Micronaut, Vert.x, JUnit 5, Mockito |\n| **Terraform** | `*.tf` | Cloud providers (AWS, GCP, Azure, Kubernetes, Cloudflare…), module count, resource count; all six standard `terraform` commands |\n\n---\n\n## Why not tokei \u002F scc \u002F repomix?\n\nUse the right tool for the job:\n\n- **tokei \u002F scc** — accurate LOC counts by language. Best when you need raw code size data.\n- **repomix \u002F code2prompt** — pack source code into a file for LLM consumption. Best when you need to feed a full codebase to a model.\n- **codeglance** — repo orientation. Best when you need to understand a repo before you start working with it.\n\n| | codeglance | tokei\u002Fscc | repomix |\n|---|:---:|:---:|:---:|\n| Framework detection | ✓ | ✗ | ✗ |\n| Run\u002Fbuild\u002Ftest commands | ✓ | ✗ | ✗ |\n| Entry points | ✓ | ✗ | ✗ |\n| \"Files to read first\" | ✓ | ✗ | ✗ |\n| CI \u002F Docker \u002F tooling | ✓ | ✗ | ✗ |\n| Language stats | ✓ | ✓ | ✗ |\n| LLM context brief | ✓ | ✗ | ✓ (full source) |\n| Zero config | ✓ | ✓ | ✓ |\n\n---\n\n## Limitations\n\ncodeglance is transparent about what it is and what it is not:\n\n- **Heuristic, not semantic.** It reads manifest files and file structure. It does not parse source code or understand logic.\n- **Framework detection depends on manifests.** Projects without a standard package file (go.mod, package.json, Cargo.toml, pyproject.toml, CMakeLists.txt) produce shallow output.\n- **Mixed-ecosystem repos** (a Python backend + Node.js frontend) are analyzed from the first detected ecosystem. The other ecosystem's files still appear in language stats and WHERE TO START.\n- **Library repos** that are a framework themselves (e.g., fastapi, gin-gonic\u002Fgin) show their own dependencies, not their framework name.\n- **Ruby and PHP are not yet supported.** `.rb` and `.php` files are counted in language stats, but Gemfile and composer.json are not parsed. See [Contributing](#contributing) to add support.\n- **Monorepos** get a single summary, not per-package analysis.\n- **Large repos** are capped at 25,000 files. A note appears in the output.\n- **\"Start here\" ranking is approximate.** Based on file depth, naming patterns, and size — not import graph analysis.\n\n---\n\n## Contributing\n\nEach ecosystem detector is a self-contained module. **Adding a framework takes ~3 lines:**\n\n```typescript\n\u002F\u002F src\u002Fdetectors\u002Fframeworks.ts — add to the relevant array:\nconst NODE_FRAMEWORKS: FrameworkDef[] = [\n  \u002F\u002F ...\n  { name: 'My Framework', category: 'web_framework', keys: ['my-framework-package'] },\n];\n```\n\nAdd a fixture + test, run `npm test`, submit a PR. Full guide: [CONTRIBUTING.md](CONTRIBUTING.md)\n\n**Open contributions:**\n- Ruby\u002FRails detector (Gemfile)\n- PHP\u002FLaravel\u002FSymfony detector (composer.json)\n- Elixir\u002FPhoenix detector (mix.exs)\n- pnpm workspace monorepo detection\n- Python dev server command inference (e.g., `uvicorn` for FastAPI)\n- Improve Rust \"start here\" ranking with workspace support\n- Kotlin\u002FAndroid detector (build.gradle.kts)\n\n---\n\n## Roadmap\n\n**v0.2.0** ✓ — Java\u002FMaven\u002FSpring Boot, Terraform, docker-compose env vars, GitHub hyperlinks in `--markdown`  \n**v0.3** — Ruby, PHP, Kotlin\u002FAndroid, Elixir, monorepo support  \n**v0.4** — `--since` diff mode, import graph analysis  \n**v0.5** — GitHub Action, Homebrew tap, `--watch` mode  \n\nFull roadmap: [ROADMAP.md](ROADMAP.md)\n\n---\n\n## License\n\nMIT — see [LICENSE](LICENSE).\n","codeglance 是一个命令行工具，旨在帮助开发者快速理解任意代码仓库。通过运行一条简单命令，它可以提供项目的框架、运行方式、起始文件等关键信息。该项目使用 TypeScript 编写，支持 Node.js 18 及以上版本，无需安装配置即可直接使用 npx 运行。它特别适用于新加入项目时的快速上手、评估依赖库、重新熟悉旧项目以及为团队成员创建入门文档等场景。与仅统计代码行数或导出源码供AI处理的工具不同，codeglance 专注于提供对项目的概览性理解，包括但不限于项目使用的工具和技术栈。",2,"2026-06-11 04:10:12","CREATED_QUERY"]