Virgil
2a9177a30b
feat(pkg): add json output for pkg update
...
Security Scan / security (push) Successful in 18s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 05:38:12 +00:00
Virgil
58f07603cd
fix: allow pkg update without package args
Security Scan / security (push) Successful in 20s
2026-04-02 05:16:51 +00:00
Virgil
cdc765611f
fix(help): add HTTP serve subcommand
Security Scan / security (push) Successful in 20s
2026-04-02 04:57:59 +00:00
Virgil
181d9546b4
feat(help): show topic previews
...
Security Scan / security (push) Successful in 17s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 04:51:19 +00:00
Virgil
f13c3bf095
fix: add go check to doctor
Security Scan / security (push) Successful in 20s
2026-04-02 04:17:35 +00:00
Virgil
fcadba08b1
feat(pkg): support install refs in shorthand
...
Security Scan / security (push) Waiting to run
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 03:47:53 +00:00
Virgil
32342dfd31
feat(pkg): accept install repo shorthand
...
Security Scan / security (push) Successful in 20s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 03:36:43 +00:00
Virgil
4c072f9463
feat(pkg): show full repo names in search results
...
Security Scan / security (push) Successful in 16s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-31 20:26:25 +00:00
Virgil
04d244425b
feat(pkg): honor search limit after cache
...
Security Scan / security (push) Successful in 14s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-31 20:24:10 +00:00
Virgil
d50b006af9
feat(help): show snippets in search results
...
Security Scan / security (push) Waiting to run
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-31 20:21:03 +00:00
Virgil
9aff00de1e
feat(pkg): add JSON output for pkg outdated
...
Security Scan / security (push) Successful in 15s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-31 20:07:59 +00:00
Virgil
10de071704
feat(pkg): add JSON output for package search
...
Security Scan / security (push) Successful in 19s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-31 19:59:57 +00:00
Virgil
7fda1cf320
fix(pkg): accept positional search patterns
...
Security Scan / security (push) Successful in 18s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-31 19:54:26 +00:00
Virgil
0595bf7e0f
feat(pkg): show search repo metadata
...
Security Scan / security (push) Successful in 15s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-31 19:50:59 +00:00
Virgil
1dd401fa04
feat(pkg): add json format for package list
...
Security Scan / security (push) Successful in 15s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-31 19:45:42 +00:00
Virgil
c67582c76b
fix(help): make help command AX-friendly
...
Security Scan / security (push) Successful in 21s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-31 19:31:23 +00:00
Snider
92da6e8a73
refactor: migrate to dappco.re/go/core + Options{} API
...
Deploy / build (push) Failing after 6s
Security Scan / security (push) Successful in 19s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-21 20:01:25 +00:00
Snider
91de96994a
feat: re-enable go-build imports (SDK dep conflict fixed)
...
Deploy / build (push) Failing after 4s
Security Scan / security (push) Successful in 15s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-17 02:28:17 +00:00
Snider
5ebdc602d1
fix: defer doctor i18n.T() to AddDoctorCommands
...
Deploy / build (push) Failing after 4s
Security Scan / security (push) Successful in 15s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-17 02:22:04 +00:00
Snider
d67295ad2a
fix: attach commands after Core startup, disable go-build SDK conflict
...
Deploy / build (push) Failing after 4s
Security Scan / security (push) Successful in 14s
Commands now attach AFTER i18n service starts — translations resolve.
go-build imports commented out until kin-openapi dep conflict is fixed.
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-17 02:00:43 +00:00
Snider
417c7cbbf4
fix(cmd/core): update ecosystem deps, fix cross-compilation
...
Deploy / build (push) Failing after 3s
Security Scan / security (push) Successful in 13s
go-devops v0.0.3→v0.1.9, go-build v0.2.0→v0.2.3, lint v0.3.0→v0.3.2.
Resolves stale core/go/pkg/* import paths. Binary cross-compiles
with GOWORK=off CGO_ENABLED=0.
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-16 16:43:57 +00:00
Snider
1dd0cfb79d
feat(cmd/core): restore ecosystem commands in binary sub-module
...
Deploy / build (push) Failing after 3s
Security Scan / security (push) Successful in 14s
Ecosystem imports (go-devops, go-build, go-scm, lint, go-crypt) added
back to cmd/core/main.go. Library go.mod stays clean (1 forge dep).
Binary gets full toolchain via workspace build.
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-16 16:40:17 +00:00
Snider
55b556d1af
refactor: split library from binary, remove ecosystem commands
...
Deploy / build (push) Failing after 3s
Security Scan / security (push) Successful in 13s
core/cli is now a pure library (pkg/cli). The binary moves to
cmd/core/ as a separate sub-module with its own go.mod.
Removed from binary: gocmd (→ lint/go-build), service (→ go-process),
session (→ go-session), module (→ go-scm), plugin (→ go-scm).
Removed from framework: go-crypt, workspace, daemon_cmd.
Root go.mod: 1 direct forge dep (core/go). Cross-compiles CGO_ENABLED=0.
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-16 16:14:40 +00:00
Snider
7e2c7cd2f6
fix: remove ecosystem imports, fix module installer signature
...
Deploy / build (push) Failing after 4s
Security Scan / security (push) Successful in 13s
Strip 21 blank imports that dragged go-ml, go-devops, go-build, etc.
into the CLI binary. core CLI should only have its own commands.
Fixes marketplace.NewInstaller call to match current signature.
Direct deps: core/go only (was: 22 forge packages).
Binary: 24MB (was: ~80MB). Cross-compiles with CGO_ENABLED=0.
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-16 15:56:43 +00:00
Snider
bde3b27bd5
refactor: update import path from go-config to core/config
...
Deploy / build (push) Failing after 4s
Security Scan / security (push) Successful in 13s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-14 10:23:11 +00:00
Snider
76cd3a5306
refactor: code quality improvements from Gemini review
...
Deploy / build (push) Failing after 4s
Security Scan / security (push) Successful in 13s
- Split frame.go: extract built-in components to frame_components.go
- Replace custom indexOf with strings.Index in frame_test.go
- Make prompt.go testable: accept io.Reader via SetStdin, add tests
- Decompose runGoQA: extract emitQAJSON and emitQASummary helpers
- DRY: centralise loadConfig into cmd/config/cmd.go
- Remove hardcoded MACOSX_DEPLOYMENT_TARGET from test/fuzz/cov commands
- Add error assertions to coverage_test.go
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-09 15:29:44 +00:00
Snider
79e6587d8a
fix: poll process via Signal(0) in stopDaemon for PID reuse safety
...
Deploy / build (push) Failing after 4s
Security Scan / security (push) Successful in 11s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-09 15:10:48 +00:00
Snider
fd8cd31b76
feat: add core start/stop/list/restart for manifest-driven daemons
...
Deploy / build (push) Failing after 3s
Security Scan / security (push) Successful in 13s
Reads .core/manifest.yaml, resolves daemon specs, and manages lifecycle
via the go-process registry (~/.core/daemons/). Supports health checks,
detached process launch, and per-project daemon tracking.
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-09 14:58:21 +00:00
Snider
7f555c6f8a
feat: absorb gocmd from core/go
...
Deploy / build (push) Failing after 3s
Security Scan / security (push) Successful in 13s
Move Go dev commands (test, fmt, lint, fuzz, qa, tools) into cli.
core/cli is now the sole producer of the 'core' binary.
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-06 13:58:40 +00:00
Snider
f7d72c843b
refactor: swap pkg imports to standalone modules
...
Deploy / build (push) Failing after 3s
Security Scan / security (push) Successful in 16s
- pkg/session → go-session (ParseTranscript now returns ParseStats)
- pkg/workspace → go-io/workspace
- pkg/manifest,marketplace,plugin,repos → go-scm (from prior session)
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-06 13:48:07 +00:00
Snider
4f1d9a5c3b
refactor: swap pkg/{io,log} imports to go-io/go-log
...
Deploy / build (push) Failing after 3s
Security Scan / security (push) Successful in 12s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-06 12:23:33 +00:00
Snider
71cf86c02e
refactor: use core/go-help module instead of core/go/pkg/help
...
Deploy / build (push) Failing after 3s
Security Scan / security (push) Successful in 12s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-06 09:11:59 +00:00
Snider
945be23adc
refactor: use core/go-i18n module instead of core/go/pkg/i18n
...
Deploy / build (push) Failing after 4s
Security Scan / security (push) Successful in 12s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-06 09:09:06 +00:00
Claude
63a73a9852
chore: sort.Slice → slices.SortFunc
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 16:25:54 +00:00
Claude
c2a57f2227
chore: fmt.Errorf(static) → errors.New
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 16:25:14 +00:00
Claude
178e49b174
chore: replace interface{} with any (Go 1.18+ alias)
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 16:21:49 +00:00
Claude
6a8bd92189
feat: add pkg/cli with TUI components ( #14 , #15 )
...
Deploy / build (push) Failing after 4s
Security Scan / security (push) Successful in 15s
Move pkg/cli from core/go to core/cli. Includes Frame AppShell,
Stream, TaskTracker, Tree, Rich Table. Update imports to v0.0.1
tagged deps and fix openpgp import path for go-crypt split.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-22 20:42:00 +00:00
Snider
7303ba6f23
refactor: register commands through Core framework lifecycle
...
Deploy / build (push) Failing after 4s
Security Scan / security (push) Successful in 18s
Replace init() + cli.RegisterCommands() with cli.WithCommands() passed
to cli.Main(). Commands now register as framework services and receive
the root command during OnStartup — no global state, no blank imports.
Co-Authored-By: Virgil <virgil@lethean.io>
2026-02-21 22:08:01 +00:00
Snider
b6468b8e6f
refactor: move 9 cmd packages to ecosystem repos
...
Deploy / build (push) Failing after 3s
Security Scan / security (push) Successful in 15s
- cmd/go → core/go cmd/gocmd
- cmd/dev, setup, qa, docs, gitcmd, monitor → go-devops
- cmd/lab → go-ai
- cmd/workspace → go-agentic
CLI now imports commands from ecosystem repos via blank imports.
Remaining local: config, doctor, help, module, pkgcmd, plugin, session.
Co-Authored-By: Virgil <virgil@lethean.io>
2026-02-21 21:46:24 +00:00
Snider
a9fe9fe04b
refactor: move core-app, updater, vanity-import, community out of CLI
...
Deploy / build (push) Failing after 3s
Security Scan / security (push) Successful in 15s
- cmd/core-app/ → core framework repo (workspace module)
- cmd/updater/ → go-devops
- cmd/vanity-import/ → go-devops
- cmd/community/ → go-devops
- Remove stale Taskfile tasks for moved products (ide, app, bugseti)
Co-Authored-By: Virgil <virgil@lethean.io>
2026-02-21 21:33:15 +00:00
Snider
4e76e96039
refactor: remove external repo imports and clean .core/
...
Deploy / Test (push) Failing after 2s
Deploy / Build App Image (push) Has been skipped
Deploy / Build Web Image (push) Has been skipped
Deploy / Build Core Image (push) Failing after 2m8s
Deploy / Deploy to Production (push) Has been skipped
Security Scan / Secret Detection (push) Successful in 13s
Security Scan / Dependency & Config Scan (push) Successful in 19s
Security Scan / Go Vulnerability Check (push) Successful in 1m26s
Remove all external blank imports from main.go (go-ai, go-api, go-crypt,
go-devops, go-ml, go-netops, go-scm) and delete cmd/ai/. Business logic
moved to proper repos: go-agent, go-agentic, go-ai.
Clean .core/ — remove LinuxKit VM templates, Claude Code plugin, and
ephemeral issue plans. Keep only CLI build/release config.
Drops 504 lines from go.mod/go.sum. CLI no longer pulls ollama, qdrant,
duckdb, or other ML dependencies into its binary or security scan scope.
Co-Authored-By: Virgil <virgil@lethean.io>
2026-02-21 20:51:24 +00:00
Snider
6292fa2c77
fix(ci): harden security scan and Dockerfiles
...
- Upgrade Go to 1.26, FrankenPHP to v1.11.2 (CVE-2026-24894)
- Add non-root USER to all Dockerfiles (Trivy misconfig)
- Upgrade gitleaks to v8.24.3 with arch detection
Co-Authored-By: Virgil <virgil@lethean.io>
2026-02-21 20:51:14 +00:00
Snider
74c61f3698
fix: resolve vet warnings and remove stale workflows
...
Deploy / Test (push) Failing after 1s
Deploy / Build App Image (push) Has been skipped
Security Scan / Secret Detection (push) Successful in 21s
Deploy / Build Web Image (push) Has been skipped
Security Scan / Dependency & Config Scan (push) Failing after 20s
Deploy / Build Core Image (push) Failing after 10m18s
Deploy / Deploy to Production (push) Has been skipped
Security Scan / Go Vulnerability Check (push) Failing after 6m27s
- Fix 11 non-constant format string warnings in cmd/session
(use cli.Print format args instead of fmt.Sprintf wrapper)
- Remove leftover .github/workflows/ from cmd/updater
(ci.yml and release.yml from when updater was standalone)
Co-Authored-By: Virgil <virgil@lethean.io>
2026-02-21 19:54:51 +00:00
Snider
cce9adc043
refactor: migrate 14 cmd packages to their go-* repos
...
Security Scan / Dependency & Config Scan (push) Failing after 22s
Security Scan / Secret Detection (push) Failing after 8s
Security Scan / Go Vulnerability Check (push) Failing after 3m17s
Moved CLI command packages to their respective ecosystem repos:
- go-ai: daemon, mcpcmd, security
- go-api: api
- go-crypt: crypt, testcmd
- go-devops: deploy, prod, vm
- go-netops: unifi
- go-rag: rag
- go-scm: collect, forge, gitea
Updated main.go imports to reference external repos.
Updated cmd/ai to import rag from go-rag.
Deleted 14 cmd/ directories (9,421 lines removed).
Co-Authored-By: Virgil <virgil@lethean.io>
2026-02-21 19:42:16 +00:00
Snider
a7d09e4c67
refactor: migrate cmd/ml to go-ml, remove replaces and go.work
...
Deploy / Deploy to Production (push) Has been skipped
Deploy / Test (push) Failing after 11s
Deploy / Build App Image (push) Has been skipped
Deploy / Build Web Image (push) Has been skipped
Security Scan / Secret Detection (push) Failing after 10s
Security Scan / Go Vulnerability Check (push) Failing after 10m20s
Security Scan / Dependency & Config Scan (push) Failing after 25s
Deploy / Build Core Image (push) Failing after 13m6s
- Move 40 ML command files to forge.lthn.ai/core/go-ml/cmd
- Remove all replace directives from go.mod
- Remove go.work (repos resolve from forge directly)
- Fix cache.New call to match updated API signature
- Update main.go import to forge.lthn.ai/core/go-ml/cmd
Co-Authored-By: Virgil <virgil@lethean.io>
2026-02-21 19:29:23 +00:00
Snider
2e24bb59f6
feat(docs): add --target hugo sync mode for core.help
...
Security Scan / Dependency & Config Scan (push) Failing after 18s
Security Scan / Go Vulnerability Check (push) Failing after 1m16s
Security Scan / Secret Detection (push) Failing after 20s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-02-21 02:27:28 +00:00
Snider
349647d4aa
feat(docs): scan KB/ directory alongside docs/
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-02-21 02:18:29 +00:00
Snider
d6eec4d240
feat(api): add core api spec and core api sdk commands
...
Security Scan / Go Vulnerability Check (push) Waiting to run
Security Scan / Dependency & Config Scan (push) Waiting to run
Security Scan / Secret Detection (push) Waiting to run
New command group for OpenAPI spec generation and SDK codegen:
- `core api spec` generates OpenAPI 3.1 spec (JSON/YAML) from route groups
- `core api sdk` generates client SDKs via openapi-generator-cli
- Adds go-api dependency for SpecBuilder, ExportSpec, SDKGenerator
Co-Authored-By: Virgil <virgil@lethean.io>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-21 01:28:58 +00:00
Claude
f078871617
feat(dispatch): add rate-limit backoff and ticket requeue
...
Security Scan / Go Vulnerability Check (push) Waiting to run
Security Scan / Secret Detection (push) Waiting to run
Security Scan / Dependency & Config Scan (push) Waiting to run
When an agent job fails in under 30 seconds (indicating rate limiting
or auth rejection), the watcher now:
- Requeues the ticket back to the queue instead of marking it done
- Applies exponential backoff: 2x, 4x, 8x the base poll interval
- Resets backoff to 1x on successful job completion
This prevents burning through the entire queue during rate-limited
periods. Tested on Clotho (AU) with 15m base → 30m/60m/120m backoff.
Co-Authored-By: Charon <charon@lethean.io>
2026-02-20 13:59:30 +00:00
Claude
15d9d9483a
fix(dispatch): fall back to FORGE_TOKEN env when ticket has no token
...
Security Scan / Go Vulnerability Check (push) Waiting to run
Security Scan / Secret Detection (push) Waiting to run
Security Scan / Dependency & Config Scan (push) Waiting to run
Tickets generated by poll-forge.sh don't include forge_token.
The dispatch runner now checks FORGE_TOKEN env var as fallback,
and gracefully skips reporting if no token is available.
Co-Authored-By: Charon <charon@lethean.io>
2026-02-20 12:57:35 +00:00