Skip to content

feat: replace hand-rolled prompts with cliclack TUI wizard#44

Merged
aptend merged 1 commit intomatrixorigin:mainfrom
aptend:feat/cliclack-wizard
Mar 18, 2026
Merged

feat: replace hand-rolled prompts with cliclack TUI wizard#44
aptend merged 1 commit intomatrixorigin:mainfrom
aptend:feat/cliclack-wizard

Conversation

@aptend
Copy link
Contributor

@aptend aptend commented Mar 18, 2026

What type of PR is this?

  • feat (new feature)
  • fix (bug fix)
  • docs (documentation)
  • style (formatting, no code change)
  • refactor (code change that neither fixes a bug nor adds a feature)
  • perf (performance improvement)
  • test (adding or updating tests)
  • chore (maintenance, tooling)
  • build / ci (build or CI changes)

Which issue(s) this PR fixes

N/A

What this PR does / why we need it

Replace the 6 hand-written prompt functions (prompt(), prompt_secret(), read_password_line(), prompt_multi_choice(), prompt_choice(), prompt_confirm()) and libc dependency with the cliclack crate for a polished interactive onboarding wizard.

Changes

CLI (memoria init -i)

  • Rewrite cmd_init_interactive using cliclack components: intro/outro, note, select, multiselect, input, password, confirm, spinner
  • Project directory is now editable with real-time subdirectory suggestions (type a path ending with / to see suggestions)
  • Embedding flow: select preset first, then all 4 fields shown with preset values as defaults
  • Existing mcp.json values pre-fill all fields (DB host/port/user/pass, embedding URL/key/model/dim)
  • Password and API key fields allow Enter to keep existing value when one exists
  • All embedding presets show explicit URLs (including https://api.openai.com/v1 for OpenAI)

Dependencies

  • Added: cliclack = "0.4"
  • Removed: libc (unix target dependency)

README

  • Recommend memoria init -i (interactive mode) as primary setup method
  • Add memoria init -i to commands table
  • Simplify install section (latest only, remove specific version example)

- Replace 6 hand-written prompt functions + libc dependency with cliclack
- Rewrite cmd_init_interactive using cliclack components (intro/outro, note,
  select, multiselect, input, password, confirm, spinner)
- Make project directory editable with real-time subdirectory suggestions
- Embedding flow: select preset first, then show all fields with defaults
- Existing mcp.json values pre-fill all fields (DB, embedding, API key)
- Password/key fields allow Enter to keep existing value
- Update README: recommend interactive mode, simplify install section
@aptend aptend merged commit ef071bd into matrixorigin:main Mar 18, 2026
4 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