development-engine-vector 0.3.0__tar.gz → 0.3.1__tar.gz

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.
Files changed (52) hide show
  1. {development_engine_vector-0.3.0 → development_engine_vector-0.3.1}/PKG-INFO +79 -33
  2. {development_engine_vector-0.3.0 → development_engine_vector-0.3.1}/changelog.md +8 -1
  3. {development_engine_vector-0.3.0 → development_engine_vector-0.3.1}/contributing.md +14 -11
  4. {development_engine_vector-0.3.0 → development_engine_vector-0.3.1}/dev/__init__.py +1 -1
  5. {development_engine_vector-0.3.0 → development_engine_vector-0.3.1}/docs/architecture.md +20 -3
  6. {development_engine_vector-0.3.0 → development_engine_vector-0.3.1}/pyproject.toml +1 -1
  7. {development_engine_vector-0.3.0 → development_engine_vector-0.3.1}/readme.md +78 -32
  8. development_engine_vector-0.3.1/version +1 -0
  9. development_engine_vector-0.3.0/version +0 -1
  10. {development_engine_vector-0.3.0 → development_engine_vector-0.3.1}/.flake8 +0 -0
  11. {development_engine_vector-0.3.0 → development_engine_vector-0.3.1}/.gitignore +0 -0
  12. {development_engine_vector-0.3.0 → development_engine_vector-0.3.1}/dev/__main__.py +0 -0
  13. {development_engine_vector-0.3.0 → development_engine_vector-0.3.1}/dev/cli/__init__.py +0 -0
  14. {development_engine_vector-0.3.0 → development_engine_vector-0.3.1}/dev/cli/cli.py +0 -0
  15. {development_engine_vector-0.3.0 → development_engine_vector-0.3.1}/dev/kernel/__init__.py +0 -0
  16. {development_engine_vector-0.3.0 → development_engine_vector-0.3.1}/dev/kernel/config.py +0 -0
  17. {development_engine_vector-0.3.0 → development_engine_vector-0.3.1}/dev/kernel/db.py +0 -0
  18. {development_engine_vector-0.3.0 → development_engine_vector-0.3.1}/dev/kernel/paths.py +0 -0
  19. {development_engine_vector-0.3.0 → development_engine_vector-0.3.1}/dev/kernel/pmf_kernel.py +0 -0
  20. {development_engine_vector-0.3.0 → development_engine_vector-0.3.1}/dev/kernel/selfcheck.py +0 -0
  21. {development_engine_vector-0.3.0 → development_engine_vector-0.3.1}/dev/ui/__init__.py +0 -0
  22. {development_engine_vector-0.3.0 → development_engine_vector-0.3.1}/dev/ui/actions.py +0 -0
  23. {development_engine_vector-0.3.0 → development_engine_vector-0.3.1}/dev/ui/db/__init__.py +0 -0
  24. {development_engine_vector-0.3.0 → development_engine_vector-0.3.1}/dev/ui/db/base.py +0 -0
  25. {development_engine_vector-0.3.0 → development_engine_vector-0.3.1}/dev/ui/db/checks.py +0 -0
  26. {development_engine_vector-0.3.0 → development_engine_vector-0.3.1}/dev/ui/db/events.py +0 -0
  27. {development_engine_vector-0.3.0 → development_engine_vector-0.3.1}/dev/ui/db/health.py +0 -0
  28. {development_engine_vector-0.3.0 → development_engine_vector-0.3.1}/dev/ui/db/identity.py +0 -0
  29. {development_engine_vector-0.3.0 → development_engine_vector-0.3.1}/dev/ui/db/manifest.py +0 -0
  30. {development_engine_vector-0.3.0 → development_engine_vector-0.3.1}/dev/ui/db/overview.py +0 -0
  31. {development_engine_vector-0.3.0 → development_engine_vector-0.3.1}/dev/ui/db/runs.py +0 -0
  32. {development_engine_vector-0.3.0 → development_engine_vector-0.3.1}/dev/ui/routes.py +0 -0
  33. {development_engine_vector-0.3.0 → development_engine_vector-0.3.1}/dev/ui/static/__init__.py +0 -0
  34. {development_engine_vector-0.3.0 → development_engine_vector-0.3.1}/dev/ui/static/web.css +0 -0
  35. {development_engine_vector-0.3.0 → development_engine_vector-0.3.1}/dev/ui/static/web.js +0 -0
  36. {development_engine_vector-0.3.0 → development_engine_vector-0.3.1}/dev/ui/templates.py +0 -0
  37. {development_engine_vector-0.3.0 → development_engine_vector-0.3.1}/dev/ui/web.py +0 -0
  38. {development_engine_vector-0.3.0 → development_engine_vector-0.3.1}/dev/utils.py +0 -0
  39. {development_engine_vector-0.3.0 → development_engine_vector-0.3.1}/dev/vcs/__init__.py +0 -0
  40. {development_engine_vector-0.3.0 → development_engine_vector-0.3.1}/dev/vcs/git.py +0 -0
  41. {development_engine_vector-0.3.0 → development_engine_vector-0.3.1}/dev/vcs/github.py +0 -0
  42. {development_engine_vector-0.3.0 → development_engine_vector-0.3.1}/dev/workflow/__init__.py +0 -0
  43. {development_engine_vector-0.3.0 → development_engine_vector-0.3.1}/dev/workflow/cda.py +0 -0
  44. {development_engine_vector-0.3.0 → development_engine_vector-0.3.1}/dev/workflow/changelog.py +0 -0
  45. {development_engine_vector-0.3.0 → development_engine_vector-0.3.1}/dev/workflow/preflight.py +0 -0
  46. {development_engine_vector-0.3.0 → development_engine_vector-0.3.1}/dev/workflow/release.py +0 -0
  47. {development_engine_vector-0.3.0 → development_engine_vector-0.3.1}/dev/workflow/versioning.py +0 -0
  48. {development_engine_vector-0.3.0 → development_engine_vector-0.3.1}/dev-cli.toml.example +0 -0
  49. {development_engine_vector-0.3.0 → development_engine_vector-0.3.1}/license +0 -0
  50. {development_engine_vector-0.3.0 → development_engine_vector-0.3.1}/tests/__init__.py +0 -0
  51. {development_engine_vector-0.3.0 → development_engine_vector-0.3.1}/tests/test_cda_preflight.py +0 -0
  52. {development_engine_vector-0.3.0 → development_engine_vector-0.3.1}/tests/test_dev_cli.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: development-engine-vector
