openfleet 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,52 @@
1
+ # ⛴️ Openfleet
2
+
3
+ Long-term project management with built in self-healing capabilities
4
+ managed by agent fleet.
5
+
6
+ This directory is meant to be managed by Openfleet agents, and is typically
7
+ not for humans, though it would be difficult to mess this up unintentionally.
8
+
9
+ ## For Agents 🤖
10
+
11
+ Understand `## Structure`, then see `./status/current.md`, and other necessary
12
+ files before starting your current task.
13
+
14
+ ## Structure
15
+
16
+ ```
17
+ .openfleet/
18
+ ├── README.md
19
+ ├── status/
20
+ │ ├── current.md # Anchor point - agent reads this first
21
+ │ └── README.md
22
+ ├── sessions/ # Agent transcripts / journals
23
+ │ └── README.md
24
+ ├── stories/ # Work organized by story/epic
25
+ │ ├── README.md
26
+ │ └── unassigned/
27
+ │ └── README.md
28
+ ├── docs/
29
+ │ ├── README.md
30
+ │ └── working/ # Agent scratch space
31
+ │ └── README.md
32
+ ├── experience/ # Self-healing long term memory
33
+ │ ├── README.md
34
+ │ ├── Mnemosyne.md
35
+ │ ├── runbooks/ # Used for recurring tasks, like Claude Agent Skills
36
+ │ ├── troubleshooting/ # Used for common errors
37
+ │ ├── lessons/ # Used for learning from past mistakes
38
+ │ └── blunders/ # Used for learning from stupid mistakes
39
+ ├── standards/
40
+ │ ├── README.md
41
+ │ ├── code-style.md
42
+ │ ├── architecture.md
43
+ │ ├── testing.md
44
+ │ └── review-checklist.md
45
+ └── reviews/ # Human review artifacts
46
+ └── README.md
47
+ ```
48
+
49
+ ## Flexibility
50
+
51
+ This template is a _general_ guide for project management. Feel free to customize
52
+ as you wish.
@@ -0,0 +1,51 @@
1
+ # Documentation Directory
2
+
3
+ Design documents and working notes.
4
+
5
+ ## Structure
6
+
7
+ ```
8
+ docs/
9
+ ├── README.md # This file
10
+ ├── adr/ # Architecture decision records
11
+ │ └── 001-use-postgres.md
12
+ ├── guides/ # How-to guides for humans
13
+ │ └── local-development.md
14
+ └── working/ # Agent scratch space for drafts
15
+ └── <document-name>.md
16
+ ```
17
+
18
+ ## File naming
19
+
20
+ Use lowercase kebab-case:
21
+
22
+ - `openfleet-v2-hld.md`
23
+ - `auth-redesign-proposal.md`
24
+ - `api-migration-plan.md`
25
+
26
+ ## Usage
27
+
28
+ The `working/` directory is for temporary documents being drafted by agents.
29
+ Once finalized, move docs to appropriate directories under `docs/` or `stories/`.
30
+
31
+ ## Format
32
+
33
+ Working documents are freeform, but commonly include:
34
+
35
+ ```markdown
36
+ # <Document title>
37
+
38
+ ## Overview
39
+
40
+ <Brief description of what this document covers>
41
+
42
+ ## <Section 1>
43
+
44
+ <Content>
45
+
46
+ ## <Section 2>
47
+
48
+ <Content>
49
+ ```
50
+
51
+ For design docs specifically (HLD/LLD), see the story task format in `stories/README.md`.
@@ -0,0 +1,5 @@
1
+ # Working Documents
2
+
3
+ Agent scratch space for drafts and work-in-progress documents.
4
+
5
+ Files here are temporary. Move finalized docs to appropriate story directories.
@@ -0,0 +1,170 @@
1
+ # Mnemosyne
2
+
3
+ _The goddess of memory and mother of the Muses._
4
+
5
+ This is the index of accumulated experience. Consult before tackling unfamiliar problems.
6
+
7
+ ## Recent Activity
8
+
9
+ _No activity yet._
10
+
11
+ ### Runbooks
12
+
13
+ _No runbooks yet._
14
+
15
+ ### Troubleshooting Guides
16
+
17
+ _No guides yet._
18
+
19
+ ### Lessons Learned
20
+
21
+ _No lessons yet._
22
+
23
+ ### Blunders to Avoid
24
+
25
+ _No blunders recorded._
26
+
27
+ ---
28
+
29
+ ## File Naming Conventions
30
+
31
+ ### Runbooks
32
+
33
+ Use lowercase kebab-case: `<task-name>.md`
34
+
35
+ - `deploy-to-production.md`
36
+ - `rotate-api-keys.md`
37
+ - `onboard-new-service.md`
38
+
39
+ ### Troubleshooting
40
+
41
+ Use lowercase with underscore: `<error-type>_<context>.md`
42
+
43
+ - `build-failure_missing-deps.md`
44
+ - `runtime-error_null-pointer.md`
45
+ - `test-flake_async-timing.md`
46
+
47
+ ### Lessons
48
+
49
+ Use lowercase kebab-case with suffix: `<topic>-lesson.md`
50
+
51
+ - `prefer-composition-over-inheritance-lesson.md`
52
+ - `batch-database-queries-lesson.md`
53
+ - `early-return-pattern-lesson.md`
54
+
55
+ ### Blunders
56
+
57
+ Use lowercase kebab-case with suffix: `<descriptive-name>-blunder.md`
58
+
59
+ - `api-key-exposure-blunder.md`
60
+ - `missing-null-check-blunder.md`
61
+ - `wrong-environment-deploy-blunder.md`
62
+
63
+ ---
64
+
65
+ ## Templates
66
+
67
+ ### Runbook
68
+
69
+ ```markdown
70
+ # <Task name>
71
+
72
+ ## Purpose
73
+
74
+ <What this runbook accomplishes>
75
+
76
+ ## Prerequisites
77
+
78
+ - <What's needed before starting>
79
+ - <Required access, tools, etc.>
80
+
81
+ ## Steps
82
+
83
+ 1. <First actionable step>
84
+ 2. Run `scripts/deploy.sh --env staging`
85
+ 3. <Can reference scripts in the repo>
86
+
87
+ ## Verification
88
+
89
+ - <How to confirm success>
90
+ - <Expected outcomes>
91
+ ```
92
+
93
+ ### Troubleshooting
94
+
95
+ ```markdown
96
+ # <Error type>: <Brief description>
97
+
98
+ ## Symptoms
99
+
100
+ - <How the problem manifests>
101
+ - <Error messages, behaviors observed>
102
+
103
+ ## Root cause
104
+
105
+ <Why this happens - the underlying reason>
106
+
107
+ ## Solution
108
+
109
+ 1. <Step to fix>
110
+ 2. <Next step>
111
+ 3. <Continue as needed>
112
+
113
+ ## Prevention
114
+
115
+ - <How to avoid this in the future>
116
+ - <Configuration, practices to adopt>
117
+ ```
118
+
119
+ ### Lesson
120
+
121
+ ```markdown
122
+ # <Brief title of the lesson>
123
+
124
+ ## Context
125
+
126
+ <When/where this was learned - the situation that led to this insight>
127
+
128
+ ## Insight
129
+
130
+ <The key learning - what was discovered>
131
+
132
+ ## Application
133
+
134
+ - <How to apply this going forward>
135
+ - <Specific practices to adopt>
136
+
137
+ ## Related
138
+
139
+ - <Links to relevant docs, code, or external resources>
140
+ ```
141
+
142
+ ### Blunder
143
+
144
+ ```markdown
145
+ # <Brief title describing the blunder>
146
+
147
+ ## What happened
148
+
149
+ <Description of the mistake - what was done wrong>
150
+
151
+ ## Impact
152
+
153
+ <What went wrong as a result - consequences>
154
+
155
+ ## Root cause
156
+
157
+ <Why it happened - the underlying reason>
158
+
159
+ ## Prevention
160
+
161
+ <How to avoid this in the future - proactive measures>
162
+
163
+ ## Detection
164
+
165
+ <How to catch early if it happens again - monitoring/review steps>
166
+ ```
167
+
168
+ ---
169
+
170
+ _Updated when new experience is captured._
@@ -0,0 +1,23 @@
1
+ # Experience Directory
2
+
3
+ Self-healing systems with long-term memory. Learned knowledge from past work.
4
+
5
+ ## Structure
6
+
7
+ ```
8
+ experience/
9
+ ├── Mnemosyne.md # Ignore unless you're the Reflect agent
10
+ ├── runbooks/ # How-to guides for recurring tasks
11
+ ├── troubleshooting/ # Problem → solution mappings
12
+ ├── lessons/ # Insights and best practices
13
+ └── blunders/ # Mistakes to avoid
14
+ ```
15
+
16
+ ## Usage
17
+
18
+ Consult this directory to:
19
+
20
+ - Find solutions to previously-solved problems
21
+ - Follow established procedures
22
+ - Avoid repeating past mistakes
23
+ - Apply learned best practices
@@ -0,0 +1,6 @@
1
+ # Blunders
2
+
3
+ Mistakes to avoid. Learning from failure.
4
+
5
+ This is not a blame log. It's a learning resource.
6
+ Recording blunders helps prevent repeating them.
@@ -0,0 +1,3 @@
1
+ # Lessons Learned
2
+
3
+ Insights and best practices discovered through experience.
@@ -0,0 +1,3 @@
1
+ # Runbooks
2
+
3
+ Step-by-step guides for recurring tasks.
@@ -0,0 +1,3 @@
1
+ # Troubleshooting
2
+
3
+ Problem → solution mappings for quick reference.
@@ -0,0 +1,15 @@
1
+ # Reviews
2
+
3
+ Human review artifacts and feedback.
4
+
5
+ ## Structure
6
+
7
+ ```
8
+ reviews/
9
+ ├── README.md # This file
10
+ └── YYYY-MM-DD_<topic>.md # Individual review records
11
+ ```
12
+
13
+ ## Usage
14
+
15
+ Store feedback from human reviews here for future reference.
@@ -0,0 +1,16 @@
1
+ # Sessions Directory
2
+
3
+ Conversation records organized by date.
4
+
5
+ ## Structure
6
+
7
+ ```
8
+ sessions/
9
+ └── YYYY-MM-DD/
10
+ └── NNN_topic-slug.md
11
+ ```
12
+
13
+ ## Usage
14
+
15
+ Sessions are auto-generated by the `save_conversation` tool.
16
+ Each session captures a complete conversation with metadata.
@@ -0,0 +1,18 @@
1
+ # Standards Directory
2
+
3
+ Prescriptive guidelines for consistency and quality.
4
+
5
+ ## Files
6
+
7
+ - `architecture.md`: Architectural patterns
8
+ - `code-style.md`: Coding conventions
9
+ - `testing.md`: Testing requirements
10
+ - `review-checklist.md`: PR review criteria
11
+
12
+ ## Usage
13
+
14
+ Agents reference these standards when:
15
+
16
+ - Writing new code
17
+ - Reviewing changes
18
+ - Making architectural decisions
@@ -0,0 +1,3 @@
1
+ # Architecture Standards
2
+
3
+ _To be customized for your project._
@@ -0,0 +1,3 @@
1
+ # Code Style Standards
2
+
3
+ _To be customized for your project._
@@ -0,0 +1,3 @@
1
+ # Review Checklist
2
+
3
+ _To be customized for your project._
@@ -0,0 +1,3 @@
1
+ # Testing Standards
2
+
3
+ _To be customized for your project._
@@ -0,0 +1,15 @@
1
+ # Status Directory
2
+
3
+ The anchor point for agent context. Always read `current.md` first.
4
+
5
+ ## Files
6
+
7
+ - `current.md`: Current work status, active story, recent sessions
8
+
9
+ ## Usage
10
+
11
+ All agents will read this file on startup for working context.
12
+
13
+ ## Git commit preference
14
+
15
+ _Undecided between **submit as PR** or **NEVER MAKE ANY COMMITS**_
@@ -0,0 +1,29 @@
1
+ # Current Status
2
+
3
+ **Last Updated**: 2026-01-04T04:09:33.840Z
4
+ **Active Story**: _none_
5
+ **Status**: idle
6
+
7
+ ## Current Work
8
+
9
+ _No active work._
10
+
11
+ ## Active Tasks
12
+
13
+ _None._
14
+
15
+ ## Recent Sessions
16
+
17
+ - `001_investigate-openfleet-directory.md` (2026-01-04) [188 messages, 74.5K tokens] ← current session
18
+
19
+ ---
20
+
21
+ ## Quick Stats
22
+
23
+ - Sessions today: 1
24
+ - Sessions this week: 1
25
+ - Last housekeeping: 2026-01-04T04:10:15Z
26
+
27
+ ---
28
+
29
+ _Updated by agents and tools automatically._
@@ -0,0 +1,86 @@
1
+ # Stories Directory
2
+
3
+ Work organized by story (epic-level grouping).
4
+
5
+ ## Structure
6
+
7
+ ```
8
+ stories/
9
+ ├── README.md # This file
10
+ ├── YYYY-WXX/ # Week-based organization
11
+ │ └── <story-name>/
12
+ │ ├── README.md # Story overview
13
+ │ └── tasks/
14
+ │ └── MM-DD_<task-name>/
15
+ │ ├── Research.md # Scout the topic
16
+ │ ├── HLD.md # High-level design
17
+ │ └── LLD.md # Low-level design
18
+ └── unassigned/ # Tasks without a story
19
+ ```
20
+
21
+ ## Naming conventions
22
+
23
+ - **Week directories**: `YYYY-WXX` (e.g., `2026-W01`)
24
+ - **Story directories**: lowercase kebab-case (e.g., `auth-redesign`, `openfleet-v2`)
25
+ - **Task directories**: `MM-DD_<task-name>` (e.g., `01-03_implement-save-conversation`)
26
+
27
+ ## Usage
28
+
29
+ Stories group related tasks under a common theme or epic.
30
+ Use week-based directories to organize by time period.
31
+
32
+ ## Story README format
33
+
34
+ ```markdown
35
+ # <Story name>
36
+
37
+ ## Goal
38
+
39
+ <What this story aims to accomplish>
40
+
41
+ ## Tasks
42
+
43
+ - [ ] <Task 1>
44
+ - [ ] <Task 2>
45
+
46
+ ## Status
47
+
48
+ <Current status: planning | in-progress | completed>
49
+ ```
50
+
51
+ ## Task HLD format
52
+
53
+ ```markdown
54
+ # <Task name> - High Level Design
55
+
56
+ ## Problem
57
+
58
+ <What problem does this solve>
59
+
60
+ ## Solution
61
+
62
+ <High-level approach>
63
+
64
+ ## Scope
65
+
66
+ - <What's included>
67
+ - <What's excluded>
68
+ ```
69
+
70
+ ## Task LLD format
71
+
72
+ ```markdown
73
+ # <Task name> - Low Level Design
74
+
75
+ ## Implementation
76
+
77
+ <Detailed technical approach>
78
+
79
+ ## Files to modify
80
+
81
+ - `path/to/file.ts`: <changes>
82
+
83
+ ## Testing
84
+
85
+ <How to verify the implementation>
86
+ ```
@@ -0,0 +1,40 @@
1
+ # Unassigned Tasks
2
+
3
+ Tasks that don't belong to a specific story.
4
+
5
+ ## Structure
6
+
7
+ ```
8
+ unassigned/
9
+ ├── README.md # This file
10
+ └── MM-DD_<task-name>/
11
+ ├── HLD.md # High-level design (optional for small tasks)
12
+ └── LLD.md # Low-level design (optional for small tasks)
13
+ ```
14
+
15
+ ## Usage
16
+
17
+ Place standalone tasks here that are:
18
+
19
+ - Quick fixes
20
+ - One-off requests
21
+ - Not part of a larger initiative
22
+
23
+ Move to a story directory when they become part of a larger effort.
24
+
25
+ ## When to skip HLD/LLD
26
+
27
+ For trivial tasks (< 1 hour of work), a single `notes.md` is sufficient:
28
+
29
+ ```markdown
30
+ # <Task name>
31
+
32
+ ## What
33
+
34
+ <Brief description>
35
+
36
+ ## Changes
37
+
38
+ - <Change 1>
39
+ - <Change 2>
40
+ ```
package/package.json ADDED
@@ -0,0 +1,46 @@
1
+ {
2
+ "name": "openfleet",
3
+ "version": "0.1.0",
4
+ "description": "SPAR framework agents + infinite context for OpenCode",
5
+ "type": "module",
6
+ "main": "./dist/index.js",
7
+ "types": "./dist/index.d.ts",
8
+ "files": [
9
+ "dist"
10
+ ],
11
+ "keywords": [
12
+ "opencode",
13
+ "plugin"
14
+ ],
15
+ "author": "Scott Susanto",
16
+ "license": "MIT",
17
+ "repository": {
18
+ "type": "git",
19
+ "url": "git+https://github.com/scottsus/openfleet.git"
20
+ },
21
+ "scripts": {
22
+ "build": "tsup src/index.ts --format esm --dts --clean && cp -r src/templates dist/",
23
+ "dev": "tsup src/index.ts --format esm --dts --watch",
24
+ "typecheck": "tsc --noEmit",
25
+ "format": "prettier --write .",
26
+ "format:check": "prettier --check .",
27
+ "prepare": "husky"
28
+ },
29
+ "lint-staged": {
30
+ "*": "prettier --write --ignore-unknown"
31
+ },
32
+ "dependencies": {
33
+ "@anthropic-ai/sdk": "^0.71.2",
34
+ "@opencode-ai/plugin": "^1.0.191",
35
+ "@opencode-ai/sdk": "^1.0.191"
36
+ },
37
+ "devDependencies": {
38
+ "@ianvs/prettier-plugin-sort-imports": "^4.7.0",
39
+ "@types/node": "^22",
40
+ "husky": "^9.1.7",
41
+ "lint-staged": "^16.2.7",
42
+ "prettier": "^3.7.4",
43
+ "tsup": "^8.0.0",
44
+ "typescript": "^5.4.0"
45
+ }
46
+ }