# 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=` - ✅ 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 in-progress --json # 3. During work: create discovered issues jr task create "Fix type error found" --discovered-from= --json # 4. Complete the task jr task update done --json ``` **Bug Discovery:** ```bash # Create a task immediately jr task create "Command X fails when Y" --discovered-from= --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.