Skip to content

feat: chat-driven onboarding via /devpilot-studio:setup + dps set - #3

Merged
mr-kumuditha merged 1 commit into
mainfrom
feat/chat-onboarding
Sep 1, 2026
Merged

mr-kumuditha merged 1 commit into
mainfrom
feat/chat-onboarding

Conversation

@mr-kumuditha

Copy link
Copy Markdown
Owner

The interactive dps config wizard needs a real TTY and fails when run from a slash command. This adds a second, chat-friendly setup path and a non-interactive key setter it builds on. Bumps 1.4.0 -> 1.5.0.

  • dps set : writes one config key with no TTY. KEY is validated against the existing DPS_CONFIG_KEYS allowlist (via _is_config_key); the value is written through the same escaped _write_config used by cmd_config and dps theme, so every other key keeps its value. Unknown key / missing args -> exit 2.
  • commands/setup.md rewritten: run scripts/setup.sh headlessly, then ask theme / show-cost / badge-label in chat, apply each with dps set, show dps demo as a preview, then tell the user to restart. It never invokes cmd_config.
  • cmd_config unchanged.
  • README Quick Start and docs/INSTALL.md now describe the real flow (one slash command + a few chat answers + restart), not "automatic".
  • hooks/hooks.json's Setup event is valid for Claude Code 2.1.252 but only fires on claude --init / --maintenance, never on /plugin install, so it is left in place unchanged and manual /devpilot-studio:setup stays the first-run path.

The interactive `dps config` wizard needs a real TTY and fails when run
from a slash command. This adds a second, chat-friendly setup path and a
non-interactive key setter it builds on. Bumps 1.4.0 -> 1.5.0.

- dps set <KEY> <VALUE>: writes one config key with no TTY. KEY is
  validated against the existing DPS_CONFIG_KEYS allowlist (via
  _is_config_key); the value is written through the same escaped
  _write_config used by cmd_config and dps theme, so every other key
  keeps its value. Unknown key / missing args -> exit 2.
- commands/setup.md rewritten: run scripts/setup.sh headlessly, then ask
  theme / show-cost / badge-label in chat, apply each with `dps set`,
  show `dps demo` as a preview, then tell the user to restart. It never
  invokes cmd_config.
- cmd_config unchanged.
- README Quick Start and docs/INSTALL.md now describe the real flow (one
  slash command + a few chat answers + restart), not "automatic".
- hooks/hooks.json's Setup event is valid for Claude Code 2.1.252 but
  only fires on `claude --init` / `--maintenance`, never on
  /plugin install, so it is left in place unchanged and manual
  /devpilot-studio:setup stays the first-run path.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@mr-kumuditha
mr-kumuditha marked this pull request as ready for review September 1, 2026 07:31
@mr-kumuditha
mr-kumuditha merged commit f4a8d5b into main Sep 1, 2026
2 checks passed
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