Skip to content

Add interactive setup mode to devlog init #9

Description

@gustmrg

Extend devlog init with an interactive onboarding flow for first-time setup.

Context:

  • Current init creates the base config but does not guide the user through setup
  • DevLog has several useful defaults that are easier to configure once during onboarding
  • An interactive mode would improve first-run UX without removing the ability to script initialization

Expected behavior:

  • Add an interactive mode, preferably via devlog init --interactive
  • Prompt the user for initial configuration values such as:
    • default project
    • default summary style
    • default language
    • whether AI summaries should be enabled
  • If AI is enabled, prompt for:
    • provider
    • model
    • API key environment variable name
      Important behavior:
  • Do not prompt for or persist the actual API key secret value in config
  • Instead, store the environment variable name and print follow-up instructions for exporting the key in the shell
    Related improvements:
  • Make init truly idempotent
  • Create the full directory structure:
    • ~/.devlog/
    • ~/.devlog/entries/
    • ~/.devlog/summaries/
    • ~/.devlog/templates/
  • Avoid overwriting existing config unless explicitly confirmed or forced

Implementation notes:

  • Keep non-interactive devlog init available for automation
  • Interactive mode should use existing config defaults as suggested values where appropriate
  • At the end of setup, print a short “next steps” guide

Acceptance criteria:

  • devlog init --interactive exists and appears in help output
  • The user can complete a guided setup flow
  • Chosen values are saved to ~/.devlog/config.json
  • The full directory structure is created if missing
  • Existing config is not overwritten silently
  • The command prints clear next steps after initialization

Activity

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

Metadata

Metadata

Assignees

Labels

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions