bigpowers — 최고 수준의 에이전트 기술
License: MIT
npm version
Skills
에이전트 기술은 클린 코드(Clean Code)부터 AI 네이티브 아키텍처까지 17년간의 소프트웨어 엔지니어링 학문을 하나의 처방식 방법론으로 통합했습니다. 이는 독학 개발자들을 위한 것입니다.
bigpowers는 AI 에이전트(Claude Code, Gemini CLI, Cursor, pi)를 사용하여 소프트웨어를 구축하기 위한 처방식 수직 슬라이스(vertical-slice) 방법론을 제공합니다. 이는 순수한 LLM 기능과 전문 엔지니어링 표준 사이의 격차를 해소합니다.
이것은 무작위로 모인 모범 사례들의 집합이 아닙니다. 이것은 시간 순서대로 쌓아 올린 아이디어의 레이어 케이크입니다. 각 사고 단계(Uncle Bob → Ousterhout → Karpathy → Wasowski → Akita)는 이전 단계에서 발생한 긴장 관계를 기반으로 구축하고 해소하며, 궁극적으로 하드 게이트(hard gates), 94% 품질 임계값, 그리고 세션 전반에 걸쳐 인간과 에이전트 모두를 정렬 상태로 유지하는 YAML 코크핏(specs/state.yaml)을 갖춘 6단계 라이프사이클로 절정에 이릅니다.
npm에 게시됨: bigpowers. 위의 배지(badge)의 기술 개수는 sync-skills.sh에 의해 자동으로 찍히며, 표준 카탈로그는 SKILL-INDEX.md입니다.
문서(Docs): bigpowers docs site — 모든 기술, 가이드 및 ADR에 대한 검색 가능하고 Google에서 발견 가능한 참고 자료입니다.
이 방법론은 자체적인 증거를 게시합니다 — 실시간 영수증 페이지를 확인하세요.
작동하는 모습 보기: bigpowers-showcase — 첫날부터 전체 사양 추적(spec trail)이 커밋된, 실제 URL 단축기(CLI + SQLite)입니다.
🗺 이 README를 읽는 방법
이 README는 참고 자료의 벽이 아니라 안내된 경로입니다. 현재 위치에서 시작하세요:
설치 후, 에이전트에게 using-bigpowers 기술을 실행하도록 요청하세요. 이것은 라이프사이클을 설명하고 현재 상황에서 어떤 기술을 먼저 호출해야 하는지 알려주는 일회성 부트스트랩(bootstrap)입니다.
🚀 빠른 시작
npm (권장)
pm install -g bigpowers@latest
bigpowers setup
...
두 명령어 모두 스킬 아티팩트를 동기화하고 이를 Claude Code, Gemini CLI, 그리고 Cursor에 연결합니다(사전 준비 사항 참조).
항상 @latest를 고정하세요. bigpowers가 이미 전역으로 설치된 상태에서, 단순히 npx bigpowers setup을 실행하면 오래된 전역 바이너리를 재사용하게 되며, npm update -g bigpowers는 최신 릴리스로 안정적으로 전환되지 않습니다. npm install -g bigpowers@latest와 npx bigpowers@latest setup은 매번 레지스트리 가져오기(fetch)를 강제합니다.
대화형 설치 프로그램 (Interactive Installer)
npx bigpowers setup 명령어는 다음을 수행할 수 있는 대화형 메뉴를 실행합니다:
- 설치 모드 선택: 설정/업데이트 또는 제거
- 위치 선택: 전역(어디서든 사용 가능) 또는 로컬(현재 프로젝트만)
- 도구 선택: 스킬을 설치할 AI 도구 선택 (Claude Code, Cursor, Gemini, pi 등)
- 확인: 설치 내용을 검토하고 확인
탐색은 화살표 키를 사용하고, 선택은 스페이스바를, 확인은 **엔터(Enter)**를 사용하세요.
Interactive Installer
이전 릴리스의 스크린샷입니다. 현재 설치 프로그램은 다를 수 있습니다.
소스 코드로부터 설치 (기여자용)
git clone https://github.com/danielvm-git/bigpowers.git && cd bigpowers
npm install
bash scripts/install.sh
🛠 사전 준비 사항 (Prerequisites)
- Bash: 모든 스크립트에 필요합니다.
- Node.js: v14 이상 (npm/npx에 필요).
- jq: (강력 권장) 도구 설정을 안정적으로 구성하는 데 사용됩니다.
- AI 도구: 다음 중 하나 이상:
✨ 기능 (Features)
- 목적 기반 스킬(Purpose-Built Skills):
survey-context부터 develop-tdd까지, 각 스킬은 특정 개발 단계에 맞춰진 목표형 도구입니다. 전체 자동 생성 카탈로그는 SKILL-INDEX.md를 참조하세요.
- 명세 기반 작업 공간(Spec-Driven Cockpit):
specs/state.yaml과 release-plan.yaml을 사용하여 에이전트 세션 전반에 걸쳐 상태를 유지하고, 컨텍스트 드리프트(context drift)를 방지합니다.
- 네이티브 IDE 지원(Native IDE Support): Cursor (
.cursor/rules), Gemini CLI, pi용 설정을 자동으로 생성합니다.
- 모델 컨텍스트 프로토콜 (Model Context Protocol, MCP): 포함된 MCP 서버를 통해 동적 도구 검색 및 호출을 수행합니다.
- 내장 품질 게이트(Built-in Quality Gates): 코드가 병합되기 전에 엄격한 검증 표준(예: F.I.R.S.T 테스트, BCP 회계)이 적용됩니다.
🏗 v2.0.0 라이프사이클 (The v2.0.0 Lifecycle)
모든 프로젝트는 orchestrate-project 6단계 모델을 따릅니다 (전체 표준 운영 절차(SOP): docs/WORKFLOW-SOP-v2.md):
ONE TIME seed-conventions (CLAUDE.md, .claude/, .gemini/, agents/, skill sync)
↓
ONCE/PROJECT orchestrate-project
...
Semver: 프로젝트는 0.0.0-β로 시작하며, 각 feat: 스토리마다 마이너 버전이 증가하고, 개발자가 MVP를 선언하면 1.0.0이 됩니다.
BCP 회계(accounting): 모든 작업은 [BCP N]으로 레이블링되며, 스토리 총합은 state.yaml에 기록되고, BCP/시간(hr)은 specs/metrics/cycle-times.yaml에 기록됩니다.
다음 스킬 신호(next_skill signaling): 각 중요 경로(critical-path) 스킬은 state.yaml에 handoff.next_skill을 작성합니다. 중단 후에는 언제든지 survey-context를 호출하여 이전에 작업하던 지점부터 정확히 재개할 수 있습니다.
🧠 철학적 스택(Philosophical Stack) — 아이디어의 연결 방식
bigpowers는 단순한 영향력 목록이 아닙니다. 이는 **연대기적 레이어 케이크(chronological layer cake)**와 같습니다. 사고의 각 물결은 이전 것 위에 구축되며, 이전 것이 야기했던 긴장 관계를 해소합니다. 어떤 층도 이전 층을 대체하지 않으며, 각각은 이전 단계가 만들어낸 문제를 해결합니다.
Philosophy Diagram
| 시대 | 출처 | 기여 내용 | 해결된 긴장 요소 |
|---|
| 2008 | Uncle Bob (Clean Code) | SRP, Boy Scout Rule, F.I.R.S.T. tests, 의도 명시적 이름(intention-revealing names) | — (기반) |
| ... | | | |
실제 동작에서 연결(Concatenation) 확인하기
각 철학적 기둥(pillar)에는 specs/verifications/features/에 해당하는 Gherkin .feature 파일이 있어 준수 여부를 경험적으로 증명합니다:
| 기둥 | 검증 항목 |
|---|
| 고전적인 장인 정신 (Classical Craftsmanship) | cleancode.feature |
| ... | |
npm run compliance를 실행하여 모든 기능을 감사(audit)합니다. 점수가 94% 미만일 경우 = 중단(hard stop) 처리됩니다. | |
📖 진실의 계층 구조 (Hierarchy of Truth)
| 레벨 | 문서 | 책임 범위 |
|---|
| 비전 (Vision) | docs/PRINCIPLES.md | 철학적 기반 및 발전 방향. |
| ... | | |
📁 프로젝트 구조 (Project Structure)
skills/[skill-name]/: 각 80개 스킬의 소스 파일입니다.
scripts/: 설치, 동기화(syncing), 및 준수 도구입니다.
specs/: YAML 코크핏 — state.yaml, release-plan.yaml, epics/, execution-status.yaml, requirements/.
specs/metrics/: 사이클 시간 원장 (cycle-times.yaml) — 스토리별 BCP, 타임스탬프, BCP/시간 (v2.0.0).
dashboard/: 실시간 모니터링 도구 — TUI (npm run dashboard) 및 웹 (npm run dashboard:web, 포트 7742).
docs/: WORKFLOW-SOP-v2.md (전체 SDLC SOP) 및 using-bigpowers.md를 포함한 가이드 문서.
docs/references/: 이론적 기반 자료 (Uncle Bob, Ousterhout, Karpathy 등).
🔌 pi 지원 (pi Support)
bigpowers는 sync-skills.sh를 통해 Cursor 및 Gemini 아티팩트와 함께 pi Agent Skills 및 프롬프트 템플릿을 생성합니다.
pi 패키지로 설치하기
cd bigpowers
bash scripts/sync-skills.sh
...
소비자 프로젝트 프로비저닝 (bigpowers init)
pi의 패키지 계약(package contract)은 스킬(skills)과 프롬프트(prompts)만 등록하며 임의의 프로젝트 파일에 대한 리소스 유형은 없습니다. 또한, 설치 시 실행되는 라이프사이클 스크립트도 없습니다. 스킬은 패키지의 scripts/*.sh 툴링을 프로젝트 상대 경로로 참조합니다 (예: bash scripts/run-skill-verify.sh, test -f scripts/... && test -d specs/bugs와 같은 검증 게이트). 따라서 패키지를 설치한 후, 스킬이 예상하는 환경을 구성하기 위해 사용자 프로젝트당 하나의 명령어를 실행해야 합니다:
cd <your-project>
npx bigpowers init
이 명령어는 <project>/scripts를 설치된 패키지의 scripts/ 트리로 심볼릭 링크(symlinks)하고, specs/bugs/와 specs/verifications/ 디렉토리를 생성합니다. 이미 존재하는 scripts/ 폴더는 덮어쓰지 않으며(never clobbers), bigpowers init --remove 명령어로 이를 되돌릴 수 있습니다. 이 단계는 npm i -g bigpowers 또는 npx bigpowers setup을 사용하는 소비자에게도 동일하게 적용됩니다.
얻게 되는 것:
.pi/skills/에 pi 스킬(pi skills) (SKILL.md당 하나) — <available_skills>로 pi의 시스템 프롬프트에 자동으로 로드됩니다.
.pi/prompts/에 pi 프롬프트 템플릿(pi prompt templates) — /survey-context, /plan-work와 같은 슬래시 명령어입니다.
.pi/package.json에 pi 패키지 매니페스트(pi package manifest) — 자동 검색을 통해 pi install 기능을 활성화합니다.
스킬은 점진적 공개(progressive disclosure) 방식을 통해 온디맨드(on-demand)로 로드됩니다. 항상 컨텍스트에는 설명만 포함되며, 전체 SKILL.md는 에이전트가 이를 읽을 때 로드됩니다. 프롬프트 템플릿은 pi의 편집기에서 자동 완성 기능을 사용하여 확장됩니다.
🔧 MCP 서버 (Model Context Protocol)
bigpowers는 스킬 카탈로그를 호출 가능한 MCP 도구(MCP tools)로 노출하는 MCP 서버(scripts/mcp-server.js)를 포함하고 있습니다. 이를 통해 에이전트는 정적인 시스템 프롬프트에 의존하기보다 동적으로 스킬을 검색하고 호출할 수 있습니다. 이 서버는 에이전트에 등록할 때까지 활성화되지 않습니다. 아래를 참조하십시오.
서버 시작
node scripts/mcp-server.js
Claude Code에 추가하기
claude mcp add bigpowers node /path/to/bigpowers/scripts/mcp-server.js
또는 .claude/settings.json에 수동으로 추가할 수 있습니다:
{
"mcpServers": {
"bigpowers": {
...
사용 가능한 MCP 도구
| Tool | Description |
|---|
bigpowers_list_skills | 이름, 설명, 단계(phase)를 가진 모든 스킬을 나열합니다. 선택적 phase 필터가 있습니다. |
| ... | |
🔄 유지보수 (업데이트 및 제거)
업데이트
npm install:
bigpowers update는 이제 bigpowers가 전역으로 설치된 경우 npm install -g bigpowers@latest를 실행합니다. 따라서 이것만 실행해도 최신 릴리스에 도달하기 충분합니다. 수동으로 진행하는 것을 선호하십니까? npm install -g bigpowers@latest && bigpowers update를 사용하세요. (주의: npm update -g bigpowers는 @latest로 안정적으로 전환하지 못합니다.)
git clone:
git pull
npm run sync
bash scripts/install.sh
pi package (설정 파일 ~/.pi/agent/settings.json → packages를 통해 설치):
설치는 심볼릭 링크(symlinks)를 사용합니다 — 설정을 다시 실행하면 파일을 중복 생성하지 않고도 링크를 새로 고칠 수 있습니다.
제거 (Uninstall)
npm install:
bash "$(npm root -g)/bigpowers/scripts/install.sh" --uninstall
npm uninstall -g bigpowers
git clone:
bash scripts/install.sh --uninstall
재설치 (Reinstall)
npx bigpowers@latest setup
bigpowers update
🧪 개발 (Development)
git clone https://github.com/danielvm-git/bigpowers.git
cd bigpowers
npm install
...
테스트 (Tests)
🤝 기여 (Contributing)
- 리포지토리(repo)를 포크합니다.
- 기능 브랜치(
git checkout -b feature/my-thing)를 생성합니다.
bigpowers 방법론을 사용하여 변경 사항을 만듭니다.
- 컨벤셔널 커밋(Conventional Commits)을 사용해 커밋합니다 (
git commit -am 'feat: add my thing').
- 브랜치로 푸시합니다 (
git push origin feature/my-thing).
- 풀 리퀘스트(Pull Request)를 엽니다.
변경 로그 (Changelog)
자동 생성된 커밋 기록은 CHANGELOG.md를 참조하거나, GitHub 릴리스 노트는 Releases에서 확인하세요.
프로젝트의 역사에 대한 요약 보고서(총 41일 동안 4단계, 19개의 에픽을 포함하여 98개 릴리스)는 RELEASE-HISTORY.md를 읽어보세요.
링크
🙏 감사 인사(Acknowledgements)
이 프로젝트는 수십 년간의 소프트웨어 엔지니어링 사상의 집대성입니다. 이 방법론을 형성하는 데 영감을 준 기사 및 책을 작성한 저자들의 기초 작업 없이는 불가능했을 것입니다: