feat: add direct command activation#632
Conversation
Deploying with
|
| Status | Name | Latest Commit | Preview URL | Updated (UTC) |
|---|---|---|---|---|
| ✅ Deployment successful! View logs |
biwa-docs | db675f0 | Commit Preview URL Branch Preview URL |
May 19 2026, 01:36 AM |
There was a problem hiding this comment.
Code Review
This pull request introduces "Direct Commands," a feature that allows users to execute remote commands via shell shims without explicitly using the biwa run command. It adds a new activate subcommand to manage these shims and generate shell integration scripts for Bash, Zsh, and Fish. The configuration is expanded with a direct section to define allowed commands and shim behavior. Feedback from the review suggests optimizing performance by avoiding redundant configuration loading and regex recompilation. Additionally, a bug was identified in the regex splitting logic used for shim materialization, which fails to correctly handle escaped pipe characters.
73af993 to
1d8be45
Compare
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #632 +/- ##
==========================================
+ Coverage 41.28% 48.91% +7.63%
==========================================
Files 16 26 +10
Lines 671 2349 +1678
==========================================
+ Hits 277 1149 +872
- Misses 394 1200 +806 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
1d8be45 to
bff6997
Compare
bff6997 to
db675f0
Compare
Fixes #209.
Summary
[direct]config for allowed direct command shims, exact per-commandbiwa rundefaults, install directory, and local-command preferencebiwa activate --shell <bash|zsh|fish>biwa activate doctorand shim creation tobiwa activate install [--force]direct.default_argsasbiwa runoptions, so commands that do not depend on synced files can default to options such as--skip-syncdirect.bin_dirfrom the platform/XDG data directory while preserving explicit config and env overridesFollow-up
direct.default_argskeys to prefix and regex matchers.Verification
mise run render:schemamise run test:update-snapshotmise run check:oxfmtmise run testLINT=true mise run check