Skip to content

Commit d477a3e

Browse files
committed
feat: add updates from bob
1 parent 996cd42 commit d477a3e

19 files changed

+2491
-528
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
test
22
*cache*
33
*tmp*
4+
.vscode

.pre-commit-config.yaml

Lines changed: 54 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -1,44 +1,55 @@
11
repos:
2-
- repo: https://github.com/pre-commit/pre-commit-hooks
3-
rev: v5.0.0
4-
hooks:
5-
- id: check-yaml
6-
- id: end-of-file-fixer
7-
- id: trailing-whitespace
8-
- repo: https://github.com/astral-sh/ruff-pre-commit
9-
rev: v0.6.9
10-
hooks:
11-
- id: ruff
12-
args: [ --fix ]
13-
- id: ruff-format
14-
- repo: https://github.com/pre-commit/mirrors-mypy
15-
rev: v1.12.0
16-
hooks:
17-
- id: mypy
18-
additional_dependencies: [types-tabulate, types-docutils]
19-
args: [--ignore-missing-imports, --check-untyped-defs]
20-
- repo: local
21-
hooks:
22-
- id: check-names
23-
name: Check for agent-instance names
24-
description: Verifies that we are not accidentally using names of agents in the template, or vice versa
25-
entry: make check-names
26-
language: system
27-
pass_filenames: false
28-
always_run: true
29-
- id: check-markdown-links
30-
name: Check markdown links
31-
description: Verifies all relative links in markdown files resolve correctly
32-
entry: python3 scripts/precommit/check_markdown_links.py
33-
language: system
34-
types: [markdown]
35-
pass_filenames: true
36-
# Exclude example files which intentionally have broken links
37-
exclude: ^projects/.*/examples/.*$
38-
- id: check-task-links
39-
name: Check task symlinks
40-
description: Verifies task files have exactly one valid symlink in a state directory
41-
entry: python3 scripts/precommit/check_task_links.py --type tasks
42-
language: system
43-
pass_filenames: false
44-
always_run: true
2+
- repo: https://github.com/pre-commit/pre-commit-hooks
3+
rev: v5.0.0
4+
hooks:
5+
- id: check-yaml
6+
- id: end-of-file-fixer
7+
- id: trailing-whitespace
8+
- repo: https://github.com/astral-sh/ruff-pre-commit
9+
rev: v0.6.9
10+
hooks:
11+
- id: ruff
12+
args: [--fix]
13+
- id: ruff-format
14+
- repo: https://github.com/pre-commit/mirrors-mypy
15+
rev: v1.12.0
16+
hooks:
17+
- id: mypy
18+
additional_dependencies: [types-tabulate, types-docutils]
19+
args: [--ignore-missing-imports, --check-untyped-defs]
20+
- repo: local
21+
hooks:
22+
- id: check-names
23+
name: Check for agent-instance names
24+
description: Verifies that we are not accidentally using names of agents in the template, or vice versa
25+
entry: make check-names
26+
language: system
27+
pass_filenames: false
28+
always_run: true
29+
- id: check-markdown-links
30+
name: Check markdown links
31+
description: Verifies all relative links in markdown files resolve correctly
32+
entry: python3 scripts/precommit/check_markdown_links.py
33+
language: system
34+
types: [markdown]
35+
pass_filenames: true
36+
# Exclude example files which intentionally have broken links
37+
exclude: ^projects/.*/examples/.*$
38+
- id: validate-task-frontmatter
39+
name: Validate task frontmatter
40+
description: Validates YAML frontmatter in task files
41+
entry: ./scripts/precommit/validate_task_frontmatter.py
42+
language: system
43+
types: [markdown]
44+
files: ^tasks/.*\.md$
45+
46+
# redundant? already validated by validate-task-frontmatter?
47+
# should combine them
48+
- id: validate-tasks
49+
name: Validate task metadata
50+
description: Validates YAML frontmatter in task files
51+
entry: ./scripts/tasks.py check
52+
language: system
53+
types: [markdown]
54+
pass_filenames: false
55+
#files: ^tasks/.*\.md$

ARCHITECTURE.md

Lines changed: 13 additions & 120 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ This document describes the architecture and workflows of the workspace.
55
## Overview
66

77
This workspace implements a forkable agent architecture, designed to be used as a foundation for creating new agents. For details about:
8+
89
- Forking process: See [`knowledge/agent-forking.md`](./knowledge/agent-forking.md)
910
- Workspace structure: See [`knowledge/forking-workspace.md`](./knowledge/forking-workspace.md)
1011

