@straiffi/archon 1.0.5 → 1.0.7
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.
- package/README.md +23 -98
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Archon
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Archon is a ticket-driven interface for AI-assisted code automation. Create tickets, plan features, then let an AI agent such as Claude or OpenCode implement them in isolated git worktrees.
|
|
4
4
|
|
|
5
5
|
## Install
|
|
6
6
|
|
|
@@ -42,7 +42,7 @@ archon update
|
|
|
42
42
|
|
|
43
43
|
V1 targets macOS and Linux first.
|
|
44
44
|
|
|
45
|
-
## External
|
|
45
|
+
## External Tool Prerequisites
|
|
46
46
|
|
|
47
47
|
Archon does not bundle external developer tools.
|
|
48
48
|
|
|
@@ -51,49 +51,25 @@ Required or commonly expected tools:
|
|
|
51
51
|
| Tool | Why it matters |
|
|
52
52
|
| --- | --- |
|
|
53
53
|
| `git` | Required for project repositories, worktrees, diffing, and commit operations |
|
|
54
|
-
| `opencode` |
|
|
55
|
-
| `claude` |
|
|
56
|
-
| `gh` |
|
|
54
|
+
| `opencode` | Needed for OpenCode-backed plan, build, chat, and review workflows |
|
|
55
|
+
| `claude` | Needed for Claude-backed workflows |
|
|
56
|
+
| `gh` | Optional for GitHub PR and review workflows; GitHub API key integration also works without it |
|
|
57
57
|
|
|
58
|
-
|
|
58
|
+
Archon should still start if an optional tool is missing, but features that depend on that binary or integration path will return actionable errors.
|
|
59
59
|
|
|
60
|
-
## How
|
|
60
|
+
## How It Works
|
|
61
61
|
|
|
62
|
-
|
|
62
|
+
Archon has three main workspaces:
|
|
63
63
|
|
|
64
|
-
1. **
|
|
65
|
-
2. **
|
|
66
|
-
3. **
|
|
64
|
+
1. **Board**: create tickets, move them through planning and implementation, and run builds in isolated git worktrees on dedicated branches.
|
|
65
|
+
2. **Chat**: use persistent project chat sessions for planning, implementation help, and follow-up questions. Chat supports both planning-oriented and build-oriented turns so you can scope work first, then continue in the same conversation.
|
|
66
|
+
3. **Memory**: optionally save project conventions, accepted decisions, and other prompt context in Archon so future ticket, chat, build, and review runs stay aligned with how your project works.
|
|
67
67
|
|
|
68
|
-
|
|
68
|
+
Within the board workflow, tickets move through three stages:
|
|
69
69
|
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
Install dependencies from the repository root:
|
|
75
|
-
|
|
76
|
-
```bash
|
|
77
|
-
npm install
|
|
78
|
-
```
|
|
79
|
-
|
|
80
|
-
Start dev mode:
|
|
81
|
-
|
|
82
|
-
```bash
|
|
83
|
-
npm run start:dev
|
|
84
|
-
```
|
|
85
|
-
|
|
86
|
-
`npm run start:dev` is the primary local development command. It keeps the Express server and Vite frontend as separate processes and configures the dev database plus API base URL overrides for you.
|
|
87
|
-
|
|
88
|
-
Other useful commands:
|
|
89
|
-
|
|
90
|
-
```bash
|
|
91
|
-
npm run build
|
|
92
|
-
npm test
|
|
93
|
-
npm run smoke:package
|
|
94
|
-
```
|
|
95
|
-
|
|
96
|
-
`npm run smoke:package` builds the package, installs the packed tarball into a temporary npm prefix, runs `archon --version`, starts `archon --no-open`, fetches the app shell and an API route, then shuts it down.
|
|
70
|
+
1. **Plan**: write a title and description for the feature or task
|
|
71
|
+
2. **Build**: Archon runs your configured AI tool in a new git worktree and streams progress back to the UI in real time
|
|
72
|
+
3. **Review**: an agent reviews the resulting changes and suggests fixes that you can inspect and accept manually
|
|
97
73
|
|
|
98
74
|
## Project Setup
|
|
99
75
|
|
|
@@ -101,13 +77,13 @@ After Archon starts, create a project from the UI:
|
|
|
101
77
|
|
|
102
78
|
1. Click `Create project`
|
|
103
79
|
2. Enter a project name and repository path
|
|
104
|
-
3. Optionally click `Auto-config` to
|
|
80
|
+
3. Optionally click `Auto-config` to fill any empty setup, service, or worktree sync settings
|
|
105
81
|
4. Optionally open `Advanced settings` to review or edit setup, service, worktree sync, and IDE settings
|
|
106
82
|
5. Save the project, select it in the project switcher, and create tickets inside that project
|
|
107
83
|
|
|
108
|
-
## Project
|
|
84
|
+
## Project Configuration
|
|
109
85
|
|
|
110
|
-
|
|
86
|
+
Use the project form in the UI to configure how Archon prepares worktrees and runs project-specific services.
|
|
111
87
|
|
|
112
88
|
### Required fields
|
|
113
89
|
|
|
@@ -116,7 +92,7 @@ Archon stores repository and run settings per project in its database. Use the p
|
|
|
116
92
|
| `Project name` | The label shown in the project switcher, such as `Platform API` or `Marketing Site` |
|
|
117
93
|
| `Repository path` | Any path inside the target git repository; Archon resolves it to the repo root before saving |
|
|
118
94
|
|
|
119
|
-
`Auto-config` is available in both the create and edit project modals. It
|
|
95
|
+
`Auto-config` is available in both the create and edit project modals. It fills only empty `Setup commands`, `Services`, and `Worktree sync` sections, and it never changes `IDE command`.
|
|
120
96
|
|
|
121
97
|
### Advanced fields
|
|
122
98
|
|
|
@@ -128,10 +104,6 @@ Archon stores repository and run settings per project in its database. Use the p
|
|
|
128
104
|
| `cwd` | Optional working directory for a service, relative to the worktree root. For example, use `client` for a frontend dev server or `server` for an API process. Leave it blank to run from the worktree root. |
|
|
129
105
|
| `IDE command` | Optional command to open the finished worktree in your editor after services start, such as `code --reuse-window` or `idea`. |
|
|
130
106
|
|
|
131
|
-
Worktree sync entries are stored as `{ source, target?, mode }` objects. `source` is required, `target` is optional and defaults to the same path, and `mode` is either `copy` or `symlink`.
|
|
132
|
-
|
|
133
|
-
Service entries are stored as `{ cmd, cwd }` objects. `cmd` is required, while `cwd` is optional.
|
|
134
|
-
|
|
135
107
|
### Example project setup
|
|
136
108
|
|
|
137
109
|
```text
|
|
@@ -158,7 +130,7 @@ IDE command: code --reuse-window
|
|
|
158
130
|
|
|
159
131
|
Each ticket gets its own worktree and branch derived from the ticket title, using the active project's repository settings. Archon reuses an existing local branch when one already exists; otherwise it creates a new branch for the worktree.
|
|
160
132
|
|
|
161
|
-
## Data
|
|
133
|
+
## Data Storage
|
|
162
134
|
|
|
163
135
|
Archon keeps runtime state out of the installed package tree.
|
|
164
136
|
|
|
@@ -171,54 +143,7 @@ Default database locations:
|
|
|
171
143
|
|
|
172
144
|
You can override the database location with `DB_PATH`.
|
|
173
145
|
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
Older local development runs may already have data in one of these files:
|
|
146
|
+
## Development And Maintenance
|
|
177
147
|
|
|
178
|
-
- `
|
|
179
|
-
- `
|
|
180
|
-
|
|
181
|
-
Recommended manual migration flow:
|
|
182
|
-
|
|
183
|
-
1. Stop all Archon dev and production processes.
|
|
184
|
-
2. Back up the source database and any current production database.
|
|
185
|
-
3. Create the production app-data directory if it does not exist.
|
|
186
|
-
4. Copy the chosen development database to the production database path.
|
|
187
|
-
5. If SQLite sidecar files such as `-wal` or `-shm` exist, only copy them while Archon is fully stopped.
|
|
188
|
-
6. Start Archon normally and let its startup schema checks apply any missing migrations.
|
|
189
|
-
|
|
190
|
-
If you want to run production Archon against an existing database temporarily, launch it with:
|
|
191
|
-
|
|
192
|
-
```bash
|
|
193
|
-
DB_PATH=/path/to/archon-dev.db archon
|
|
194
|
-
```
|
|
195
|
-
|
|
196
|
-
## Release Process
|
|
197
|
-
|
|
198
|
-
Archon uses a manual GitHub Actions release workflow.
|
|
199
|
-
|
|
200
|
-
### GitHub setup
|
|
201
|
-
|
|
202
|
-
1. Publish the npm package scope or package name from the npm account or organization that owns `@straiffi/archon`.
|
|
203
|
-
2. Add an `NPM_TOKEN` repository secret in GitHub with publish access to that package.
|
|
204
|
-
3. Run the `Release` workflow from the `main` branch.
|
|
205
|
-
4. Choose one of `patch`, `minor`, or `major` for `release_type`.
|
|
206
|
-
|
|
207
|
-
The workflow will:
|
|
208
|
-
|
|
209
|
-
1. install dependencies
|
|
210
|
-
2. run type checks, lint, tests, build, tarball validation, and packaged-install smoke checks
|
|
211
|
-
3. run `npm version <release_type>`
|
|
212
|
-
4. publish with `npm publish --access public`
|
|
213
|
-
5. push the version commit and git tag back to GitHub
|
|
214
|
-
|
|
215
|
-
### Local release dry run
|
|
216
|
-
|
|
217
|
-
Before running the workflow, you can validate the release path locally with:
|
|
218
|
-
|
|
219
|
-
```bash
|
|
220
|
-
npm install
|
|
221
|
-
npm run build
|
|
222
|
-
npm run smoke:package
|
|
223
|
-
npm pack --dry-run
|
|
224
|
-
```
|
|
148
|
+
- Contributor workflow: [`DEVELOPMENT.md`](https://github.com/Straiffi/Archon/blob/main/DEVELOPMENT.md)
|
|
149
|
+
- Release workflow: [`RELEASING.md`](https://github.com/Straiffi/Archon/blob/main/RELEASING.md)
|