Standard Workflow for Any Project
Works with TypeScript, Python, Rust, Go, and more
"README first, .faf second, code third."
You can't generate meaningful AI context from an empty repository. Start with what you're building, then add context, then code.
Prerequisites: Install faf-cli
npm install -g faf-cliWrite a README that answers:
# Example README.md
# My Awesome CLI
A command-line tool for managing project tasks efficiently.
## Why
Tired of juggling multiple task managers? This CLI brings everything into your terminal.
## Installation
```bash
npm install -g my-awesome-cli
```
## Usage
```bash
my-cli add "Write documentation"
my-cli list
``` Create your language-specific configuration:
# For TypeScript/JavaScript:
npm init -y
# For Python:
poetry init # or create pyproject.toml
# For Rust:
cargo init
# For Go:
go mod init github.com/user/project This gives faf-cli the context it needs to detect:
cd your-project
faf init What happens:
Output:
✓ Generated project.faf (42% - 9/21 slots filled)
Missing context:
- Database (if applicable)
- CI/CD pipeline
- Hosting platform
Run `faf go` to improve your score! git add README.md package.json project.faf
git commit -m "Add project foundation
- README defines purpose and usage
- package.json defines dependencies
- project.faf provides AI context (42%)
AI-ready before first line of code." Why commit now:
Now write your actual implementation:
src/
index.ts
cli.ts
commands/
tests/
cli.test.ts Benefits:
After significant development, let Turbo-Cat discover what you've built:
faf auto What it does:
Example discoveries:
✓ Found: vitest.config.ts → Testing: Vitest
✓ Found: .github/workflows → CI/CD: GitHub Actions
✓ Found: vercel.json → Hosting: Vercel
Updated project.faf (78% - 16/21 slots filled)Before release, fill remaining gaps through interactive Q&A:
faf go Interactive questions:
? What database does this project use?
› PostgreSQL
MongoDB
None
? Where is this deployed?
› Vercel
AWS
Self-hosted
? Who is the primary audience?
› Developers
End users
Internal team Periodically update as your project evolves:
# After adding new features
faf auto
# Before releases
faf go Your project.faf stays synchronized with your codebase.
| Stage | Score | Tier | Meaning |
|---|---|---|---|
After faf init | 30-50% | 🟡 Yellow | Honest baseline |
After faf auto | 70-85% | 🥉 Bronze | Production-ready |
After faf go | 85-100% | 🥇 Gold / 🏆 Trophy | Excellent / Perfect |
# Write 1000 lines of code...
git commit -m "Initial implementation"
# Then try to add docs
echo "# Project" > README.md
faf init # Score: 15% 😞 Problem: Low score, missed context during development
mkdir new-project && cd new-project
git init
faf init # Score: 0% - Nothing to extract! Problem: Can't extract WHO/WHAT/WHY from empty repo
faf init # 6 months ago...
# Add Vite, Vitest, Vercel, tests...
# Never run faf auto
# project.faf still shows 42% (outdated!) Problem: Stale context doesn't reflect current project
# 1. README (WHO/WHAT/WHY)
echo "# My CLI Tool\n\nManages tasks efficiently..." > README.md
# 2. Structure
npm init -y
# 3. Generate .faf (42%)
faf init
# 4. Commit foundation
git commit -m "Add project foundation"
# 5. Build (weeks of work...)
# ...code, tests, configs...
# 6. Update context (78%)
faf auto
# 7. Refine before v1.0 (100%)
faf go Result: Perfect context from day 1, grows with your project
# Setup
npm init -y
npm install typescript @types/node
# Generate
faf init
# Detects: TypeScript, npm, Node.js# Setup
poetry init
# Generate
faf init
# Detects: Python, poetry# Setup
cargo init
# Generate
faf init
# Detects: Rust, cargo, Native runtime# Setup
go mod init github.com/user/project
# Generate
faf init
# Detects: Go, go modulesQ: When exactly should I run faf init?
A: After you have a README and basic structure (package.json, Cargo.toml, etc.), but before writing implementation code. This gives you 30-50% initial context.
Q: Can I edit project.faf manually?
A: Yes! It's just YAML. But faf go provides a nicer interactive UI.
Q: Do I need CLAUDE.md?
A: No. project.faf works with ALL AIs. CLAUDE.md is optional for Claude-specific prose.
Q: How often should I run faf auto?
A: After significant changes (new frameworks, deployment setup, testing added). Usually once mid-development and before releases.
faf initfaf auto to detect new contextfaf go to reach 85%+| Command | When | Purpose |
|---|---|---|
faf init | After README + structure | Generate initial project.faf (30-50%) |
faf auto | Mid-development | Auto-detect new context (→ 70-85%) |
faf go | Before release | Interactive refinement (→ 100%) |
faf score | Anytime | Check current score |
faf bi-sync | Optional | Generate CLAUDE.md |