blob: 37b1cc251298b2ee2cbcd53691d12cd6b0124b04 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
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.
|