{"id":48929858,"url":"https://github.com/nxtg-ai/repoatlas","last_synced_at":"2026-04-17T08:33:17.633Z","repository":{"id":341949174,"uuid":"1172160517","full_name":"nxtg-ai/repoatlas","owner":"nxtg-ai","description":"Portfolio intelligence for AI engineering teams. Scan repos, score health, find cross-project patterns.","archived":false,"fork":false,"pushed_at":"2026-04-13T04:30:20.000Z","size":2267,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-13T05:22:45.037Z","etag":null,"topics":["cli","code-quality","developer-tools","devops","health-scoring","multi-repo","portfolio","python"],"latest_commit_sha":null,"homepage":"https://polar.sh/nxtg-ai/repoatlas","language":"Python","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/nxtg-ai.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","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},"funding":{"github":["nxtg-ai"]}},"created_at":"2026-03-04T02:12:21.000Z","updated_at":"2026-04-13T03:48:48.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/nxtg-ai/repoatlas","commit_stats":null,"previous_names":["nxtg-ai/repoatlas"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/nxtg-ai/repoatlas","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nxtg-ai%2Frepoatlas","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nxtg-ai%2Frepoatlas/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nxtg-ai%2Frepoatlas/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nxtg-ai%2Frepoatlas/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nxtg-ai","download_url":"https://codeload.github.com/nxtg-ai/repoatlas/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nxtg-ai%2Frepoatlas/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31921992,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-16T18:22:33.417Z","status":"online","status_checked_at":"2026-04-17T02:00:06.879Z","response_time":62,"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-quality","developer-tools","devops","health-scoring","multi-repo","portfolio","python"],"created_at":"2026-04-17T08:33:13.850Z","updated_at":"2026-04-17T08:33:17.627Z","avatar_url":"https://github.com/nxtg-ai.png","language":"Python","funding_links":["https://github.com/sponsors/nxtg-ai"],"categories":[],"sub_categories":[],"readme":"# nxtg-atlas\n\n[![PyPI](https://img.shields.io/pypi/v/nxtg-atlas)](https://pypi.org/project/nxtg-atlas/)\n[![Python](https://img.shields.io/pypi/pyversions/nxtg-atlas)](https://pypi.org/project/nxtg-atlas/)\n[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)\n[![Tests](https://img.shields.io/badge/tests-221%20passed-brightgreen)](https://github.com/nxtg-ai/repoatlas/actions)\n\n**Portfolio intelligence for AI engineering teams.**\n\nScan your repos. Score health. Find cross-project patterns nobody else sees.\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"demo/demo.gif\" alt=\"Atlas terminal demo\" width=\"800\"\u003e\n\u003c/p\u003e\n\n```\npip install nxtg-atlas\n```\n\n---\n\n## The Problem\n\nYou manage 5, 10, 20+ repos. Every tool on the market — Cursor, Copilot, Claude Code — works inside a single repo. Nobody sees the full picture:\n\n- Which repos have zero tests?\n- Are your React versions consistent across projects?\n- Where are you duplicating FastAPI patterns instead of sharing them?\n- Which repos haven't been touched in weeks?\n\nYou don't know until something breaks.\n\n## The Solution\n\n```bash\natlas init --name \"My Portfolio\"\natlas add ~/projects/api\natlas add ~/projects/frontend\natlas add ~/projects/ml-pipeline\natlas scan\natlas status\n```\n\n30 seconds. Full portfolio health dashboard. Real data from your repos.\n\n## What You Get\n\n```\n╭───────────────────────  ATLAS Portfolio Dashboard  ─────────────────────────╮\n│                                                                             │\n│  Portfolio: NXTG.AI  |  8 Projects  |  609 Test Files  |  1,251,303 LOC    │\n│  Health: B (82%)  |  Scanned: 2026-03-04T01:15                             │\n│                                                                             │\n╰─────────────────────────────────────────────────────────────────────────────╯\n┌────┬────────────────────┬──────────┬────────┬──────────┬─────────────────────┐\n│    │ Project            │ Health   │  Tests │      LOC │ Tech Stack          │\n├────┼────────────────────┼──────────┼────────┼──────────┼─────────────────────┤\n│ ●  │ Dx3                │  A 94%   │    179 │  164,806 │ Python · TypeScript │\n│ ●  │ content-engine     │  B+ 88%  │     23 │   12,552 │ Python              │\n│ ●  │ Podcast-Pipeline   │  B+ 88%  │     49 │   33,680 │ Python · FastAPI    │\n│ ●  │ nxtg.ai            │  B+ 87%  │     36 │   49,938 │ TypeScript · Next.js│\n│ ●  │ Faultline          │  B+ 86%  │     29 │   15,527 │ TypeScript · React  │\n│ ●  │ voice-jib-jab      │  B+ 86%  │     58 │   45,311 │ TypeScript · Python │\n│ ●  │ SynApps            │  C 67%   │    114 │  793,406 │ Python · TypeScript │\n│ ●  │ NXTG-Forge         │  D 59%   │    121 │  136,083 │ TypeScript · Rust   │\n└────┴────────────────────┴──────────┴────────┴──────────┴─────────────────────┘\n```\n\n*This is real output from scanning 8 production repos. Not a mockup.*\n\n## Features\n\n- **Health scoring** — 4 dimensions (tests, git hygiene, documentation, structure) → A-F grade\n- **Tech stack detection** — Python, TypeScript, Rust, Go, Java + frameworks (FastAPI, React, Next.js, Django, etc.)\n- **Git health** — branch, commit count, dirty state, remote status\n- **Database detection** — PostgreSQL, SQLite, Redis, MongoDB, pgvector\n- **Cross-project intelligence** — shared deps, version mismatches, health gaps\n- **Batch add** — `atlas batch-add ~/projects` adds every repo at once\n- **Export** — markdown and JSON reports for stakeholders\n- **Unlimited projects** — no limits, no tiers, no gates\n\nEverything is free. Everything is open source. No catches.\n\n## What It Detects\n\n| Category | Examples |\n|----------|---------|\n| **Languages** | Python, TypeScript, JavaScript, Rust, Go, Java, Ruby, C++, Swift, Kotlin |\n| **Frameworks** | FastAPI, Django, Flask, React, Next.js, Vue, Express, Tailwind, Vite |\n| **Test Frameworks** | pytest, Vitest, Jest, Playwright |\n| **Databases** | PostgreSQL, SQLite, Redis, MongoDB, pgvector |\n| **CI/CD** | GitHub Actions, GitLab CI, Jenkins, CircleCI |\n| **Infrastructure** | Docker, Kubernetes, Helm, Terraform, Pulumi, AWS CDK |\n| **Cloud** | AWS, GCP, Azure |\n| **Serverless** | Vercel, Netlify, Cloudflare Workers, Fly.io, Render |\n| **Security** | Dependabot, Renovate, Snyk, CodeQL, Bandit, Gitleaks, Trivy, SECURITY.md |\n| **AI/ML** | Anthropic SDK, OpenAI, LangChain, LlamaIndex, Transformers, PyTorch, TensorFlow, scikit-learn, Vercel AI SDK, MLflow, W\u0026B, DVC, ChromaDB, Pinecone, Jupyter |\n| **Code Quality** | Ruff, Flake8, Pylint, ESLint, Biome, Black, Prettier, isort, mypy, Pyright, TypeScript, golangci-lint, Clippy |\n| **Documentation** | README, CLAUDE.md, CHANGELOG, docs/ |\n\n## Health Score Breakdown\n\nEach project scores 0-100% across 4 dimensions:\n\n```\n  Health Breakdown:\n    Tests          █████████████░░  90%\n    Git Hygiene    ██████████████░  99%\n    Documentation  ███████████████  100%\n    Structure      █████████████░░  90%\n```\n\n| Dimension | What It Measures |\n|-----------|-----------------|\n| **Tests** (35%) | Test file count relative to source files |\n| **Git Hygiene** (20%) | Commits, remote, clean working tree |\n| **Documentation** (20%) | README, CLAUDE.md, NEXUS, CHANGELOG, docs/ |\n| **Structure** (25%) | CI/CD, .gitignore, package config, source organization, linting |\n\n## Cross-Project Intelligence\n\nAtlas finds patterns across your repos that no single-repo tool can see:\n\n```\n╭───────────────── Cross-Project Intelligence ──────────────────╮\n│                                                                │\n│  Shared Dependencies                                           │\n│    ℹ  fastapi used across 4 projects                           │\n│    ℹ  react used across 3 projects                             │\n│                                                                │\n│  Version Mismatches                                            │\n│    ⚠  react: ^18.2.0 (app-a), ^19.2.1 (app-b)                 │\n│    ⚠  fastapi: \u003e=0.100.0 (api-v1), \u003e=0.115.9 (api-v2)         │\n│                                                                │\n│  Health Gaps                                                   │\n│    ✖  3 projects have zero tests                               │\n│    ⚠  1 project has 50+ uncommitted changes                    │\n│                                                                │\n╰────────────────────────────────────────────────────────────────╯\n```\n\n## Commands\n\n| Command | Description |\n|---------|-------------|\n| `atlas init` | Create a portfolio |\n| `atlas add \u003cpath\u003e` | Add a project |\n| `atlas scan` | Re-scan all projects |\n| `atlas status` | Portfolio dashboard |\n| `atlas inspect \u003cname\u003e` | Deep-dive on one project |\n| `atlas compare \u003ca\u003e \u003cb\u003e` | Side-by-side project comparison |\n| `atlas remove \u003cname\u003e` | Remove a project |\n| `atlas connections` | Cross-project patterns |\n| `atlas doctor` | Diagnose issues and suggest fixes |\n| `atlas trends` | Show health trends across scans |\n| `atlas ci` | Health gate for CI pipelines (JSON output, exit codes) |\n| `atlas batch-add \u003cdir\u003e` | Add all repos in a directory |\n| `atlas export` | Markdown/JSON report |\n| `atlas config` | View or update configuration |\n| `atlas support` | How to support this project |\n| `atlas reset` | Delete all data |\n\n## Requirements\n\n- Python 3.11+\n- git (for repo detection)\n\n## How It Works\n\nAtlas scans your project directories — no network calls, no cloud, no telemetry. Everything runs locally.\n\n1. **File walking** — counts source and test files, skipping `node_modules`, `.venv`, `target`, etc.\n2. **Config parsing** — reads `pyproject.toml`, `package.json`, `Cargo.toml` for deps and frameworks\n3. **Git inspection** — runs `git log`, `git status`, `git branch` for repo health\n4. **Health scoring** — weighted formula across 4 dimensions → A-F grade\n5. **Cross-project analysis** — compares deps, versions, and patterns across all repos\n\nState lives in `~/.atlas/portfolio.json`. Portable, inspectable, no database.\n\n## FAQ\n\n**Is this open source?**\nYes. MIT license. Every feature is free. No tiers, no gates, no \"upgrade to unlock.\"\n\n**Does it phone home?**\nNo. Zero network calls. No telemetry. No analytics. Your code stays on your machine.\n\n**How fast is it?**\n8 projects with 1.25M lines of code scanned in 31 seconds.\n\n**Does it work with monorepos?**\nEach `atlas add` path is treated as one project. For monorepos, add the root.\n\n**Can I use it in CI?**\nYes. `atlas ci` outputs JSON and exits non-zero on health violations:\n\n```yaml\n# GitHub Actions example\n- run: atlas ci --min-health 70 --min-project-health 50\n```\n\n## Support This Project\n\nAtlas is free and always will be. If it saves you time, consider supporting development:\n\n[Support Atlas →](https://github.com/sponsors/nxtg-ai)\n\nSupporters get their name in `SUPPORTERS.md`, priority GitHub issues, and early access to new features.\n\n## License\n\nMIT\n\n---\n\nBuilt by [NXTG.AI](https://nxtg.ai) — the team behind [NXTG-Forge](https://nxtg.ai/forge).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnxtg-ai%2Frepoatlas","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnxtg-ai%2Frepoatlas","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnxtg-ai%2Frepoatlas/lists"}