diff options
Diffstat (limited to 'AGENTS.md')
| -rw-r--r-- | AGENTS.md | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 0000000..37b1cc2 --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,83 @@ +# Omni + +The Omni project is to leverage automation and asymmetries to create wealth. + +## Critical Rules for AI Agents + +**CRITICAL**: This project uses `jr task` for ALL issue tracking. You MUST follow these rules: + +- ✅ Use `jr task` for ALL task/TODO tracking (`jr task create ... --json`) +- ✅ Link discovered work with `--discovered-from=<parent-id>` +- ✅ File bugs IMMEDIATELY when you discover unexpected behavior +- ✅ Add facts to the knowledge base when you learn something useful (`jr facts add ...`) +- ✅ Run `jr task ready --json` before asking "what should I work on?" +- ✅ Store AI planning docs in `_/llm` directory (NEVER in repo root) +- ❌ Do NOT use `todo_write` tool +- ❌ Do NOT create markdown TODO lists or task checklists +- ❌ Do NOT put TODO/FIXME comments in code + +## Cheat Sheet + +**Standard workflow:** +```bash +# 1. Find ready work +jr task ready --json + +# 2. Claim a task +jr task update <id> in-progress --json + +# 3. During work: create discovered issues +jr task create "Fix type error found" --discovered-from=<current-id> --json + +# 4. Complete the task +jr task update <id> done --json +``` + +**Bug Discovery:** +```bash +# Create a task immediately +jr task create "Command X fails when Y" --discovered-from=<current-task-id> --json +``` + +## Directory Structure + +- **`_/`** (cabdir) - All ephemeral/generated files. This directory is gitignored. + - `_/llm/` - AI planning docs and agent logs + - `_/tmp/` - Temporary files, test databases, scratch data +- Never create dotfile directories (like `.tasks/`) in the repo root + +## Common Commands + +**Build:** +```bash +bild Omni/Jr.hs # Build a Haskell namespace +bild Biz/Cloud/Api.py # Build a Python namespace +``` + +**Lint and Format:** +```bash +lint Omni/Cli.hs # Lint a file (DO NOT use hlint directly) +lint --fix **/*.py # Lint and auto-fix Python files +``` + +**Type Check:** +```bash +typecheck.sh Omni/Bild/Example.py # Run mypy on Python files +``` + +**Test:** +```bash +bild --test Omni/Jr.hs # Build and run tests for a namespace +``` + +**Run:** +```bash +Omni/Ide/run.sh Omni/Jr.hs # Build (if needed) and run +``` + +## Documentation + +- **Project Context**: [README.md](README.md) - Goals, source layout, and coding conventions. +- **Task Manager**: [`Omni/Task/README.md`](Omni/Task/README.md) - Detailed usage, dependency management, and agent best practices. +- **Build Tool (Bild)**: [`Omni/Bild/README.md`](Omni/Bild/README.md) - How to use `bild` and manage dependencies. +- **Development Tools**: [`Omni/Ide/README.md`](Omni/Ide/README.md) - `run.sh`, `lint`, `repl.sh`, git workflow. |
