Commit graph

225 commits

Author SHA1 Message Date
Claude
6b321fe5c9 refactor(ax): Pass 1 AX compliance sweep — banned imports, naming, tests
Some checks are pending
Security Scan / security (push) Waiting to run
- Remove banned imports (fmt, log, errors, os, strings, path/filepath,
  encoding/json) from all cmd/ packages; replace with core.* primitives
  and cli.* wrappers
- Rename abbreviated variables (cfg→configuration, reg→registry,
  cmd→proc, c→toolCheck/checkBuilder, sb→builder, out→output,
  r→repo/reason, b→branchName) across config, doctor, pkgcmd, help
- Add usage-example comments to all exported functions in pkg/cli
  (strings.go, log.go, i18n.go)
- Add complete Good/Bad/Ugly test triads to all pkg/cli test files:
  new files for command, errors, frame_components, i18n, log, render,
  runtime, strings, utils; updated existing check, daemon, glyph,
  layout, output, ansi, commands, frame, prompt, stream, styles,
  tracker, tree

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-02 17:28:36 +00:00
Virgil
f8ba7be626 fix(pkgcmd): send remove blockers to stderr
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 11:10:24 +00:00
Virgil
1242723ac1 fix(pkgcmd): remove packages from registry
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 10:44:28 +00:00
Virgil
b8bfdcf731 fix(help): add next-step hints to help output
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 10:20:48 +00:00
Virgil
c3f2d6abb7 fix(help): add recovery hint for empty searches
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 10:15:13 +00:00
Virgil
7bf060986d fix(help): add recovery hints to help lookups
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 10:10:56 +00:00
Virgil
aa5c0f810a feat(help): add explicit search subcommand
Some checks are pending
Security Scan / security (push) Waiting to run
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 06:26:19 +00:00
Virgil
f376372630 feat(help): show suggestions for missing topics
All checks were successful
Security Scan / security (push) Successful in 20s
2026-04-02 05:43:29 +00:00
Virgil
2a9177a30b feat(pkg): add json output for pkg update
All checks were successful
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
All checks were successful
Security Scan / security (push) Successful in 20s
2026-04-02 05:16:51 +00:00
Virgil
cdc765611f fix(help): add HTTP serve subcommand
All checks were successful
Security Scan / security (push) Successful in 20s
2026-04-02 04:57:59 +00:00
Virgil
181d9546b4 feat(help): show topic previews
All checks were successful
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
All checks were successful
Security Scan / security (push) Successful in 20s
2026-04-02 04:17:35 +00:00
Virgil
fcadba08b1 feat(pkg): support install refs in shorthand
Some checks are pending
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
All checks were successful
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
All checks were successful
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
All checks were successful
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
Some checks are pending
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
All checks were successful
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
All checks were successful
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
All checks were successful
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
All checks were successful
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
All checks were successful
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
All checks were successful
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
Some checks failed
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)
Some checks failed
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
Some checks failed
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
Some checks failed
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
Some checks failed
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
Some checks failed
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
Some checks failed
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
Some checks failed
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
Some checks failed
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
Some checks failed
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
Some checks failed
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
Some checks failed
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
Some checks failed
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
Some checks failed
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
Some checks failed
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
Some checks failed
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
Some checks failed
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)
Some checks failed
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
Some checks failed
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
Some checks failed
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
Some checks failed
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/
Some checks failed
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