3
- Version: 0.3.0
3
+ Version: 0.3.1
4
4
  Summary: Development Engine Vector — internal developer workflow CLI.
5
5
  Author-email: Ernie Butcher <ernie@fiosii.com>
6
6
  License-Expression: MIT
@@ -12,7 +12,7 @@ Description-Content-Type: text/markdown
12
12
  # Development Engine Vector
13
13
 
14
14
  [![Python Version](https://img.shields.io/badge/python-3.9%2B-blue.svg)](https://www.python.org/downloads/)
15
- [![PyPI](https://img.shields.io/pypi/v/dev-cli.svg)](https://pypi.org/project/dev-cli)
15
+ [![PyPI](https://img.shields.io/pypi/v/development-engine-vector.svg)](https://pypi.org/project/development-engine-vector)
16
16
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
17
17
 
18
18
  **Development Engine Vector** (`dev`) is the developer workflow coordination CLI for goCosmix systems. It provides a consistent, scriptable interface for preflight checks, version management, changelog automation, release orchestration, and git/GitHub operations — usable across every system in the federation.
@@ -51,10 +51,10 @@ Description-Content-Type: text/markdown
51
51
  ### Install from PyPI
52
52
 
53
53
  ```bash
54
- pip install dev-cli
54
+ pip install development-engine-vector
55
55
  ```
56
56
 
57
- > **macOS / system Python note**: pip installs the `dev` binary to `~/Library/Python/3.x/bin/` which may not be on `PATH` by default.
57
+ > **macOS / system Python note**: pip installs the `dev` binary to `~/Library/Python/3.9/bin/` which may not be on `PATH` by default.
58
58
  >
59
59
  > ```bash
60
60
  > export PATH="$HOME/Library/Python/3.9/bin:$PATH"
@@ -62,30 +62,38 @@ pip install dev-cli
62
62
  >
63
63
  > Add this line to `~/.zprofile` for persistence.
64
64
 
65
- ### Install from source
65
+ ### First-time setup (recommended)
66
+
67
+ After install, run the onboarding wizard — it creates your home directory, registers the macOS LaunchAgent, and opens the dashboard:
66
68
 
67
69
  ```bash
68
- git clone https://github.com/goCosmix/dev.git
69
- cd dev/source
70
- pip install -e .
70
+ dev setup
71
71
  ```
72
72
 
73
- ### Install development dependencies
73
+ ### Install from source
74
74
 
75
75
  ```bash
76
- pip install -e ".[dev]"
76
+ git clone https://github.com/goCosmix/dev.git
77
+ cd dev/source
78
+ pip install -e .
77
79
  ```
78
80
 
79
81
  ## ⚡ Quick Start
80
82
 
81
83
  ```bash
82
- pip install dev-cli
84
+ pip install development-engine-vector
83
85
  export PATH="$HOME/Library/Python/3.9/bin:$PATH"
84
86
 
87
+ # Full onboarding (creates ~/Library/goCosmix/tools/dev/, registers launchd, opens UI)
88
+ dev setup
89
+
90
+ # Or just start the dashboard manually
91
+ dev ui start
92
+
85
93
  # Point at any goCosmix project
86
- dev pf --project /Volumes/intel/systems/cda/source # preflight check
87
- dev version show --project /Volumes/intel/systems/cda/source
88
- dev release --project /Volumes/intel/systems/cda/source --dry-run
94
+ dev pf --project /path/to/project # preflight check
95
+ dev version show --project /path/to/project
96
+ dev release --project /path/to/project --dry-run
89
97
  ```
90
98
 
91
99
  ## 🔧 CLI Reference
@@ -167,6 +175,48 @@ Checks: version consistency, install path, DB state, required tools on PATH, Pyt
167
175
  dev config show --project <path> # display active config and resolved settings
168
176
  ```
169
177
 
178
+ ### `dev ui`
179
+
180
+ Manage the embedded web dashboard (port 9001).
181
+
182
+ ```bash
183
+ dev ui start # start dashboard, open browser
184
+ dev ui start --no-browser # start without opening browser
185
+ dev ui stop # stop dashboard
186
+ dev ui status # show pid, started time, log path
187
+ dev ui restart # restart
188
+ ```
189
+
190
+ ### `dev pmf`
191
+
192
+ Manage the embedded PMF kernel and background services.
193
+
194
+ ```bash
195
+ dev pmf services # list all services and status
196
+ dev pmf status [service_id] # detailed status for one or all services
197
+ dev pmf start ui # start a service
198
+ dev pmf stop ui # stop a service
199
+ dev pmf restart ui # restart a service
200
+ dev pmf logs ui [--tail 50] # tail service log
201
+ dev pmf up # start all services (called by launchd on login)
202
+ dev pmf install # register macOS LaunchAgent (auto-start on login)
203
+ dev pmf uninstall # remove LaunchAgent
204
+ ```
205
+
206
+ ### `dev setup`
207
+
208
+ Full onboarding wizard — run once after install.
209
+
210
+ ```bash
211
+ dev setup # init dirs + pmf install + ui start + open browser
212
+ dev setup --no-browser # same, skip browser
213
+ ```
214
+
215
+ Steps:
216
+ 1. **Init** — create `~/Library/goCosmix/tools/dev/` and all runtime subdirs; patch `~/.zprofile` if `dev` is not on PATH
217
+ 2. **PMF install** — register `com.gocosmix.dev` LaunchAgent so `dev` starts automatically on every login
218
+ 3. **Up** — start the web UI via PMF kernel, open browser at `http://127.0.0.1:9001`
219
+
170
220
  ## ⚙️ Configuration
171
221
 
172
222
  Add a `.dev-cli.toml` or `dev-cli.toml` at any project root:
@@ -197,16 +247,19 @@ dev --config ./custom.dev-cli.toml release --project /Volumes/intel/systems/cda/
197
247
 
198
248
  ## 🏗 Architecture
199
249
 
200
- `dev` is organized into four layers:
250
+ `dev` is organized into five layers:
201
251
 
202
252
  ```
203
253
  dev/
204
- ├── kernel/ — runtime foundation (paths, DB, config, self-check)
254
+ ├── kernel/ — runtime foundation (paths, PMF kernel, DB, config, self-check)
205
255
  ├── workflow/ — business logic (versioning, changelog, preflight, release)
206
256
  ├── vcs/ — version control ops (git, GitHub API)
257
+ ├── ui/ — embedded WSGI dashboard (port 9001, indigo theme)
207
258
  └── cli/ — thin click wrappers
208
259
  ```
209
260
 
261
+ Runtime home: `~/Library/goCosmix/tools/dev/` (tools tier — `9000` namespace)
262
+
210
263
  See [docs/architecture.md](docs/architecture.md) for the full design.
211
264
 
212
265
  ## 🛠 Development
@@ -216,31 +269,24 @@ cd /Volumes/intel/systems/dev/source
216
269
  pip install -e .
217
270
  export PATH="$HOME/Library/Python/3.9/bin:$PATH"
218
271
 
219
- # Run checks
272
+ # Run all checks (lint + typecheck + tests)
273
+ python3 /Volumes/intel/systems/dev/control/scripts/vet.py
274
+
275
+ # Or individually
220
276
  python3 -m flake8 dev/
221
277
  python3 -m mypy dev/
222
278
  python3 -m pytest tests/ -q
223
-
224
- # Or via the control plane
225
- python3 ../control/scripts/vet.py
226
- python3 ../control/cli.py health
227
279
  ```
228
280
 
229
281
  ### Control plane
230
282
 
231
- ```bash
232
- python3 control/cli.py --help
283
+ The control plane manages the `dev` system itself (not for managing other projects).
233
284
 
234
- dev-control status # version, paths, DB state
235
- dev-control vet # run lint + typecheck + tests, write history to DB
236
- dev-control health # show vet run history
237
- dev-control health --checks # list defined check definitions
238
- dev-control push # build + publish to PyPI
239
- dev-control seed # re-seed control.db
240
- dev-control selfcheck # engine self-diagnostics
241
- dev-control runs # show run history from dev.db
242
- dev-control projects # show registered projects
243
- dev-control manifest # query file manifest from control.db
285
+ ```bash
286
+ # Vet, seed, and publish
287
+ python3 /Volumes/intel/systems/dev/control/scripts/vet.py # lint + typecheck + tests
288
+ python3 /Volumes/intel/systems/dev/control/scripts/seed.py # re-seed control.db
289
+ python3 /Volumes/intel/systems/dev/control/scripts/push.py # vet + git push + PyPI publish
244
290
  ```
245
291
 
246
292
  ## 🤝 Contributing
@@ -5,7 +5,14 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
- ## [0.3.0] - 2026-05-12
8
+ ## [0.3.1] - 2026-05-11
9
+
10
+ ### Changed
11
+ - PyPI package renamed from `dev-cli` (taken) to **`development-engine-vector`** — matching the `code-data-ark` naming convention
12
+ - `--version` now resolves from `development-engine-vector` package metadata
13
+ - Docs updated: readme, architecture, contributing — correct DEV_HOME path (`tools/dev`), port 9001, `ui`/`pmf`/`setup` command reference, `ui/` layer in architecture diagram
14
+
15
+ ## [0.3.0] - 2026-05-11
9
16
 
10
17
  ### Added
11
18
  - **Embedded web UI** — full WSGI dashboard on port 9001 (`dev ui start/stop/status/restart`)
@@ -1,6 +1,6 @@
1
1
  # Contributing to Development Engine Vector
2
2
 
3
- We welcome contributions. This document provides guidelines for working on `dev-cli`.
3
+ We welcome contributions. This document provides guidelines for working on `development-engine-vector`.
4
4
 
5
5
  ## Code of Conduct
6
6
 
@@ -20,7 +20,7 @@ cd dev/source
20
20
  ### Setup development environment
21
21
 
22
22
  ```bash
23
- pip install -e ".[dev]"
23
+ pip install -e .
24
24
  export PATH="$HOME/Library/Python/3.9/bin:$PATH"
25
25
  ```
26
26
 
@@ -86,7 +86,8 @@ dev/
86
86
  ├── source/ # all tracked code lives here
87
87
  │ ├── dev/ # Python package
88
88
  │ │ ├── kernel/ # runtime foundation
89
- │ │ │ ├── paths.py # DEV_HOME, path constants
89
+ │ │ │ ├── paths.py # DEV_HOME = ~/Library/goCosmix/tools/dev
90
+ │ │ │ ├── pmf_kernel.py # PMFKernel, launchd integration (port 9001)
90
91
  │ │ │ ├── db.py # WAL SQLite — runs + projects
91
92
  │ │ │ ├── config.py # DevConfig — reads .dev-cli.toml
92
93
  │ │ │ └── selfcheck.py # engine self-diagnostics
@@ -99,6 +100,13 @@ dev/
99
100
  │ │ ├── vcs/ # version control
100
101
  │ │ │ ├── git.py
101
102
  │ │ │ └── github.py
103
+ │ │ ├── ui/ # embedded WSGI dashboard (port 9001)
104
+ │ │ │ ├── web.py
105
+ │ │ │ ├── routes.py
106
+ │ │ │ ├── templates.py
107
+ │ │ │ ├── actions.py
108
+ │ │ │ ├── static/ # web.css (indigo theme), web.js
109
+ │ │ │ └── db/ # per-page query modules
102
110
  │ │ └── cli/
103
111
  │ │ └── cli.py # click entry point
104
112
  │ ├── tests/
@@ -108,15 +116,9 @@ dev/
108
116
  │ ├── readme.md
109
117
  │ └── version
110
118
  ├── local/ # runtime state (gitignored)
111
- │ ├── data/ # dev.db lives at ~/Library/goCosmix/apps/dev/
112
- │ └── logs/
113
119
  └── control/ # management artifacts (gitignored)
114
- ├── cli.py # dev-control CLI
115
- ├── ops.py # reusable status helpers
116
120
  ├── data/ # control.db
117
- ├── scripts/ # seed.py, vet.py, push.py
118
- ├── audit/ # audit engine output JSONs
119
- └── docs/ # control system documentation
121
+ └── scripts/ # seed.py, vet.py, push.py
120
122
  ```
121
123
 
122
124
  ## Key components
@@ -125,7 +127,8 @@ dev/
125
127
  Thin click wrappers. All logic delegates to `workflow/` and `vcs/` modules.
126
128
 
127
129
  ### Kernel (`dev/kernel/`)
128
- - `paths.py` — canonical path constants; `DEV_HOME = ~/Library/goCosmix/apps/dev`
130
+ - `paths.py` — canonical path constants; `DEV_HOME = ~/Library/goCosmix/tools/dev`
131
+ - `pmf_kernel.py` — `PMFKernel`: start/stop/restart/status for background services; `install_launchd` / `uninstall_launchd` for `com.gocosmix.dev` LaunchAgent
129
132
  - `db.py` — WAL SQLite; `record_run`, `finish_run`, `upsert_project`, `get_recent_runs`
130
133
  - `config.py` — loads `.dev-cli.toml` / `dev-cli.toml` from project root
131
134
  - `selfcheck.py` — five checks: version, install path, DB, tools, dependencies
@@ -1,3 +1,3 @@
1
1
  """dev — Development Engine Vector."""
2
2
 
3
- __version__ = "0.3.0"
3
+ __version__ = "0.3.1"
@@ -35,12 +35,13 @@ The kernel provides the shared infrastructure all other layers depend on.
35
35
 
36
36
  | Module | Responsibility |
37
37
  |---|---|
38
- | `paths.py` | `DEV_HOME`, `DATA_DIR`, `LOG_DIR`, `DB_PATH`, `ensure_dirs()` |
38
+ | `paths.py` | `DEV_HOME`, `DATA_DIR`, `RUN_DIR`, `LOG_DIR`, `PMF_DIR`, `DB_PATH`, `UI_PID_FILE`, `DEFAULT_PORT`, `ensure_dirs()` |
39
39
  | `db.py` | WAL SQLite runtime DB — `runs` + `projects` tables; `record_run`, `finish_run`, `upsert_project` |
40
40
  | `config.py` | Loads `.dev-cli.toml` / `dev-cli.toml` from project root via TOML parser |
41
41
  | `selfcheck.py` | Five checks: version consistency, install path, DB integrity, tools on PATH, Python deps |
42
+ | `pmf_kernel.py` | `PMFKernel` process manager; `install_launchd` / `uninstall_launchd` for `com.gocosmix.dev` LaunchAgent |
42
43
 
43
- **DEV_HOME** resolves to `~/Library/goCosmix/apps/dev` on macOS. The runtime DB lives there.
44
+ **DEV_HOME** resolves to `~/Library/goCosmix/tools/dev` on macOS (tools tier — port 9001; 9000 reserved for future tool orchestrator). The runtime DB lives at `DEV_HOME/data/dev.db`.
44
45
 
45
46
  ### `workflow/` — Business Logic
46
47
 
@@ -74,6 +75,22 @@ CDA-extended checks (via `--full`):
74
75
  - Queue depth
75
76
  - Session analysis freshness
76
77
 
78
+ ### `ui/` — Embedded Dashboard
79
+
80
+ A self-contained WSGI application served on port 9001 (tools namespace). Zero npm, zero build step — CSS and JS are bundled as Python string constants.
81
+
82
+ | Module | Responsibility |
83
+ |---|---|
84
+ | `web.py` | `start_server(host, port=9001)` — `WSGIServer` with `SO_REUSEADDR` |
85
+ | `routes.py` | WSGI app; routes all API endpoints and serves the SPA shell |
86
+ | `templates.py` | `INDEX_HTML` shell; `PAGE_REGISTRY_JS` — page render functions |
87
+ | `actions.py` | Background task execution (`vet`); `ACTION_STATE` tracker |
88
+ | `static/web.css` | Indigo accent theme (`--accent: #6366f1`) |
89
+ | `static/web.js` | Page init functions; run drawer; tab switching |
90
+ | `db/` | Per-page DB query modules: overview, runs, health, checks, manifest, identity, events |
91
+
92
+ **API endpoints**: `GET /`, `/api/overview`, `/api/runs`, `/api/run`, `/api/health`, `/api/checks`, `/api/manifest`, `/api/identity`, `/api/events`; `POST /api/action`, `/api/query`
93
+
77
94
  ### `vcs/` — Version Control
78
95
 
79
96
  | Module | Key class | Responsibility |
@@ -82,7 +99,7 @@ CDA-extended checks (via `--full`):
82
99
  | `github.py` | — | `create_github_repo()`, `_github_api()`, token loading from `.env` |
83
100
 
84
101
  `GitOps.ensure_remote()` creates the GitHub repo via API and sets `origin` if absent.
85
- Token is loaded from `systems/audit/.env` (`GITHUB_TOKEN`).
102
+ Token is loaded from `/Volumes/intel/.env` (`GITHUB_TOKEN`).
86
103
 
87
104
  ### `cli/` — Click Interface
88
105
 
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "development-engine-vector"
3
- version = "0.3.0"
3
+ version = "0.3.1"
4
4
  description = "Development Engine Vector — internal developer workflow CLI."
5
5
  readme = "readme.md"
6
6
  requires-python = ">=3.8"
@@ -1,7 +1,7 @@
1
1
  # Development Engine Vector
2
2
 
3
3
  [![Python Version](https://img.shields.io/badge/python-3.9%2B-blue.svg)](https://www.python.org/downloads/)
4
- [![PyPI](https://img.shields.io/pypi/v/dev-cli.svg)](https://pypi.org/project/dev-cli)
4
+ [![PyPI](https://img.shields.io/pypi/v/development-engine-vector.svg)](https://pypi.org/project/development-engine-vector)
5
5
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
6
6
 
7
7
  **Development Engine Vector** (`dev`) is the developer workflow coordination CLI for goCosmix systems. It provides a consistent, scriptable interface for preflight checks, version management, changelog automation, release orchestration, and git/GitHub operations — usable across every system in the federation.
@@ -40,10 +40,10 @@
40
40
  ### Install from PyPI
41
41
 
42
42
  ```bash
43
- pip install dev-cli
43
+ pip install development-engine-vector
44
44
  ```
45
45
 
46
- > **macOS / system Python note**: pip installs the `dev` binary to `~/Library/Python/3.x/bin/` which may not be on `PATH` by default.
46
+ > **macOS / system Python note**: pip installs the `dev` binary to `~/Library/Python/3.9/bin/` which may not be on `PATH` by default.
47
47
  >
48
48
  > ```bash
49
49
  > export PATH="$HOME/Library/Python/3.9/bin:$PATH"
@@ -51,30 +51,38 @@ pip install dev-cli
51
51
  >
52
52
  > Add this line to `~/.zprofile` for persistence.
53
53
 
54
- ### Install from source
54
+ ### First-time setup (recommended)
55
+
56
+ After install, run the onboarding wizard — it creates your home directory, registers the macOS LaunchAgent, and opens the dashboard:
55
57
 
56
58
  ```bash
57
- git clone https://github.com/goCosmix/dev.git
58
- cd dev/source
59
- pip install -e .
59
+ dev setup
60
60
  ```
61
61
 
62
- ### Install development dependencies
62
+ ### Install from source
63
63
 
64
64
  ```bash
65
- pip install -e ".[dev]"
65
+ git clone https://github.com/goCosmix/dev.git
66
+ cd dev/source
67
+ pip install -e .
66
68
  ```
67
69
 
68
70
  ## ⚡ Quick Start
69
71
 
70
72
  ```bash
71
- pip install dev-cli
73
+ pip install development-engine-vector
72
74
  export PATH="$HOME/Library/Python/3.9/bin:$PATH"
73
75
 
76
+ # Full onboarding (creates ~/Library/goCosmix/tools/dev/, registers launchd, opens UI)
77
+ dev setup
78
+
79
+ # Or just start the dashboard manually
80
+ dev ui start
81
+
74
82
  # Point at any goCosmix project
75
- dev pf --project /Volumes/intel/systems/cda/source # preflight check
76
- dev version show --project /Volumes/intel/systems/cda/source
77
- dev release --project /Volumes/intel/systems/cda/source --dry-run
83
+ dev pf --project /path/to/project # preflight check
84
+ dev version show --project /path/to/project
85
+ dev release --project /path/to/project --dry-run
78
86
  ```
79
87
 
80
88
  ## 🔧 CLI Reference
@@ -156,6 +164,48 @@ Checks: version consistency, install path, DB state, required tools on PATH, Pyt
156
164
  dev config show --project <path> # display active config and resolved settings
157
165
  ```
158
166
 
167
+ ### `dev ui`
168
+
169
+ Manage the embedded web dashboard (port 9001).
170
+
171
+ ```bash
172
+ dev ui start # start dashboard, open browser
173
+ dev ui start --no-browser # start without opening browser
174
+ dev ui stop # stop dashboard
175
+ dev ui status # show pid, started time, log path
176
+ dev ui restart # restart
177
+ ```
178
+
179
+ ### `dev pmf`
180
+
181
+ Manage the embedded PMF kernel and background services.
182
+
183
+ ```bash
184
+ dev pmf services # list all services and status
185
+ dev pmf status [service_id] # detailed status for one or all services
186
+ dev pmf start ui # start a service
187
+ dev pmf stop ui # stop a service
188
+ dev pmf restart ui # restart a service
189
+ dev pmf logs ui [--tail 50] # tail service log
190
+ dev pmf up # start all services (called by launchd on login)
191
+ dev pmf install # register macOS LaunchAgent (auto-start on login)
192
+ dev pmf uninstall # remove LaunchAgent
193
+ ```
194
+
195
+ ### `dev setup`
196
+
197
+ Full onboarding wizard — run once after install.
198
+
199
+ ```bash
200
+ dev setup # init dirs + pmf install + ui start + open browser
201
+ dev setup --no-browser # same, skip browser
202
+ ```
203
+
204
+ Steps:
205
+ 1. **Init** — create `~/Library/goCosmix/tools/dev/` and all runtime subdirs; patch `~/.zprofile` if `dev` is not on PATH
206
+ 2. **PMF install** — register `com.gocosmix.dev` LaunchAgent so `dev` starts automatically on every login
207
+ 3. **Up** — start the web UI via PMF kernel, open browser at `http://127.0.0.1:9001`
208
+
159
209
  ## ⚙️ Configuration
160
210
 
161
211
  Add a `.dev-cli.toml` or `dev-cli.toml` at any project root:
@@ -186,16 +236,19 @@ dev --config ./custom.dev-cli.toml release --project /Volumes/intel/systems/cda/
186
236
 
187
237
  ## 🏗 Architecture
188
238
 
189
- `dev` is organized into four layers:
239
+ `dev` is organized into five layers:
190
240
 
191
241
  ```
192
242
  dev/
193
- ├── kernel/ — runtime foundation (paths, DB, config, self-check)
243
+ ├── kernel/ — runtime foundation (paths, PMF kernel, DB, config, self-check)
194
244
  ├── workflow/ — business logic (versioning, changelog, preflight, release)
195
245
  ├── vcs/ — version control ops (git, GitHub API)
246
+ ├── ui/ — embedded WSGI dashboard (port 9001, indigo theme)
196
247
  └── cli/ — thin click wrappers
197
248
  ```
198
249
 
250
+ Runtime home: `~/Library/goCosmix/tools/dev/` (tools tier — `9000` namespace)
251
+
199
252
  See [docs/architecture.md](docs/architecture.md) for the full design.
200
253
 
201
254
  ## 🛠 Development
@@ -205,31 +258,24 @@ cd /Volumes/intel/systems/dev/source
205
258
  pip install -e .
206
259
  export PATH="$HOME/Library/Python/3.9/bin:$PATH"
207
260
 
208
- # Run checks
261
+ # Run all checks (lint + typecheck + tests)
262
+ python3 /Volumes/intel/systems/dev/control/scripts/vet.py
263
+
264
+ # Or individually
209
265
  python3 -m flake8 dev/
210
266
  python3 -m mypy dev/
211
267
  python3 -m pytest tests/ -q
212
-
213
- # Or via the control plane
214
- python3 ../control/scripts/vet.py
215
- python3 ../control/cli.py health
216
268
  ```
217
269
 
218
270
  ### Control plane
219
271
 
220
- ```bash
221
- python3 control/cli.py --help
272
+ The control plane manages the `dev` system itself (not for managing other projects).
222
273
 
223
- dev-control status # version, paths, DB state
224
- dev-control vet # run lint + typecheck + tests, write history to DB
225
- dev-control health # show vet run history
226
- dev-control health --checks # list defined check definitions
227
- dev-control push # build + publish to PyPI
228
- dev-control seed # re-seed control.db
229
- dev-control selfcheck # engine self-diagnostics
230
- dev-control runs # show run history from dev.db
231
- dev-control projects # show registered projects
232
- dev-control manifest # query file manifest from control.db
274
+ ```bash
275
+ # Vet, seed, and publish
276
+ python3 /Volumes/intel/systems/dev/control/scripts/vet.py # lint + typecheck + tests
277
+ python3 /Volumes/intel/systems/dev/control/scripts/seed.py # re-seed control.db
278
+ python3 /Volumes/intel/systems/dev/control/scripts/push.py # vet + git push + PyPI publish
233
279
  ```
234
280
 
235
281
  ## 🤝 Contributing
@@ -0,0 +1 @@
1
+ 0.3.1
@@ -1 +0,0 @@
1
- 0.3.0