diff --git a/CLAUDE.md b/CLAUDE.md index 0a2eacb..f33fc09 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -90,7 +90,7 @@ This module uses a Go workspace (`~/Code/go.work`) with `replace` directives for - `../go` → `forge.lthn.ai/core/go` - `../gui` → `forge.lthn.ai/core/gui` - `../mcp` → `forge.lthn.ai/core/mcp` -- `../go-config` → `forge.lthn.ai/core/go-config` +- `../config` → `forge.lthn.ai/core/config` - `../go-ws` → `forge.lthn.ai/core/go-ws` ## Conventions diff --git a/dist/CHECKSUMS.txt b/dist/CHECKSUMS.txt new file mode 100644 index 0000000..450abbd --- /dev/null +++ b/dist/CHECKSUMS.txt @@ -0,0 +1 @@ +0947c16e5620c4cbf193c5047bc0dce699a83cc050290c8ec2a788e5eeef6c07 core-ide_darwin_arm64.tar.gz diff --git a/dist/core-ide_darwin_arm64.tar.gz b/dist/core-ide_darwin_arm64.tar.gz new file mode 100644 index 0000000..8331c06 Binary files /dev/null and b/dist/core-ide_darwin_arm64.tar.gz differ diff --git a/dist/darwin_arm64/core-ide b/dist/darwin_arm64/core-ide new file mode 100755 index 0000000..f998ea6 Binary files /dev/null and b/dist/darwin_arm64/core-ide differ diff --git a/docs/superpowers/plans/2026-03-14-ide-modernisation.md b/docs/superpowers/plans/2026-03-14-ide-modernisation.md index 0e965f9..16c2b0d 100644 --- a/docs/superpowers/plans/2026-03-14-ide-modernisation.md +++ b/docs/superpowers/plans/2026-03-14-ide-modernisation.md @@ -17,7 +17,7 @@ rm webview_svc.go # Replaced by core/gui/pkg/display + webview rm brain_mcp.go # Replaced by core/mcp/pkg/mcp/brain rm claude_bridge.go # Replaced by core/mcp/pkg/mcp/ide Bridge rm headless_mcp.go # Not needed — core/mcp runs in-process -rm headless.go # go-config gui.enabled flag; jobrunner belongs in core/agent +rm headless.go # config gui.enabled flag; jobrunner belongs in core/agent rm greetservice.go # Scaffold placeholder ``` @@ -43,7 +43,7 @@ import ( "runtime" "syscall" - "forge.lthn.ai/core/go-config" + "forge.lthn.ai/core/config" "forge.lthn.ai/core/go-ws" "forge.lthn.ai/core/go/pkg/core" guiMCP "forge.lthn.ai/core/gui/pkg/mcp" @@ -271,7 +271,7 @@ go 1.26.0 require ( forge.lthn.ai/core/go v0.2.2 - forge.lthn.ai/core/go-config v0.1.2 + forge.lthn.ai/core/config v0.1.2 forge.lthn.ai/core/go-ws v0.1.3 forge.lthn.ai/core/gui v0.1.0 forge.lthn.ai/core/mcp v0.1.0 @@ -400,7 +400,7 @@ This module uses a Go workspace (`~/Code/go.work`) with `replace` directives for - `../go` → `forge.lthn.ai/core/go` - `../gui` → `forge.lthn.ai/core/gui` - `../mcp` → `forge.lthn.ai/core/mcp` -- `../go-config` → `forge.lthn.ai/core/go-config` +- `../config` → `forge.lthn.ai/core/config` - `../go-ws` → `forge.lthn.ai/core/go-ws` ## Conventions diff --git a/docs/superpowers/plans/2026-03-14-service-provider-framework.md b/docs/superpowers/plans/2026-03-14-service-provider-framework.md index 25ff31a..ee5f8ec 100644 --- a/docs/superpowers/plans/2026-03-14-service-provider-framework.md +++ b/docs/superpowers/plans/2026-03-14-service-provider-framework.md @@ -954,7 +954,7 @@ import ( "forge.lthn.ai/core/go-api" "forge.lthn.ai/core/go-api/pkg/provider" - "forge.lthn.ai/core/go-config" + "forge.lthn.ai/core/config" process "forge.lthn.ai/core/go-process" processapi "forge.lthn.ai/core/go-process/pkg/api" "forge.lthn.ai/core/go-ws" diff --git a/docs/superpowers/specs/2026-03-14-ide-modernisation-design.md b/docs/superpowers/specs/2026-03-14-ide-modernisation-design.md index 7a20006..ccbcf90 100644 --- a/docs/superpowers/specs/2026-03-14-ide-modernisation-design.md +++ b/docs/superpowers/specs/2026-03-14-ide-modernisation-design.md @@ -39,7 +39,7 @@ Replace all hand-rolled services with imports from the existing ecosystem. The I │ │ └─ transports: stdio, TCP, Unix │ │ │ └──────────────────────────────────────┘ │ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ │ -│ │go-config │ │go-process│ │ go-log │ │ +│ │ config │ │go-process│ │ go-log │ │ │ └──────────┘ └──────────┘ └──────────┘ │ └─────────────────────────────────────────────┘ │ @@ -56,7 +56,7 @@ Replace all hand-rolled services with imports from the existing ecosystem. The I - **Tray panel** is a 380x480 frameless Angular window attached to the tray icon. Renders a control pane (MCP status, connected agents, brain stats). - **Windows** are disposable views — closing a window does not terminate the app. - **macOS**: Accessory app (no Dock icon). Template tray icon. -- **go-config** reads `.core/config.yaml`. If `gui.enabled: false` (or no display), Wails is skipped entirely. Core still runs all services — MCP server, brain, etc. +- **config** reads `.core/config.yaml`. If `gui.enabled: false` (or no display), Wails is skipped entirely. Core still runs all services — MCP server, brain, etc. ## Service Wiring @@ -170,14 +170,14 @@ The `core/gui/pkg/display.Service` bridges Core IPC to the Wails platform — wi | `brain_mcp.go` | `core/mcp/pkg/mcp/brain` | | `claude_bridge.go` | `core/mcp/pkg/mcp/ide` Bridge | | `headless_mcp.go` | Not needed — core/mcp runs in-process | -| `headless.go` | go-config `gui.enabled` flag. Jobrunner/poller extracted to core/agent (not in scope). | +| `headless.go` | config `gui.enabled` flag. Jobrunner/poller extracted to core/agent (not in scope). | | `greetservice.go` | Scaffold placeholder, not needed | ### Rewrite (1 file) | File | Changes | |------|---------| -| `main.go` | Thin shell: go-config, core.New with services, Wails systray, `--mcp` flag for stdio | +| `main.go` | Thin shell: config, core.New with services, Wails systray, `--mcp` flag for stdio | ### Keep (unchanged) @@ -198,7 +198,7 @@ The `core/gui/pkg/display.Service` bridges Core IPC to the Wails platform — wi - `forge.lthn.ai/core/gui` — display service, 74 MCP tools - `forge.lthn.ai/core/go-io` — sandboxed filesystem - `forge.lthn.ai/core/go-log` — structured logging + errors -- `forge.lthn.ai/core/go-config` — configuration +- `forge.lthn.ai/core/config` — configuration ### Remove (indirect cleanup) diff --git a/go.mod b/go.mod index f93c64b..40971cf 100644 --- a/go.mod +++ b/go.mod @@ -5,7 +5,7 @@ go 1.26.0 require ( forge.lthn.ai/core/go v0.2.2 forge.lthn.ai/core/api v0.1.0 - forge.lthn.ai/core/go-config v0.1.2 + forge.lthn.ai/core/config v0.1.2 forge.lthn.ai/core/go-process v0.1.0 forge.lthn.ai/core/go-ws v0.1.3 forge.lthn.ai/core/gui v0.0.0 diff --git a/go.sum b/go.sum index a833cfb..614727e 100644 --- a/go.sum +++ b/go.sum @@ -4,10 +4,7 @@ forge.lthn.ai/core/go v0.2.2 h1:JCWaFfiG+agb0f7b5DO1g+h40x6nb4UydxJ7D+oZk5k= forge.lthn.ai/core/go v0.2.2/go.mod h1:gE6c8h+PJ2287qNhVUJ5SOe1kopEwHEquvinstpuyJc= forge.lthn.ai/core/go-ai v0.1.5 h1:iOKW5Wv4Pquc5beDw0QqaKspq3pUvqXxT8IEdCT13Go= forge.lthn.ai/core/go-ai v0.1.5/go.mod h1:h1gcfi7l0m+Z9lSOwzcqzSeqRIR/6Qc2vqezBo74Rl0= -forge.lthn.ai/core/go-api v0.1.0 h1:j4cn/cpDkSecN2TNcksmqtFKlA9R61VSkbIIwSiujaU= -forge.lthn.ai/core/go-api v0.1.0/go.mod h1:ECZtO2R6ZYF80tBBedhmkEUw6Oqjs5jM34+XpdeZUEw= -forge.lthn.ai/core/go-config v0.1.2 h1:W2Rf7PhVeugTjHZ9XbEr1yMCYY6r1r5fyUmQcM2C9xY= -forge.lthn.ai/core/go-config v0.1.2/go.mod h1:6jZZ0XQaSSiWiZjiNfibMEfSPehsBGwfToh//QGhN7E= +forge.lthn.ai/core/go-api v0.1.2 h1:zGmU2CqCQ0n0cntNvprdc7HoucD4E631wBdZw+taK1w= forge.lthn.ai/core/go-inference v0.1.0 h1:pO7etYgqV8LMKFdpW8/2RWncuECZJCIcf8nnezeZ5R4= forge.lthn.ai/core/go-inference v0.1.0/go.mod h1:jfWz+IJX55wAH98+ic6FEqqGB6/P31CHlg7VY7pxREw= forge.lthn.ai/core/go-io v0.0.5 h1:oSyngKTkB1gR5fEWYKXftTg9FxwnpddSiCq2dlwfImE= diff --git a/main.go b/main.go index 4c019fd..824bd16 100644 --- a/main.go +++ b/main.go @@ -13,7 +13,7 @@ import ( "forge.lthn.ai/core/api" "forge.lthn.ai/core/api/pkg/provider" - "forge.lthn.ai/core/go-config" + "forge.lthn.ai/core/config" process "forge.lthn.ai/core/go-process" processapi "forge.lthn.ai/core/go-process/pkg/api" "forge.lthn.ai/core/go-ws"