Skip to content

feat(cli): add repi config interactive form + get/set subcommands#36

Merged
VarunGitGood merged 2 commits into
mainfrom
feat/d8-repi-config
May 19, 2026
Merged

feat(cli): add repi config interactive form + get/set subcommands#36
VarunGitGood merged 2 commits into
mainfrom
feat/d8-repi-config

Conversation

@VarunGitGood
Copy link
Copy Markdown
Owner

Summary

Three subcommands wired to the same `Settings` + `.repi/config.json` write path the web UI uses:

  • `repi config` — interactive form: prompts for every editable field with the current value as default; hides input for `*_API_KEY` fields; `Confirm` for booleans.
  • `repi config get KEY` — print one value; `*_API_KEY` fields masked unless `--unmask`.
  • `repi config set KEY=VALUE` — validate via `Settings` before writing; coerces `true`/`false`/`none`/int.

Validation errors print cleanly (no traceback) and exit nonzero.

Closes #28

Local smoke

```
$ repi config get LLM_PROVIDER
mistral

$ repi config get MISTRAL_API_KEY
PnTr…IFfh

$ repi config get NOPE
Unknown key: NOPE (exit 1)

$ repi config set badformat
Expected KEY=VALUE. (exit 1)
```

Test plan

  • `uv run pytest tests/test_cli_config.py -v` — 10 passed
  • `uv run pytest tests/ -q` — 69 passed
  • Read paths smoke-tested against live `.repi/config.json` (write paths not exercised against the user's local config per guardrail)

🤖 Generated with Claude Code

Three subcommands wired to the same Settings + .repi/config.json write
path the web UI uses:

- `repi config` — interactive form: prompts for every editable field
  with the current value as default; hides input for *_API_KEY fields;
  Confirm for booleans.
- `repi config get KEY` — print one value; *_API_KEY fields masked
  unless --unmask.
- `repi config set KEY=VALUE` — validate via Settings before writing;
  coerces true/false/none/int.

Validation errors print cleanly (no traceback) and exit nonzero.

Closes #28
@vercel
Copy link
Copy Markdown

vercel Bot commented May 19, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
repi Ready Ready Preview, Comment May 19, 2026 2:04pm

Resolve conflict in repi/cli.py — both branches added independent
commands (config subcommands from this branch, doctor from main).
Kept both blocks.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@VarunGitGood VarunGitGood merged commit 60fef78 into main May 19, 2026
3 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.

D8: repi config interactive CLI form

1 participant