awesome-agv
요약
Awesome AGV는 AI 코딩 에이전트의 역량을 향상시키기 위해 설계된 포괄적인 표준 및 관행 세트를 제공합니다. 이 시스템은 안전하고, 방어 가능하며, 유지보수 가능한 코드를 생성하도록 엄격한 규칙과 전문 스킬을 적용합니다. 이는 단순한 코드 생성을 넘어 '생존'하는 코드를 목표로 합니다.
핵심 포인트
- AI 에이전트의 역량 향상을 위한 표준 및 관행 세트 제공
- 25개 보안/신뢰성 규칙, 59개 전문 스킬 등 모듈식 구성 요소 포함
- 원래 Antigravity를 위해 설계되었으나 범용적인 컨텍스트 프로토콜로 구축됨
- 다중 에이전트 오케스트레이션을 위한 4단계 계층 구조의 페르소나 제공

A rugged, high-quality configuration suite for AI Agents.
Getting Started
· View Rules & Skills
· Request Feature
·
Awesome AGV는 AI 코딩 에이전트의 역량을 향상시키기 위해 설계된 포괄적인 표준 및 관행 세트를 제공합니다. 이 시스템은 생성된 코드가 안전하고, 방어 가능하며, 유지보수 가능하도록 보장하는 소프트웨어 엔지니어링 모범 사례에서 추출된 엄격한 규칙들의 집합을 제공합니다. 또한 에이전트가 필요에 따라 로드할 수 있는 전문화된 스킬도 제공합니다.
단순히 작동하는 코드를 생성하는 것을 넘어, 이 규칙과 스킬은 에이전트가 생존하는 코드를 생성하도록 보장합니다.
Awesome AGV는 특정 기술 스택에 대한 의견이 담긴(opinionated) 기본값으로 제공됩니다. 자세한 내용은 Opinionated Technology Choices를 참고하고 사용자 정의 방법을 확인하세요.⚠️ 디자인 자체가 의견을 반영함 (Opinionated by design).
이 구성은 원래 Antigravity를 위해 설계되었지만, 다른 AI 코딩 도구에도 쉽게 이식할 수 있는 표준 markdown 기반 컨텍스트 프로토콜로 구축되었습니다. 사실, 원본 형태인 Technical Constitution은 처음에는 Gemini CLI를 위해 만들어졌습니다. 예를 들어, Rugged Software Manifesto에 기반한 Rugged Software Constitution의 원칙들은 보편적이며 모든 LLM 기반 코딩 어시스턴트의 출력을 향상시킬 것입니다.
- 📏
25개 규칙(Rules)— 보안, 신뢰성, 아키텍처, 유지보수성을 다룹니다. 프로젝트별 결정 사항으로만 추출되었으며 — 이 규칙들은 모델이 이미 알고 있는 것이 아니라 모델 기본 설정을 무효화하는 것을 인코딩합니다. - 🛠️
59개 스킬(Skills)— 필요에 따라 로드되는 전문 기능: 언어 관용구, 디버깅, 설계, 테스트, 성능, CI/CD 등. - 🔄
11개 워크플로우(Workflows)— 연구부터 배포까지의 엔드투엔드 개발 프로세스 및 전문화된 테스트 파이프라인을 포함합니다. - 🤖
21개 에이전트 페르소나(Agent Personas)— 다중 에이전트 오케스트레이션을 위한 전문 하위 에이전트로, 4단계 계층 구조로 배열되어 있습니다. - 🏗️
3계층 로딩 시스템(Three-Tier Loading System)— 항상 활성화된 의무 사항 + 컨텍스트 기반 원칙 + 필요에 따른 스킬을 통해 노이즈 없는 강제 적용을 보장합니다.
💡 모든 것이 모듈식입니다. 규칙(Rules), 스킬(skills), 에이전트(agents), 그리고 워크플로우(workflows)는 독립적으로 작동하므로, 모든 것을 사용할 필요가 없습니다. 필요한 것만 사용하거나, 무엇이든 수정하거나, 자신만의 것을 구축할 수 있습니다. 이것은 프레임워크가 아니라 도구 상자입니다.
AI 에이전트에 이러한 초능력을 장착하려면 다음 단계를 따르세요.
- AI 코딩 어시스턴트 (Antigravity, Roo Code, Cline 등)
- 높은 기준을 적용하고 싶은 프로젝트.
빠른 설치(권장):
npx awesome-agv
이 명령은 대화형 설치 프로그램을 실행하며, 여기서 사용자는 다음 중 하나의 설치 모드를 선택합니다:
| 모드 | 설명 |
|---|---|
| 🚀 Default | 모든 것을 설치합니다 — 전체 무기고(권장) |
| 🎯 Curated | 사용할 언어와 프레임워크를 직접 선택합니다. 핵심 규칙과 스킬은 항상 포함됩니다. |
| ⚙️ Advanced | 모든 구성 요소에 대한 완전한 세분화된 제어권을 제공합니다. |
Curated 모드와 Advanced 모드에서는 설치 프로그램이 go.mod, Cargo.toml, tsconfig.json, pubspec.yaml 등과 같은 파일에서 프로젝트의 기술 스택을 자동으로 감지하고 일치하는 스택을 미리 선택합니다.
CLI 플래그:
| 플래그 | 설명 |
|---|---|
--stacks <list> | 포함할 쉼표로 구분된 스택 (기존 설정에 추가됨) |
--all | 모든 것을 설치합니다 (Default 모드와 동일) |
--force, -f | 기존의 .agents/ 디렉터리를 교체합니다 — 처음부터 다시 프롬프트합니다. |
--help, -h | 도움말을 표시합니다. |
# 대화형으로 실행 — 모드를 선택하세요
npx awesome-agv
# 비대화형: 특정 스택 지정, 핵심은 항상 포함됨
...
수동 설치:
-
이 저장소를 클론하거나
.agents폴더를 프로젝트 루트로 복사합니다.cp -r /path/to/awesome-agv/.agents ./your-project-root/ -
AI 에이전트가
.agents디렉터리에서 읽도록 구성되어 있는지 확인하거나, 시스템 프롬프트의 일부로.agents/rules/**를 수동으로 가져옵니다. (대부분 잘 알려진 AI 코딩 어시스턴트는 기본적으로.agents컨벤션을 따르므로 조치가 필요하지 않습니다.)
설치 후에는 이 저장소의 규칙과 스킬이 에이전트에게 활성화됩니다.
설치 후에는 이 저장소의 규칙과 스킬이 에이전트에게 활성화됩니다.
구성은 노이즈를 최소화하면서 커버리지를 극대화하기 위해 **3단계 로딩 시스템(three-tier loading system)**을 사용합니다:
| 단계 (Tier) | 유형 (Type) | 트리거 (Trigger) | 목적 (Purpose) |
|---|---|---|---|
| 1 | 의무 사항 (Mandates) | always_on | 모든 세션에 로드되는 필수 제약 조건 (보안, 로깅, 코드 완성, 아키텍처). |
| 2 | 원칙 (Principles) | model_decision | 관련 영역에서 작업할 때만 활성화되는 상황별 지침 (예: 데이터베이스 규칙은 쿼리를 작성할 때만 활성화됨). |
| 3 | 스킬 (Skills) | paths: 또는 규칙 참조 | 필요에 따라 깊이 있는 전문 지식 로드 — 소스 파일을 다룰 때 언어 관용구, 파이프라인을 편집할 때 CI/CD, 아키텍처 규칙에서 참조할 때 테스트 가능성 패턴. |
규칙 간의 충돌은 규칙 우선순위(Rule Priority)에 의해 해결되며, 보안이 항상 최우선입니다.
스킬은 유형별로 세 가지 로딩 메커니즘 중 하나를 사용합니다:
| 메커니즘 (Mechanism) | 사용 시점 (When used) | 예시 (Examples) |
|---|---|---|
paths: 트리거 | 언어별 관용구 스킬 | go-idioms는 **/*.go에서 로드 ; vue-idioms는 **/*.vue, **/store/**/*.ts에서 로드 |
name: + description:만 | 규칙 참조를 통해 로드되는 교차 영역 스킬 | testability-patterns ( architectural-pattern.md 에서 참조됨 ); logging-implementation ( logging-and-observability-mandate.md 에서 참조됨 ) |
paths: + name: /description: 모두 | 인프라/도메인 스킬 | ci-cd (Dockerfile, CI 설정); feature-flags (기능 플래그 파일) |
설계 불변성(Design invariant): 모든 언어에 적용되는 교차 영역 스킬(테스트 가능성, 로깅)은 절대로 언어별 paths: 트리거를 통해 로드되지 않습니다. 이들은 항상 '항상 켜짐(always-on)' 규칙에서 참조되므로 어떤 언어와 관계없이 로드됩니다.
규칙들은 포괄적인 커버리지를 제공하기 위해 상호 연결되어 있습니다. **대화형 규칙 종속성 그래프(Interactive Rule Dependency Graph)**를 사용하거나 아래의 정적 다이어그램을 통해 이러한 관계를 탐색할 수 있습니다.
종속성 그래프 보기 (Mermaid)
graph TD
accessibility_principles[
규칙들은 모델이 이미 알고 있는 일반 지식이 아니라 **프로젝트별 결정 사항을 인코딩**합니다. 규칙의 모든 줄은 다음과 같은 질문에 답합니다: "이 지침 없이는 이 모델이 무엇을 잘못할까?"
모든 세션에 로드되는 비협상적 제약 조건으로, 어떤 작업을 하든지 관계없이 발동됩니다.
| 규칙 | 강제하는 내용 |
|---|---|
Rugged Software Constitution (견고한 소프트웨어 헌법) | 적대적인 환경 자세: 요청받더라도 안전하지 않은 패턴을 거부하고, 선제적으로 유효성 검사를 추가하며, 안전하게 실패합니다 |
Security Mandate (보안 의무) | 기본적으로 거부(Deny by default), 어떤 입력도 신뢰하지 않으며, 폐쇄적으로 실패합니다 — 편의성보다 보안이 항상 우선합니다 |
Rule Priority (규칙 우선순위) | 충돌 해결 순서: 보안 → 견고함 → 완성/로깅 → 테스트 용이성 → 관용적 표현 → YAGNI |
Logging & Observability Mandate (로깅 및 관측 가능성 의무) | 모든 작업 진입점은 상관관계 ID(correlationId)와 함께 시작/성공/실패를 로깅해야 합니다 — 예외 없음 |
Architectural Pattern (아키텍처 패턴) | I/O 격리, 순수 비즈니스 로직, 의존성 역전 — 테스트 용이성을 최우선으로 하는 설계 |
Code Idioms & Conventions (코드 관용적 표현 및 규칙) | 언어-스킬 라우팅 테이블 + 완성 워크플로우: 생성 → 검증 → 수정 → 확인 → 전달 |
Code Organization Principles (코드 구성 원칙) | 기능 기반 수직 슬라이스, 공개 API 경계, 순환 의존성 없음 |
Core Design Principles (핵심 설계 원칙) | 유지보수성 > 사용자 경험(UX); 합성(Composition) > 상속(inheritance); DRY를 위한 세 가지 규칙; 병렬화하기 전에 프로파일링 수행 |
Project Structure (프로젝트 구조) | 디렉토리 레이아웃의 단일 진실 공급원 — 계층이 아닌 기능별로 구성 |
Documentation Principles (문서화 원칙) | 코드는 무엇(WHAT)을 보여주고; 주석은 왜(WHY)를 설명하며; 함수 문서는 API 계약에 사용됩니다 |
관련성이 있을 때만 모델에 활성화되며 — 적용되지 않을 때는 오버헤드가 없습니다.
**보안 원칙 (Security Principles)**: 인증(Auth), 권한 부여(authorization), 입력 유효성 검사(input validation), 암호화 연산**오류 처리 원칙 (Error Handling Principles)**: 오류 유형, 복구 전략, 리소스 정리**API 설계 원칙 (API Design Principles)**: REST/HTTP 엔드포인트, 핸들러, 응답 형식 지정**데이터베이스 설계 원칙 (Database Design Principles)**: 스키마(Schemas), 마이그레이션(migrations), 쿼리(queries), 트랜잭션 경계**테스트 전략 (Testing Strategy)**: 피라미드 비율(Pyramid ratios), 명명 규칙, 위치 지정, 테스트 더블(test doubles)**동시성 및 스레딩 원칙 (Concurrency & Threading Principles)**: 레이스 방지(Race prevention), 교착 상태 회피(deadlock avoidance), 메시지 전달**성능 최적화 원칙 (Performance Optimization Principles)**: 프로파일링 우선(Profile-first), 병목 현상 식별**설정 관리 원칙 (Configuration Management Principles)**: 환경 변수, 비밀 정보(secrets), 설정 계층 구조**모니터링 및 경고 원칙 (Monitoring & Alerting Principles)**: 상태 확인(Health checks), 메트릭(metrics), SLI/SLO**리소스 관리 원칙 (Resource Management Principles)**: 파일, 연결, 잠금(locks) — 항상 정리**데이터 직렬화 원칙 (Data Serialization Principles)**: JSON, Protobuf, 경계에서의 유효성 검사**의존성 관리 원칙 (Dependency Management Principles)**: 패키지, 고정(pinning), 라이선스 준수**명령어 실행 원칙 (Command Execution Principles)**: 쉘 명령어, 주입 방지(injection prevention), 비대화형 플래그**접근성 원칙 (Accessibility Principles)**: WCAG 2.1 AA, 시맨틱 HTML, 키보드 탐색**Git 워크플로우 원칙 (Git Workflow Principles)**: 컨벤셔널 커밋(Conventional commits), 브랜치 명명 규칙, PR 위생 관리
스킬은 온디맨드로 로드되는 심층 전문 지식 모듈이며 — 에이전트는 스킬이 관련성이 있을 때만 토큰 비용을 지불합니다.
**디버깅 프로토콜 (Debugging Protocol)**: 오류 해결을 위한 체계적인 가설 기반 접근 방식
**순차적 사고 (Sequential Thinking)**: 순차적 사고 MCP 서버에서 각색된, 반복적인 사고 사슬을 통한 동적이고 성찰적인 문제 해결
**코드 리뷰 (Code Review)**: 전체 규칙 세트에 대한 구조화된 코드 검토 프로토콜
**가드레일 (Guardrails)**: 비행 전 체크리스트 및 구현 후 자체 검토
**ADR**: 아키텍처 결정 기록(Architecture Decision Records) — 맥락과 트레이드오프를 가진 중요한 결정을 문서화하는 방식
**성능 최적화 (Performance Optimization)**: 프로파일 기반 최적화 (pprof, Lighthouse, 번들 분석)
**리팩토링 패턴 (Refactoring Patterns)**: 코드 스멜 분류법, 안전한 변환 기술, 동작 보존
**연구 방법론 (Research Methodology)**: 기술 및 패턴에 대한 구조화된 연구 프로토콜
**Git 커밋 무결성 (Git Commit Integrity)**: 독립적인 커밋별 빌드/린트/테스트 검증, 프리커밋 훅 격리, 안전한 diff 분할
**구조화된 명세 (Structured Spec)**: 요구사항-계약-테스트 추적성을 갖춘 기계가 파싱 가능한 명세 표준 (PRD, SDD, TSD, BDD, ADR, Plan) 및 다중 에이전트 슬라이싱 기능
**테스트 가능성 패턴 (Testability Patterns)**: I/O 격리, 순수 로직(pure logic), 의존성 방향 — Go, TypeScript, Python, Rust, Dart를 아우르는 코드 예시. *`architectural-pattern.md`에서 참조하여 로드됨*
**.로깅 구현 (Logging Implementation)**: 구조화된 로깅 패턴, 로그 레벨, 언어별 라이브러리 (Go slog, pino, structlog), PII(개인 식별 정보) 스크러빙. *`logging-and-observability-mandate.md`에서 참조하여 로드됨*
**.CI/CD**: 파이프라인 설계, 다단계 Docker 빌드, 이미지 스캐닝, SBOM 증명서(attestation), 환경 승격 (Level 0–2)
**CI/CD GitOps & Kubernetes**: ArgoCD, Kubernetes 배포 패턴 — `ci-cd`와 함께 번들됨
**기능 플래그 (Feature Flags)**: 출시 플래그, 비상 차단 스위치(kill switches), 실험 플래그, 라이프사이클 규칙 — PRD 게이팅을 거쳐 필요할 때만 로드되는 방식
**코드 감사 (Code Audit)**: 감사 워크플로우를 위한 참고 자료 — 차원 범위 카드 및 최종 보고서 템플릿. *`audit.md`에서 참조하여 로드됨*
workflow.
**보안 감사 (Security Audit)**: 보안 감사 워크플로우를 위한 참고 자료 — 차원 범위 카드 및 최종 보고서 템플릿. *`security-audit.md`에서 참조하여 로드됨*
workflow.
**테스트 전략 (Testing Strategy)**: 테스트 더블(Test doubles) 전략, 통합 테스트 인프라(Testcontainers, Firebase emulator), 명명 규칙(naming conventions), 테스트 구성 패턴
**모바일 테스트 (Mobile Testing)**: 모바일 E2E 테스트 패턴 — Flutter integration_test, Patrol, Maestro, 골든 테스팅(golden testing), 디바이스 매트릭스(device matrix), 테스트 데이터 관리
**프론트엔드 디자인 (Frontend Design)**: 프로덕션급 프론트엔드 인터페이스, 대담한 미학(bold aesthetics), 타이포그래피, 모션
**모바일 디자인 (Mobile Design)**: Flutter 및 React Native를 위한 플랫폼 네이티브 모바일 인터페이스
**병렬 디스패치 (Parallel Dispatch)**: MECE 작업 분해, 범위 크기 산정(scope sizing), 파일 소유권 강제화(file ownership enforcement), DAG 기반 실행, 도메인 내 병렬 디스패치를 위한 안전한 병합 프로토콜(safe merge protocol). **에이전트 프로토콜 (Agent Protocols)**: 모든 에이전트를 위한 공유 행동 프로토콜: 재귀적 중첩(recursive nesting), 사전 구현 진술(pre-implementation restatement), 에이전트 정의 캐스케이드(agent definition cascade), 병렬 디스패치 형식, 그리고 응답 대상을 지정하는 주소 라우팅을 포함한 완료 보고.
언어별 패턴, 툴링, 프로젝트 레이아웃 및 품질 명령어. 각 스킬은 `paths:`를 통해 자동 로드됩니다:
에이전트가 해당 언어의 파일에 접근할 때 트리거됩니다.
**핵심 스택 (Core stacks) (번들된 프로젝트 구조 참조 포함):**
| 스킬 | 에코시스템 | 자동 로드 시 |
|---|---|---|
| Go Idioms + layout | Go stdlib, error wrapping, table-driven tests, gofumpt | `**/*.go` , `**/go.mod` |
| ... |
**커뮤니티 언어 스킬 (Community language skills):**
| 스킬 | 에코시스템 |
|---|---|
| Angular + layout | Angular components, signals, DI, RxJS |
| ... |
**데이터베이스별 스킬 (Database-specific skills):**
AI 자동 생성 콘텐츠
본 콘텐츠는 GitHub AI Tools의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기