Skip to content

docs: REPL / interactive shell design (#92)#96

Merged
senamakel merged 6 commits into
tinyhumansai:mainfrom
senamakel:design/repl-shell
Mar 30, 2026
Merged

docs: REPL / interactive shell design (#92)#96
senamakel merged 6 commits into
tinyhumansai:mainfrom
senamakel:design/repl-shell

Conversation

@senamakel
Copy link
Copy Markdown
Member

Summary

Design Highlights

  • Reuses existing code paths: invoke_method(), controller registry, RuntimeEngine — zero logic duplication
  • Skills first-class: skill list/start/stop/tools/call shorthand with tab completion for skill IDs and tool names
  • Safety: history file excludes sensitive lines, no secret logging above debug level, in-process (no auth tokens)
  • Scriptable: --eval for one-liners, --batch for CI pipelines
  • Single new dependency: rustyline for line editing + history + completion
  • Phased delivery: MVP REPL → skills commands → script/batch mode

Test plan

  • Review design document at docs/design-repl.md
  • Verify architecture section accurately reflects existing code paths
  • Confirm UX examples are realistic for current controller registry
  • Validate safety approach covers project norms (no secret logging)

Closes #92

🤖 Generated with Claude Code

…ansai#92)

Design-first writeup covering problem statement, UX sketch with example
sessions (skills + non-skill flows), architecture showing how the REPL
reuses existing invoke_method/controller registry/RuntimeEngine without
duplicating logic, safety rules for secret redaction, and phased
implementation milestones (MVP → skills commands → script/batch mode).

Closes tinyhumansai#92

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@senamakel senamakel marked this pull request as draft March 30, 2026 21:42
- Updated Cargo.lock and Cargo.toml to include new dependencies: `clipboard-win`, `endian-type`, `error-code`, `fd-lock`, `home`, `nibble_vec`, `radix_trie`, `rustyline`, and `unicode-segmentation`.
- Enhanced the OnboardingOverlay component to wait for user profile loading before checking onboarding status, improving user experience during onboarding.
- Adjusted dependency versions and added features for `rustyline` in Cargo.toml.
- Added a new REPL module to provide an interactive shell for users, allowing command execution and evaluation.
- Integrated REPL functionality into the CLI, enabling commands like `openhuman repl` and support for options such as `--eval` and `--batch`.
- Enhanced command parsing and execution flow to maintain consistency with existing JSON-RPC server logic, ensuring no duplication of functionality.
- Updated CLI help documentation to include REPL usage instructions.
- Introduced Apple certificate import and code signing steps in the GitHub Actions workflow for macOS, enhancing sidecar security.

This commit lays the groundwork for a more interactive user experience and strengthens the security of the sidecar binary.
- Eliminated the `tool_warning_shown` boolean field from the `ReplState` struct, simplifying the state management within the REPL module.
- Updated the constructor to reflect the removal of this field, ensuring consistency in the initialization of `ReplState`.
- Removed unnecessary parameters from the Tauri build command in the GitHub Actions workflow, streamlining the build process.
- Improved readability of the build configuration by eliminating redundant options.
- Changed the build targets from a single string to an array, specifying individual target formats for improved clarity and flexibility in the build process.
@senamakel senamakel marked this pull request as ready for review March 30, 2026 21:57
@senamakel senamakel merged commit fe277e1 into tinyhumansai:main Mar 30, 2026
2 of 3 checks passed
@senamakel senamakel deleted the design/repl-shell branch March 31, 2026 00:55
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.

[Feature] Design REPL / interactive shell for openhuman binary (skills & flow testing)

1 participant