TreeMap
무료 오픈소스 디스크 사용량 시각화 도구로, 사각형 트리맵·중복 파일 탐색·디스크 가득 예측·정리 시 파일을 휴지통으로만 이동한다
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기Personal GitHub portfolio health dashboard — RepoHQ
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
Personal GitHub portfolio intelligence dashboard — health scoring, AI analysis, revenue tracking, lifecycle management, automated weekly intelligence, and an AI agent execution pipeline for every repo you own.README 전문 보기 ↗Personal GitHub portfolio intelligence dashboard — health scoring, AI analysis, revenue tracking, lifecycle management, automated weekly intelligence, and an AI agent execution pipeline for every repo you own.
Live: https://repohq.vercel.app · System overview: start here · Architecture · Roadmap
RepoHQ is one part of a larger system whose goal is products people use and pay for, with near-zero overhead for the owner and no financial risk: a local AI stack with context on every repo, a research center, an idea pipeline that reviews and demand-tests ideas before building them, and a factory that keeps everything healthy. The system overview has the map, the rules and the scorecard.
RepoHQ syncs all your GitHub repos (public + private) and gives you a unified view of your entire portfolio — then acts on it automatically:
factory/), the only thing that writes code, runs it sandboxed on free models and judges every changeDashboard
Repository Matrix
"repos not updated in 6 months with security issues"Repository Detail
gstack Skill Launcher
queue_gstack_skill MCP tool; enabled for repos on the factory allowlist/canary is listed but unavailable: checking a live app needs a browser and network access the factory sandbox doesn't have| Phase | Skills (fix = one judged draft PR, report = findings, no changes) |
|---|---|
| Understand | /investigate (root cause, report), /review (code review, report) |
| Build Quality | /qa-only (find bugs, report), /qa (find + fix bugs, fix) |
| Ship | /ship (implement, fix), /document-release (update docs + CHANGELOG, fix), /cso (fix security alerts: npm audit fix, never --force, in every lockfile; no model) |
| Monitor | /health (code quality score, report), /canary (unavailable) |
| Reflect | /retro (weekly commit analysis, report) |
Agent Execution Pipeline
agent_requests row in Neon plus a BullMQ job; the factory worker takes it next (requests go ahead of scheduled cycles)/cso: the factory runs npm audit fix (never --force) in the root lockfile and every sub-package's, and opens one PR that merges itself once its checks pass. The PR says how many critical and high alerts are left for a breaking upgraderepositories.factory_enabled, on top of factory/factory.config.json). The factory's GitHub App needs access to the repo too: GitHub → Settings → Applications → repohq-factory → Configureagent_skill_report events) store findings; UI shows inline previewAgent Observability
/agent-performance): both workers on the Mac.
Ideas (/ideas, owner only): the idea pipeline's ideas with their research, PRD, roadmap and gstack review.
Portfolio Feed — what happened, newest first: health changes, deployments, new security alerts (the standing count links to Security), dependency cascade risk, agent events
Portfolio Intelligence
/repos/triage) — keyboard-driven bulk lifecycle decisionsIntegrations
factory/) — the only agent executor; see Agentic Execution belowmcp/server.ts) — 14 tools for Claude Code and any MCP-compatible IDEMCP Tools (18)
| Tool | Description |
|---|---|
get_system_overview | The system map (docs/system-overview.md) plus live counts |
search_context | Search repos, ideas, bookmarks and docs (public and personal only) |
get_system_status | What's failing now across every system, counts per system, latest events |
get_idea_pipeline | Ideas by stage, demand tests against the decision rules; one idea with visitors by source and launch posts |
get_portfolio_summary | Score, grade, top advisor actions, focused repos |
get_repo_context | Full context: health, lifecycle, tech debt, deployments |
get_portfolio_warnings | Failing builds, security alerts, low-health repos |
get_top_opportunities | Repos ranked by opportunity score |
get_active_goals | Goals with progress and deadlines |
get_coding_brief | Session-start doc: health, in-flight PRs, attempt history, last skill report findings |
get_next_action | Top ROI task; skips open PRs + dead ends; includes confidence line |
log_session_complete | Records what was accomplished |
get_active_work | Open agent PRs per repo or portfolio-wide; safe-to-start flag |
log_attempt | Records attempt outcome (success/failed/partial); feeds dead-end detection |
get_accuracy_report | Advisor calibration table by action type + downgraded repos |
queue_gstack_skill | Queue one of the 8 skills for the factory on an allowlisted repo; returns taskId |
get_skill_history | Recent skill run history for a repo (prose-formatted) |
get_skill_findings | Structured JSON findings from most recent skill run + suggestedNextSkill |
BYOK (Bring Your Own Key) — Settings → AI Provider: OpenRouter (free models) or Gemini (free tier) by default. Claude (Anthropic) and GPT-4o (OpenAI) bill per call, so they're off unless LLM_ALLOW_PAID=1.
Public Portfolio
/u/[github-username] — public view (opt-in in Settings)/u/[username]/resume — print-friendly portfolio/u/[username]/report/2026-q2 — quarterly report with AI commentary| Layer | Technology |
|---|---|
| Framework | Next.js 16 (App Router, Turbopack) |
| Language | TypeScript |
| Styling | Tailwind CSS 4, shadcn/ui (Radix) |
| Table | TanStack Table v8 |
| Data fetching | TanStack Query v5 |
| Charts | Recharts |
| Database | PostgreSQL (Neon serverless HTTP) |
| ORM | Drizzle ORM |
| Auth | Auth.js v5 (GitHub OAuth, DrizzleAdapter) |
| AI | OpenRouter free models and Gemini's free tier by default; Claude and OpenAI with LLM_ALLOW_PAID=1 (BYOK) |
| Hosting | Vercel |
| Crons | GitHub Actions (primary) + Vercel weekly fallback |
| Revenue | Stripe REST API (restricted key, no SDK) |
| IDE | MCP Server (stdio, @modelcontextprotocol/sdk) |
| Agent Execution | The factory: BullMQ on Redis (Render Key Value) + a worker on the owner's Mac (Docker sandbox, LiteLLM/Ollama) |
| Service | What you need | Link |
|---|---|---|
| Neon | PostgreSQL database connection string | neon.tech |
| GitHub OAuth App | Client ID + Secret | github.com/settings/developers |
| OpenRouter (or Gemini) | API key for free models | openrouter.ai/keys · aistudio.google.com |
GitHub OAuth App settings:
https://your-app.vercel.apphttps://your-app.vercel.app/api/auth/callback/githubFor local development, create a second OAuth App with http://localhost:3000 URLs.
git clone https://github.com/smithdavedesign/Github-HQ.git repohq
cd repohq
npm install
cp .env.example .env.local
.env.localDATABASE_URL=postgresql://... # Neon connection string
GITHUB_CLIENT_ID= # Local OAuth App
GITHUB_CLIENT_SECRET=
AUTH_SECRET=$(openssl rand -base64 32)
OPENROUTER_API_KEY=sk-or-... # free models (or GEMINI_API_KEY); paid providers need LLM_ALLOW_PAID=1
CRON_SECRET=$(openssl rand -hex 32)
NEXTAUTH_URL=http://localhost:3000
npm run db:push # Push Drizzle schema to Neon
npm run dev
Open localhost:3000, sign in with GitHub, click Sync.
vercel --prod
# Or use the Deploy button at the top of this README
Set all env vars in Vercel → Project → Settings → Environment Variables. Set NEXTAUTH_URL to your production URL.
Add CRON_SECRET to your GitHub repo → Settings → Secrets → Actions. The workflows in .github/workflows/ trigger automatically:
In Settings → Revenue Integration, add a restricted Stripe key with Subscriptions + Products read access.
The factory runs on your own machine (it needs Docker and a local model gateway). Set it up with
factory/README.md, then add to Vercel and .env.local:
REDIS_URL=rediss://... # the agent-hq-redis Key Value from render.yaml
FACTORY_USER_ID=your-user-id # the same id as in ~/.repohq-factory/env
The gstack Skill Launcher and Run Agent buttons activate for repos on the factory allowlist
(factory/factory.config.json). Without FACTORY_USER_ID they show why they are off. Without
REDIS_URL, requests still queue in Neon and the worker picks them up at its next cycle.
security impact → /investigatehealth / opportunity / revenue impact → /shipgstack-allow:ship,investigategstack-allow:all (or omit tag) allows default behavior.REPO_GSTACK_SKILL_ALLOWLIST_JSON={"owner/repo":["ship","investigate"]}
Env override takes precedence over repo tags.
Auto-dispatch now applies tiered safety rules before queueing advisor actions:
report-only: always allowed except archived repos.analyze+fix: allowed for lifecycle stages building, beta, production, growing, maintaining; requires at least medium confidence.high-risk: allowed for beta, production, growing, maintaining; requires high confidence.Confidence is derived from per-impact historical accuracy signal (successRate + minimum data points).
report-only, analyze+fix) auto-run by default once lifecycle + confidence gates pass.gstack-optin:high-riskREPO_GSTACK_HIGH_RISK_OPT_IN_JSON={"owner/repo":true}// Add to ~/.claude/claude.json
{
"mcpServers": {
"repohq": {
"command": "npx",
"args": ["tsx", "/path/to/repohq/mcp/server.ts"],
"env": {
"DATABASE_URL": "your-neon-url",
"MCP_USER_ID": "your-user-id"
}
}
}
}
See mcp/README.md for full setup and tool reference.
The core thesis: RepoHQ has Find, Prioritize, and Measure. The factory adds Execute — the loop closing.
The factory (factory/) is the only thing that writes code (PRD, roadmap Phase 81). It replaced the AI-Took-My-Job (Nexus) executor. When you click "Run Agent" or launch a skill:
agent_requests row (queued) and an agent_task_queued event, and adds a BullMQ job to the factory queue on Redisfactory/worker.ts, under launchd on the owner's Mac) claims the row and runs one cycle for that repo: clone, sandboxed install and checks, the model ladder (free models first), Judge v2 and an adversarial reviewagent_pr_created (fix skills, a draft PR once owner-requested is promoted to pr), verified (judged and held at stage report), agent_skill_report (report skills, with findings), or agent_execution_failed/api/agent-task-status?taskId=...Request states: queued → running → pr | verified | reported | rejected | failed, or cancelled while queued. A request waiting for the Mac (asleep, on battery, Docker down) stays queued, with the reason when the worker deferred it; nothing is re-routed to a paid model.
Auto-dispatch: Enable in Settings → Agent Auto-Dispatch. Every Monday the advisor queues eligible actions for the factory. Controls: effort gate (quick / quick+medium / all), max tasks per week (1–10), skip security tasks, minimum accuracy threshold.
No auto-chaining and no CI-fix loop: the factory runs the repo's checks before it opens a PR. A PR that still fails CI is flagged needs human with a notification; you decide what runs next. Like any open agent PR, it blocks new requests on its repo until it's merged or closed.
Neon is the source of truth and Redis only wakes the worker: a lost job is re-queued from the row. See docs/autonomous-factory.md for the factory design and factory/README.md for the operator guide. What the move off Nexus's Render workers costs (above all: requests wait for the Mac, and run on free models), and what to do about it, is in docs/agent-hq-tradeoffs.md.
gstack is a Claude Code skill framework providing specialised agent workflows (/ship, /investigate, /qa, etc.). RepoHQ keeps its skill names and lifecycle phases; the factory runs each skill as a fix or report task with its own guidance (factory/lib/tasks.ts). G1–G6 (Claude Code CLI with gstack scripts, learnings, checkpoint mode, the brief in CLAUDE.md, the skill router) ran in the Nexus worker and retired with it.
The scripts in tests/integration/ are manual checks that run a skill-style prompt against this codebase with the Claude Code CLI (paid, outside the factory). Run from the project root:
bash tests/integration/gstack-security-check.sh # /investigate — security
bash tests/integration/gstack-health-check.sh # /health — code quality
bash tests/integration/gstack-review-check.sh # /review — code review
bash tests/integration/gstack-qa-only-check.sh # /qa-only — bug hunt
bash tests/integration/gstack-retro-check.sh # /retro — weekly analysis
See the gstack Integration Roadmap for the history.
npm test # Vitest unit tests (1,100+ tests, 68 files)
npm run test:e2e # Playwright e2e on a throwaway Neon branch (needs the Neon CLI logged in)
npm run test:all # both
npm run typecheck # TypeScript strict check
docker compose --profile flow up -d # throwaway Postgres + Redis for the flow tests
npm run test:flow # the Agent HQ flow end to end: app → queue → real worker → Neon
npm run test:flow:e2e # the same in the browser (next dev + the worker)
The flow tests (tests/flow) validate the one-agent-system migration with nothing mocked but the session and the job itself: the factory migration lands on the db:push schema, Run agent writes the request and its BullMQ job, the real worker claims, gates, runs, defers, retries and resolves it, and the status API and the Agents page show the outcome and its trace. They run on a disposable database (never .env.local's) and in CI on every pull request.
Unit tests cover: health scoring, opportunity scoring, archive scoring, valuation, portfolio score, simulation engine, opportunity cost, event computation, NL query filters, LLM adapter, notifications, MCP tools, advisor accuracy, agent lifecycle, provider mapping, auto-dispatch filter logic, cache TTL, security fixes, gstack skill policy, skill report logic, factory queue access, the factory worker and its policies, the Agents page, and more.
Integration scripts (tests/integration/) run gstack-style skill prompts against the RepoHQ codebase via Claude Code CLI and check the JSON report shape they ask for (nexus-agent-output-v1, kept from the Nexus era).
npm run dev # Development server
npm run build # Production build
npm run typecheck # tsc --noEmit
npm run lint # next lint
npm run db:push # Push Drizzle schema to Neon
npm run db:generate # Generate migration files
ai-stack-docs repo)