@@ -14,133 +15,20 @@ For a information about tools used in this workspace, see [`TOOLS.md`](./TOOLS.m
1415

1516
## Task System
1617

17-
The task system is designed to help gptme-agent track and manage work effectively across sessions.
18-
19-
### Components
20-
21-
1. [**`TASKS.md`**](./TASKS.md)
22-
- Main task registry
23-
- Contains all tasks categorized by area
24-
- Each task has a clear status indicator
25-
- Links to task files in `tasks/`
26-
27-
2. **Task Files**
28-
- All task files stored in [`tasks/`](./tasks) as single source of truth
29-
- Task state managed via symlinks in state directories:
30-
- `tasks/new/`: Symlinks to new tasks
31-
- `tasks/active/`: Symlinks to tasks being worked on
32-
- `tasks/paused/`: Symlinks to temporarily paused tasks
33-
- `tasks/done/`: Symlinks to completed tasks
34-
- `tasks/cancelled/`: Symlinks to cancelled tasks
35-
- Never modify task files directly in state directories, always modify in `tasks/`
36-
37-
3. **Journal Entries**
38-
- Daily progress logs in [`journal/`](./journal)
39-
- Each entry documents work done on tasks
40-
- Includes reflections and next steps
41-
42-
### Task Lifecycle
43-
44-
0. **Retrieval**
45-
- Retrieve context needed to plan the task
46-
- Quick search:
47-
```sh
48-
# Find files containing term
49-
git grep -li <query>
50-
51-
# Show matching lines
52-
git grep -i <query>
53-
```
54-
- Detailed search with context:
55-
```sh
56-
# Show matching lines
57-
./scripts/search.sh "<query>"
58-
59-
# Show with context
60-
./scripts/search.sh "<query>" 1
61-
```
62-
- Common locations:
63-
- `tasks/` - Task details
64-
- `journal/` - Daily updates
65-
- `knowledge/` - Documentation
66-
67-
1. **Creation**
68-
- Create new task file in `tasks/`
69-
- Add symlink in `tasks/new/`: `ln -s ../taskname.md tasks/new/`
70-
- Add to `TASKS.md` with 🆕 status
71-
72-
2. **Activation**
73-
- Move symlink from `new/` to `active/`: `mv tasks/new/taskname.md tasks/active/`
74-
- Update status in `TASKS.md` to 🏃
75-
- Create journal entry about starting task
76-
77-
3. **Progress Tracking**
78-
- Daily updates in journal entries
79-
- Status updates in `TASKS.md`
80-
- Subtask completion tracking
81-
- All edits made to file in `tasks/`
82-
83-
4. **Completion/Cancellation**
84-
- Update status in `TASKS.md` to ✅ or ❌
85-
- Move symlink to done/ or cancelled/: `mv tasks/active/taskname.md tasks/done/`
86-
- Final journal entry documenting outcomes
87-
88-
5. **Pausing**
89-
- Move symlink from `active/` to `paused/`: `mv tasks/active/taskname.md tasks/paused/`
90-
- Update status in `TASKS.md` to ⏸️
91-
- Document progress in journal
92-
93-
### Status Indicators
94-
95-
- 🆕 NEW: Task has been created
96-
- 🏃 IN_PROGRESS: Task is being worked on
97-
- ⏸️ PAUSED: Task was temporarily paused
98-
- ✅ COMPLETED: Task has been completed
99-
- ❌ CANCELLED: Task was cancelled
18+
The task system helps to track and manage work effectively across sessions. It consists of:
10019

101-
### Best Practices
20+
- Task files in [`tasks/`](./tasks/) as single source of truth
21+
- Task management CLI in [`scripts/tasks.py`](./scripts/tasks.py)
22+
- Daily progress logs in [`journal/`](./journal/)
10223

103-
1. **File Management**
104-
- Always treat `tasks/` as single source of truth
105-
- Never modify files directly in state directories
106-
- Use proper symlink commands for state transitions
107-
- Verify symlinks after state changes
108-
109-
2. **Task Creation**
110-
- Use clear, specific titles
111-
- Break down into manageable subtasks
112-
- Include success criteria
113-
- Link related resources
114-
- Create files in `tasks/` first, then symlink
115-
116-
3. **Progress Updates**
117-
- Regular status updates in `TASKS.md`
118-
- Document blockers/issues
119-
- Track dependencies
120-
- All edits made to files in `tasks/`
121-
122-
4. **Documentation**
123-
- Cross-reference related tasks using paths relative to repository root
124-
- Document decisions and rationale
125-
- Link to relevant documents and resources
126-
- Update knowledge base as needed
127-
128-
5. **Linking**
129-
- Always link to referenced resources (tasks, knowledge, URLs)
130-
- Use relative paths from repository root when possible
131-
- Common links to include:
132-
- Tasks mentioned in journal entries
133-
- Related tasks in task descriptions
134-
- People mentioned in any document
135-
- Projects being discussed
136-
- Knowledge base articles
137-
- Use descriptive link text that makes sense out of context
24+
See [`TASKS.md`](./TASKS.md) for more details on the task system.
13825

13926
## Journal System
14027

14128
The journal system provides a daily log of activities, thoughts, and progress.
14229

14330
### Structure
31+
14432
- One file per day: `YYYY-MM-DD.md`
14533
- Located in [`journal/`](./journal) directory
14634
- Entries are to be appended, not overwritten
@@ -156,6 +44,7 @@ The journal system provides a daily log of activities, thoughts, and progress.
15644
The knowledge base stores long-term information and documentation.
15745

15846
### Structure
47+
15948
- Located in [`knowledge/`](./knowledge)
16049
- Organized by topic/domain
16150
- Includes:
@@ -166,9 +55,10 @@ The knowledge base stores long-term information and documentation.
16655

16756
## People Directory
16857

169-
The people directory stores information about individuals gptme-agent interacts with.
58+
The people directory stores information about individuals the agent interacts with.
17059

17160
### Structure
61+
17262
- Located in [`people/`](./people)
17363
- Contains:
17464
- Individual profiles in Markdown format
@@ -183,12 +73,15 @@ The people directory stores information about individuals gptme-agent interacts
18373
- TODOs and action items
18474

18575
### Best Practices
76+
18677
1. **Privacy**
78+
18779
- Respect privacy preferences
18880
- Only include publicly available information
18981
- Maintain appropriate level of detail
19082

19183
2. **Updates**
84+
19285
- Keep interaction history current
19386
- Update project collaborations
19487
- Maintain active TODO lists

0 commit comments

Comments
 (0)