Skip to content

Replace env config with .ship.yaml and ship init#31

Merged
maxBRT merged 2 commits into
mainfrom
wrap/ship-yaml-config
Jul 20, 2026
Merged

Replace env config with .ship.yaml and ship init#31
maxBRT merged 2 commits into
mainfrom
wrap/ship-yaml-config

Conversation

@maxBRT

@maxBRT maxBRT commented Jul 20, 2026

Copy link
Copy Markdown
Owner

Summary

  • Replace SHIP_* environment configuration with a local .ship.yaml (defaults → YAML → flags)
  • Add ship init (and auto-init on first run) that writes filled defaults and ensures .gitignore lists .ship.yaml
  • Drop NO_COLOR; throbber always uses color

Test plan

  • ship init in an empty checkout creates .ship.yaml + .gitignore entry
  • Second ship init prints notice and exits 0 without overwriting
  • ship without config auto-creates, notices on stderr, then runs
  • Flags override YAML values; missing YAML keys error; unknown keys ignored
  • go test ./...

Made with Cursor

maxBRT and others added 2 commits July 19, 2026 22:02
Local YAML is easier to edit and share intentionally via gitignore than
scattered environment variables; flags still override for one-off runs.

Co-authored-by: Cursor <cursoragent@cursor.com>
The .ship directory will hold other local state and is already gitignored,
so drop the separate gitignore handling for the config file.

Co-authored-by: Cursor <cursoragent@cursor.com>
@maxBRT
maxBRT merged commit 24425a0 into main Jul 20, 2026
maxBRT added a commit that referenced this pull request Jul 20, 2026
Re-land PR #44 (and #31/#43) after main was moved off the merge tip by efe74db.
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