Skip to content

Commit d69a6f8

Browse files
committed
feat: integrate graphify tool for codebase analysis and tracking with automated caching and documentation generation. / Update list of models
1 parent 7ef9ba9 commit d69a6f8

85 files changed

Lines changed: 60709 additions & 1079 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.gitignore

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,3 +57,10 @@ task/artifacts/*
5757
task/reports/*.md
5858
!task/reports/.gitkeep
5959
.aider*
60+
61+
# 13. Crush CLI (local tooling)
62+
.crush/
63+
64+
# 14. Demo assets (large media)
65+
# demo*.gif
66+
# demo*.mp4

.kandown/AGENT.md

Lines changed: 102 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,102 @@
1+
# Kandown conventions for AI agents
2+
3+
This project uses a file-based Kandown board located in `.kandown/`. Read this file before touching task files.
4+
5+
## Source of truth
6+
7+
Tasks are the source of truth. There is no board index to maintain.
8+
9+
```
10+
.kandown/
11+
├── kandown.json ← project settings and board columns
12+
├── tasks/
13+
│ ├── t1.md ← task status, metadata, subtasks, notes, report
14+
│ └── ...
15+
└── kandown.html ← local web UI
16+
```
17+
18+
Columns are stored in `.kandown/kandown.json` under `board.columns`. A task belongs to a column through its frontmatter `status`.
19+
20+
If a task has no `status`, treat it as `Backlog`.
21+
22+
## Task file format
23+
24+
```markdown
25+
---
26+
id: t1
27+
title: Full task title
28+
status: Todo
29+
priority: P1
30+
tags: [backend, security]
31+
assignee: username
32+
created: 2026-04-10
33+
due: 2026-04-25
34+
ownerType: human
35+
tools: filesystem, cli, websearch
36+
---
37+
38+
# Task title
39+
40+
## Context
41+
42+
Background, links, decisions.
43+
44+
## Subtasks
45+
46+
- [ ] First step
47+
- [ ] Second step
48+
49+
## Notes
50+
51+
Additional information.
52+
```
53+
54+
Frontmatter fields:
55+
- `status` — current board column.
56+
- `order` — optional numeric order inside the column.
57+
- `ownerType: human` — task is meant for a human.
58+
- `ownerType: ai` — task is meant for an AI agent.
59+
- `tools` — free-form tool hints, such as `filesystem, cli, websearch, browser`.
60+
61+
## Working on a task
62+
63+
1. Open the specific task file the user requested.
64+
2. Set `status: In Progress` when you start.
65+
3. Check off subtasks as you complete them.
66+
4. Add a short report below completed subtasks when useful.
67+
5. When done, add or update the completion report and set `status: Done`.
68+
69+
Example completion report in frontmatter:
70+
71+
```yaml
72+
report: |
73+
## Changes
74+
- Created `src/auth.ts` with JWT validation.
75+
- Added `/api/auth/login`.
76+
77+
## Files
78+
- `src/auth.ts`
79+
80+
## Decisions
81+
- Used RS256 for better key rotation support.
82+
```
83+
84+
## Creating tasks
85+
86+
Create a new `tasks/<id>.md` file. Pick the next available ID by scanning filenames in `.kandown/tasks/`. Task IDs use the format `t<N>` (e.g. `t1`, `t2`, `t45`).
87+
88+
## Mutation rules
89+
90+
| Action | Files to edit |
91+
|---|---|
92+
| Move task between columns | Task file only: update frontmatter `status` |
93+
| Reorder task | Task file only: update frontmatter `order` |
94+
| Change title/priority/tags/assignee | Task file frontmatter only |
95+
| Change ownerType/tools | Task file frontmatter only |
96+
| Edit description/notes/subtasks/report | Task file body/frontmatter only |
97+
| Create task | Create one file in `.kandown/tasks/` |
98+
| Delete task | Delete its file from `.kandown/tasks/` |
99+
100+
## Scope control
101+
102+
If you notice unrelated cleanup while working, create a separate task file instead of fixing it inline. Keep the current task focused.

.kandown/AGENT_KANDOWN.md

Lines changed: 146 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,146 @@
1+
# Kandown — AI Agent Rules
2+
3+
## The System
4+
5+
Kandown is a file-based Kanban backed by plain markdown. All task state lives in `.kandown/tasks/*.md` — no separate board index, no database.
6+
7+
```
8+
.kandown/
9+
├── tasks/ # Task files (source of truth)
10+
├── kandown.json # Board columns + project settings
11+
└── kandown.html # Web UI
12+
```
13+
14+
**Board columns** are configured in `kandown.json` at `board.columns`. Tasks without a `status` go to **Backlog**.
15+
16+
---
17+
18+
## Critical: Real-Time Task Updates
19+
20+
⚠️ **ALWAYS keep task files up to date as you work.** This is not optional — it lets the user see exactly what you're doing, what was decided, and what's left.
21+
22+
When you make progress:
23+
1. Check off completed subtasks: `- [ ]``- [x]`
24+
2. Add a `report:` under each done subtask with what changed
25+
3. Move the task to the appropriate column by updating `status:` in frontmatter
26+
4. Write a completion `report:` in frontmatter when the task is done
27+
28+
---
29+
30+
## Task Lifecycle
31+
32+
### Start working on a task
33+
Update the task frontmatter: `status: In Progress`
34+
35+
### While working — UPDATE THE TASK FILE AS YOU GO
36+
37+
**This is the most important rule.** Every time you make progress — writing code, making a decision, discovering something — update the task file immediately. Do not wait until the task is done.
38+
39+
For each subtask you complete:
40+
1. Check it off: `- [ ]``- [x]`
41+
2. Add a `report:` line under it with what changed
42+
43+
Example subtask with report:
44+
```markdown
45+
- [x] Set up project structure
46+
report: Created src/, dist/, and bin/. Initialized package.json with dependencies.
47+
- [ ] Add authentication
48+
```
49+
50+
If there are no subtasks yet, add them as you discover what needs to be done. The task file is your real-time work log — the user should be able to open it and see exactly where things stand.
51+
52+
**Never** wait until the end to update the task. If you finish a session without updating, you're leaving the user in the dark.
53+
54+
### Complete a task
55+
56+
When the task is done:
57+
1. Set `status: Done` in the frontmatter
58+
2. Write a completion `report:` in the frontmatter summarizing:
59+
- **Changes**: What was created/modified/deleted
60+
- **Decisions**: Why you chose a particular approach
61+
- **Files**: List of affected files (especially new ones)
62+
63+
```yaml
64+
---
65+
status: Done
66+
report: |
67+
## Changes
68+
- Created src/auth.ts with JWT validation
69+
- Added /api/auth/login endpoint
70+
## Decisions
71+
- Used RS256 for better key rotation support
72+
## Files
73+
- src/auth.ts (new)
74+
- src/routes.ts (modified)
75+
---
76+
```
77+
78+
The `report:` field supports markdown and is displayed prominently in the UI. Write it as a real summary, not a placeholder.
79+
80+
---
81+
82+
## Mutation Rules
83+
84+
| Action | File to edit |
85+
|--------|-------------|
86+
| Move task between columns | Task file: update `status:` in frontmatter |
87+
| Reorder task | Task file: update `order:` in frontmatter |
88+
| Change title/priority/tags/assignee | Task file frontmatter |
89+
| Edit description/notes/subtasks | Task file body only |
90+
| Create task | Create one new `.kandown/tasks/t-NNN.md` |
91+
| Delete task | Delete the task file |
92+
| Create/rename/delete columns | `kandown.json` at `board.columns` |
93+
94+
**One task file = one source of truth.** Never maintain a separate board index.
95+
96+
---
97+
98+
## Task File Format
99+
100+
```markdown
101+
---
102+
id: t1
103+
title: Task title
104+
status: Backlog
105+
order: 0
106+
priority: P1
107+
tags: [backend]
108+
assignee: username
109+
created: 2026-04-10
110+
ownerType: human
111+
---
112+
113+
# Task title
114+
115+
## Context
116+
117+
Why this exists, background, links.
118+
119+
## Subtasks
120+
121+
- [ ] First step
122+
- [x] Second step
123+
report: What changed.
124+
125+
## Notes
126+
127+
Edge cases, gotchas.
128+
```
129+
130+
### Frontmatter fields
131+
132+
| Field | Description |
133+
|-------|-------------|
134+
| `status` | Board column (Backlog, Todo, In Progress, Review, Done) |
135+
| `order` | Sort order within the column |
136+
| `priority` | P1–P4 |
137+
| `tags` | Free-form labels |
138+
| `assignee` | Username or AI agent name |
139+
| `ownerType` | `human` or `ai` |
140+
| `report` | Completion summary (markdown, shown in UI) |
141+
142+
---
143+
144+
## Stack
145+
146+
React, Motion, Tailwind, Vite, Zustand, TypeScript, Node.js ESM CLI.

.kandown/README.md

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
# .kandown/
2+
3+
File-based kanban for this project. Zero install, zero backend, plain markdown on disk.
4+
5+
## Usage
6+
7+
1. Open `kandown.html` in Chrome, Edge, Brave or Opera (File System Access API required)
8+
2. Click **Select folder** and pick this `.kandown/` directory, then grant read/write permission
9+
3. That's it
10+
11+
The app remembers the last 10 projects you've opened — no need to re-select the folder each time.
12+
13+
## Structure
14+
15+
```
16+
.kandown/
17+
├── tasks/
18+
│ ├── t1.md ← full task details
19+
│ └── ...
20+
├── kandown.html ← the engine (single file, no dependencies)
21+
├── kandown.json ← project preferences, columns, appearance, optional fields
22+
├── AGENT.md ← AI coding agent conventions
23+
└── README.md ← this file
24+
```
25+
26+
## Settings
27+
28+
Open Settings from the app header to tune this project. Board columns are stored in `kandown.json` at `board.columns`. Each task chooses a column with its frontmatter `status`.
29+
30+
## Editing without the app
31+
32+
Everything is plain markdown. Edit files directly in your IDE, Obsidian, or vim. Click **Reload** in the app (or press `R`) to see changes.
33+
34+
## For AI agents
35+
36+
See `AGENT.md`. The key convention: each task file is its own source of truth. Moving a task means editing the task's frontmatter `status`.
37+
38+
## Keyboard shortcuts
39+
40+
| Key | Action |
41+
|---|---|
42+
| `⌘K` / `Ctrl+K` | Command palette |
43+
| `⌘1` / `Ctrl+2` | Board / list view |
44+
| `N` | New task |
45+
| `R` | Reload |
46+
| `/` | Focus search |
47+
| `Esc` | Close drawer / palette |
48+
| `⌘S` | Save current task |
49+
| `⌘⌫` | Delete task (with confirmation) |

0 commit comments

Comments
 (0)