Skip to content

Setup: thirdshift setup writes the defaults User config with no terminal #127

Closed

Description

@JacobStephens2

Parent

#126

What to build

A new command, thirdshift setup, in its first form: with no terminal (stdin or stderr not a terminal) and no User config, it writes ~/.thirdshift/config.toml with every setting at its default, without asking anything. Every key is written with its real value and a trailing comment giving what it does and its default, in the style of the README's User config example, sections in the order merge, launch, email, logs. email.to, which has no default, is a commented-out example line, the only key ever written commented out. The defaults written: merge.always = false, launch.pull = false, email.always = false, email.from = "onboarding@resend.dev", logs.dir = "~/.thirdshift/logs".

setup is a command only as the first argument, like update and email-test; any argument after it is an argument error (exit 2). help lists it with a description. See the spec in #126.

Acceptance criteria

  • thirdshift setup with no terminal and no User config writes the file described above and exits 0, stdout empty.
  • A Run reads the written file without error and behaves exactly as with no User config.
  • Every key carries a trailing comment naming what it does and its default; email.to is commented out.
  • thirdshift setup <anything> exits 2 with an argument error and the help text on stderr, writing nothing.
  • thirdshift help lists thirdshift setup with a description.
  • The README's User config section describes thirdshift setup and the file it writes.
  • Tests go through the binary with the existing piped Scenario harness.

Blocked by

None (can start immediately).

Metadata

Metadata

Assignees

No one assigned

    Labels

    ready-for-agentFully specified, ready for an AFK agent

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions