Skip to content

Restructure cmd/ into conventional cmd/omes + cmd/dev layout#382

Open
lilydoar wants to merge 1 commit into
lilydoar/stack/13from
lilydoar/stack/14
Open

Restructure cmd/ into conventional cmd/omes + cmd/dev layout#382
lilydoar wants to merge 1 commit into
lilydoar/stack/13from
lilydoar/stack/14

Conversation

@lilydoar
Copy link
Copy Markdown
Contributor

@lilydoar lilydoar commented May 29, 2026

Stacked PRs:


Restructure cmd/ into conventional cmd/omes + cmd/dev layout

User-facing change: the CLI is now invoked as ./cmd/omes (previously
./cmd) -- e.g. go run ./cmd/omes run-scenario .... README, CI, the worker
Dockerfiles, and cmd/dev/test.go are updated; any external scripts that call
go run ./cmd must switch to ./cmd/omes.

Per Go convention, cmd/ is a container of binary subdirectories, each named
after the binary it produces. Previously the omes binary's main lived at the
cmd/ root (built via ./cmd, producing a binary named 'cmd' that Docker had to
rename with -o), with its implementation factored into a separate package cli
plus a one-line cmd/main.go shim purely to keep the cmd/ root tidy.

Move the implementation into cmd/omes as package main (func main), delete the
cli package indirection and the shim. The omes binary now builds via
./cmd/omes and is named 'omes' automatically.

Testing: go build ./... passes; go run ./cmd/omes --help and
go run ./cmd/omes list-scenarios work.

@lilydoar lilydoar requested review from a team as code owners May 29, 2026 21:13
User-facing change: the CLI is now invoked as `./cmd/omes` (previously
`./cmd`) -- e.g. `go run ./cmd/omes run-scenario ...`. README, CI, the worker
Dockerfiles, and cmd/dev/test.go are updated; any external scripts that call
`go run ./cmd` must switch to `./cmd/omes`.

Per Go convention, cmd/ is a container of binary subdirectories, each named
after the binary it produces. Previously the omes binary's main lived at the
cmd/ root (built via ./cmd, producing a binary named 'cmd' that Docker had to
rename with -o), with its implementation factored into a separate package cli
plus a one-line cmd/main.go shim purely to keep the cmd/ root tidy.

Move the implementation into cmd/omes as package main (func main), delete the
cli package indirection and the shim. The omes binary now builds via
./cmd/omes and is named 'omes' automatically.

Testing: `go build ./...` passes; `go run ./cmd/omes --help` and
`go run ./cmd/omes list-scenarios` work.

stack-info: PR: #382, branch: lilydoar/stack/14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant