Skip to content

Init: make documented --builders selection work from a fresh repository #954

Description

@jeffhuber

Problem

Documentation and generated guidance still show code-mower init --builders codex,claude,cursor, but that command exits non-zero in a fresh repository without code-mower.yml. The equivalent command works only with --easy or --with, so the documented first-run path contradicts the CLI contract.

Outcome

A newcomer can copy every documented builder-selection command in a repository with no Code Mower configuration and receive a clear preview before any mutation.

Acceptance criteria

  • Choose and enforce one cold-start contract: either make bare init --builders ... use the starter configuration, or replace every first-run occurrence with the required --easy/--with form.
  • Prefer one canonical spelling across help, docs, session guidance, templates, and generated next steps.
  • Preview remains the default; writing files still requires explicit apply/output behavior.
  • Existing repositories continue to use their selected configuration and profile without silently falling back to the starter.
  • Error messages distinguish a missing configuration from an invalid requested lane.
  • Add fresh-directory, configured-repository, profile, dry-run, and documentation-contract tests.
  • Deliver as one independently reviewed PR after Devin v1.4.0; it does not block Release: publish and qualify Code Mower v1.4.0 with Devin peer support #912.

Evidence

Reproduced in a metadata-only v1.3.1 adoption run on a fresh hosted checkout. init --easy --builders ... and init --with ... worked; the documented bare form failed before preview.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions