Wolfe-Jam/faf-cli
요약
Wolfe-Jam의 faf-cli는 프로젝트의 AI 컨텍스트를 관리하는 새로운 기반 계층입니다. 이 도구는 `project.faf` 파일을 생성하여, 기존의 `package.json`과 함께 코드와 함께 버전 관리됩니다. 이를 통해 AI가 필요한 모든 정보를 항상 가지고 작업할 수 있게 합니다.
핵심 포인트
- 프로젝트의 AI 컨텍스트를 `.faf` 파일로 정의하고 버전 관리합니다.
- GitHub 저장소 등에서 쉽게 실행 가능하며, 설치 없이도 작동합니다.
- 다양한 명령어(예: `faf auto`, `faf score`)를 통해 프로젝트의 AI 준비도를 점수화할 수 있습니다.
- Claude, Gemini 등 주요 LLM에 필요한 컨텍스트 파일을 자동으로 생성하고 동기화합니다.
하나의 .faf 파일 → AGENTS.md · CLAUDE.md · GEMINI.md · .cursorrules,
실제 스택에서 감지하고 점수를 매기며 코드로 버전 관리합니다. 드리프트(drift) 없음. 재설명 불필요.
· npm, PyPI 및 crates.io 전반에 걸쳐 ·
IANA 등록됨 · Anthropic 병합 (#2759)
⭐ 북마크해두고, 다른 개발자들이 찾을 때도 도움을 줍니다.
FAF는 정의합니다. AGENTS.md가 지시하고. AI가 코딩합니다.
project/
├── package.json ← npm이 읽음
├── project.faf ← AI가 읽음
...
모든 빌딩에는 기초가 필요합니다. FAF는 AI의 기반 계층입니다. 당신에게는 package.json이 있습니다.
AI는 당신에게 project.faf를 추가할 것을 요구합니다. 끝.
Git 네이티브. project.faf는 코드와 함께 버전 관리됩니다 — 모든 클론, 모든 포크, 모든 체크아웃에서 완전한 AI 컨텍스트를 얻습니다.
설정 불필요, 드리프트 없음, 재설명 불필요.
bunx faf auto # Bun — 설치 제로, 가장 빠른 경로
npx faf auto # npm — 어디서든 작동
pnpm dlx faf auto # pnpm — 설치 제로
...
인수 없이 faf를 사용하면 프로젝트의 점수를 보여주고; faf auto는 감지하고 채웁니다.
# 모든 GitHub 저장소 — 단 한 번의 얕은 클론, 설치 불필요, 2초
bunx faf-cli git https://github.com/facebook/react
# 자신의 프로젝트
...
인수 없이 faf를 실행하면:
faf-cli가 자체적으로 문서화합니다— project.faf는 소스 DNA이며; CLAUDE.md와 GEMINI.md는 이를 통해 faf에 의해 작성됩니다.
AGENTS.md는 BETTERops 브리핑입니다 (에이전트를 위해 보관됨; faf export --agents를 사용해도 다른 저장소의 AGENTS.md가 작성됩니다).
| 명령어 | 기능 설명 |
|---|---|
faf init | 로컬 프로젝트에서 project.faf 생성 |
faf git <url> | 모든 GitHub 저장소에서 즉시 .faf 파일 생성 (얕은 클론) |
faf auto | 스택 감지, 채울 수 있는 모든 슬롯 채우기 및 점수화 |
faf go | 인간만 입력 가능한 슬롯을 채우기 위한 가이드 인터뷰 |
faf score | AI 준비도 확인 (0–100%) |
faf export | AGENTS.md, CLAUDE.md, GEMINI.md, .cursorrules 작성 |
faf sync | .faf → CLAUDE.md (풀: 트로피 게이팅 백필) |
faf memory | .fafm 소울 ops — Claude 메모리 변환, 각인(etch), 회상(recall), 목록 보기(ls), 표시(show) |
faf diff / log | Git 히스토리 전반에 걸친 의미론적 컨텍스트 차이 및 점수 타임라인 |
faf hooks --install | 컨텍스트 퇴행 방지를 위한 사전 커밋 가드 |
faf compile / decompile | .faf → .fafb v2 봉인된 벽돌; decompile은 섹션을 JSON으로 표시 |
faf check | .faf 파일 유효성 검사 |
faf recover | 기존 CLAUDE.md / AGENTS.md에서 .faf 재구축 |
faf show | project.faf를 탐색 가능한 HTML 페이지로 렌더링 |
faf formats | 지원되는 스택 및 형식 목록 |
전체 명령어 세트와 옵션은 faf --help 실행
IANA 등록된 .fafm 형식의 포터블 에이전트 메모리.
claude-fafm-sdk 1.0과 동일한 상호 운용성(INTEROP)을 가집니다.
# Claude 코드 메모 디렉토리 → soul.fafm
faf memory convert ~/.claude/projects/.../memory -o soul.fafm
faf memory ls # 순위가 매겨진 사실들
...
모든 카드에 대한 하나의 사다리: agent.fafa는 일반 카드를 만들고, project.faf는 FAF의 컨텍스트를 추가합니다.
| 보유한 것 | faf cards가 제공하는 것 |
|---|---|
agent.fafa (더 좋음) | 엔드포인트가 허용하는 일반 카드: A2A 카드, MCP 서버 카드, 레지스트리 항목, AI 카탈로그 및 ARD 행 |
project.faf(최고) | 각 FAF의 컨텍스트가 포함된 동일한 카드|
카드의 정체성은 기존 .fafa에서 나옵니다.
.server.json은 게시될 때 사용했던 이름을 유지합니다. 이름 변경 시 --force를 사용해야 합니다.
패키지 프로젝터는 다음과 동일한 카드를 작성합니다: (faf cards, projectPack, buildPack)
)
.전체 테스트 스위트(full test suite)는 Ubuntu와 macOS뿐만 아니라 Windows에서 매 병합(merge) 전에 실행됩니다.
아무것도 없는 상태에서 단 하나의 명령어로 목록에 올리세요: faf card init은 7가지 질문을 하고 사용자의 agent.fafa, AI Catalog 항목, 그리고 ARD 항목을 작성합니다.
항상-33 엔진(always-33 engine)과 카드들만 추가되었습니다.
npx faf-cli@latest card init # 7가지 질문 → agent.fafa → A2A 카드, AI Catalog, ARD
| 보유한 것 | faf cards가 제공하는 것 |
|---|---|
| Rung | |
agent.fafa | A2A 카드, MCP 서버 카드, 레지스트리, AI Catalog, ARD (엔드포인트에 따라) |
project.faf| 동일한 카드들, FAF 컨텍스트를 포함하여 | 최고 (BEST) |
스크립트는 아무것도 묻지 않습니다: 모든 답변은 플래그(--name, --domain, --url 또는 --package, --skill, --example, --set-version)입니다.** 도움말(Help)은 각 명령어가 무엇을 건드리는지 보여주며,
- ✪ 8.2.0 The Ladder Edition — 모든 카드에 대한 하나의 사다리
- ✪ 8.1.1 SvelteKit 3 전체 읽기 지원 — kit, adapter, Vite 8
- ✪ 8.1.0 The Always33+ Edition — 아무것도 없는 상태에서 한 명령어로 리스팅까지
- ✪ 8.0.1 pnpm 설치 작동 — npm의 faf-scoring-kernel
- ✪ 8.0.0 The Always33 Edition — 하나의 엔진, 하나의 숫자
- 🧱 7.16.2
faf compile
FAFb wire v2를 출력하며 — faf-fafb golden과 동일한 바이트 크기 - 🧭 7.16.1
faf
faf-cli와 다시 보조를 맞추다
- 🧭 7.16.0 The Discoverable Edition
- 🎴 7.15.0 The Pack Edition
- 🛂 7.14.0 The Passport Edition
- 🛡️ 7.13.1 보안: 감지(detection) 읽기가 프로젝트 내에 머무르도록 수정
- 🤝 7.13.0 The Co-Author Edition
- 🧩 7.12.0 The Open Renderers Edition
- 🖥️ 7.11.0 The VS Code Edition
- 📚 7.10.0 The Full-Facts Edition
- 🌱 7.9.0 The Git-Flow Edition
- 🎬 7.8.0 The Projector Edition
- 🐦 7.7.0 The Swift Edition
- 💎 7.6.0 The Ruby Edition
- ☕ 7.5.1 The JVM Edition
AI를 위한 자체 규칙 — "식별자(identifiers)에는 전체 단어 사용", "npm 대신 bun 사용" 등은 project.faf 안에 위치합니다.
ai_instructions.warnings 아래에 있습니다.
이 내용은 모든 AGENTS.md 파일의 맨 위에 기록됩니다.
faf는 원문 그대로, 그리고 비파괴적으로 작성합니다.
→ 사용자 지정 규칙 추가 방법 · docs.faf.one
✪ Trophy 100% — 전부 아니면 무. v6.6.0 이후부터 faf-cli는 Trophy만 권장합니다. FCL에서 100%를 달성하는 것이 상위 레이어(MD 지침, Agents, AI 도구)가 작동하게 만드는 요소입니다. 하위 Trophy 등급은 AI가 추측해야 하는 공백을 남깁니다. 하위 Trophy 티어(Bronze 85 포함)는 정직한 중간 상태로서 사다리에 남아있습니다 — 삭제되는 것이 아니라, 더 이상 목표로 삼지 않는 것일 뿐입니다.
| Tier | Score | Status |
|---|---|---|
| ✪ Trophy | 100% | AI가 추측할 필요 없음 — 목표 |
| ★ Gold | 99%+ | Trophy에서 1단계 부족 |
| ◆ Silver | 95%+ | 근접함 — 계속 노력하세요 |
| ◇ Bronze | 85%+ | 사다리 위에 있음 (이전 권장 최소치였으며, 목표는 아님) |
| ● Green | 70%+ | 중간 단계 — 계속 노력하세요 |
| ● Yellow | 55%+ | AI가 동전을 던지는 상태 |
| ○ Red | <55% | AI가 눈가림으로 작업하는 상태 |
| ♡ White | 0% | 맥락(context)이 전혀 없음 |
Always-33. 점수는 모든 33개의 Mk4 슬롯에 걸쳐 활성화됩니다. 사용자의 앱 유형에 따라 어떤 슬롯이 활성화되는지 결정되며, 나머지는 slotignored 상태입니다.
그리고 표시된 상태를 유지합니다. 같은 파일, 같은 엔진, 같은 번호 — 자세한 내용은 docs/SCORING.md를 참조하세요.
하나의 점수, 세 가지 글리프: ✪ 작업 (CLI · 문서 · 영수증) · 🏆 소셜 (X · 블로그) · 트로피 마크 PNG (브랜드). 진실의 원천: src/core/tiers.ts
sync: .faf ──── 8ms ───→ CLAUDE.md (pull: Trophy-gated backfill)
tri-sync: .faf ──── 8ms ───→ CLAUDE.md + Claude Code's MEMORY.md (Pro: faf의 블록만; Claude의 노트는 유지)
전체 매뉴얼은 docs.faf.one에 있습니다 — 개발자를 위한 사실들, faf-cli가 우선입니다. 한 페이지 개요: faf-cli.vercel.app.
- 시작하기 — 설치 · 실행 · 사용
- 카드 — 하나
.fafa
→ A2A · 서버 카드 · 레지스트리 · AI 카탈로그 · ARD - 사용자 지정 규칙 — AI가 따라야 할 지침 고정
특정 에이전트용: Grok, xAI & Cursor 👀 · Claude Code 👀 · Bun 👀
주요 릴리스 — 전체 기록은 CHANGELOG.md에 있습니다:
v8.0 — Always33— 하나의 엔진, 하나의 번호: 어디서든 동일한 점수.v7.1 — AGENTS.md—faf export --agents
완벽하고 비파괴적인 AGENTS.md를 작성합니다.
.v7.0 — GIT— 컨텍스트가 git 네이티브로 이동합니다:faf diff
/log
/hooks
.v6.16 — Know Your Stack— 방출되는 모든 파일은 스택을 동일하게 레이블링합니다.v6.15 — Copilot—faf export --copilot
GitHub Copilot이 읽는 파일을 작성합니다.v6.14 — Loop—faf loop
모든 저장소를 ✪ 100% 또는 정직한 인간의 벽까지 구동합니다.v6.7 — HTML—faf show
.faf를 탐색 가능한 페이지로 렌더링합니다.*(FAF가 정의하고, AGENTS.md가 지시하며, AI가 코딩하고, HTML이 보여줍니다.)*v6.6 — Trophy— 100% 아니면 아무것도 아닙니다.v6.0 — Bun— 처음부터 다시 작성; 단일 포터블 바이너리, 네 가지 플랫폼.
Bun의 단일 파일 컴파일러는 런타임이 필요 없는 독립 실행형 바이너리를 생성합니다.
bun run compile # 현재 플랫폼
bun run compile:all # darwin-arm64, darwin-x64, linux-x64, windows-x64
CI/CD, Docker 또는 에어 갭 환경을 위해 faf를 단일 바이너리로 배포하세요.
src/
├── cli.ts ← 진입점 (Commander 등록)
├── commands/ ← faf 하위 명령어당 하나의 파일
...
툴체인: Bun (테스트, 빌드, 컴파일) · TypeScript (엄격 모드) · WASM (스코어링 커널)
견고함. 신뢰성. 차세대 WJTTC 테스트 완료 — 파운데이션 에디션.
bun test # 광범위한 WJTTC + e2e 스위트
WJTTC 빌드 복원력 — 회귀 클래스 잠금.WJTTC 커널 스트레스 — WASM 커널 경계 테스트.e2e 라이프사이클 — 순차적인 명령어 실행.
테스트 보고서는 reports/에 있습니다.
.
GitHub Discussions — 질문, 아이디어, 커뮤니티이메일: [email protected]
만약 faf-cli가 유용했다면, 리포지토리에 별점을 주시는 것을 고려해 주세요. 이는 다른 사람들이 이 도구를 찾는 데 도움이 됩니다.
만약 연구나 프로덕션 환경에서 faf-cli 또는 .faf / .fafm / .fafa 형식을 사용한다면, 다음 형식 논문을 인용해 주십시오:
Wolfe, J. (2025).
Format-Driven AI Context Architecture: The .faf Standard for Persistent Project Understanding. Zenodo. https://doi.org/10.5281/zenodo.18251362
Wolfe, J. (2026).
Permanent Memory and Instant Recall: The .fafm Standard for Multi-Profile AI Agent Memory. Zenodo. https://doi.org/10.5281/zenodo.20348942
Wolfe, J. (2026).
Why Agents Need a Passport: .fafa — Portable Identity for the Agentic Era. Zenodo. https://doi.org/10.5281/zenodo.21951641
@article{wolfe2025faf,
title = {Format-Driven AI Context Architecture: The .faf Standard for Persistent Project Understanding},
author = {Wolfe, James},
...
MIT — 자유롭고 오픈 소스
IANA 등록: application/vnd.faf+yaml (Context Layer) · application/vnd.fafm+yaml (Memory Layer) · application/vnd.fafa+yaml (Agent Layer)
*format | driven 🏎️⚡️ wolfejam.dev · faf.one/cli
AI 자동 생성 콘텐츠
본 콘텐츠는 GitHub Claude Ecosystem의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기