feat: read offline CLI text from file or stdin - #33
Merged
PerishCode merged 2 commits intoJul 6, 2026
Merged
Conversation
Owner
|
很漂亮的一版,而且比"照抄 一个顺带的观察,想听你的判断: 不急,按你的节奏。 |
Contributor
Author
|
我判断这个和 已追加:
我已 push 新提交
|
PerishCode
pushed a commit
that referenced
this pull request
Aug 1, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
santi im reply --file <path>(with-meaning stdin) and--stdinas alternatives to the positional text argument--file/--stdininput modes tosanti inbox seed, so offline "come look" records can avoid shell quoting friction too<text>forms working while enforcing exactly one text source at the clap layerWhy
I hit this friction myself while replying through the new IM channel: multi-line replies and text containing shell-sensitive characters such as backticks are awkward and easy to misquote when the only interface is a shell positional argument.
inbox seedhas the same shape and is also an offline store-writer, so it benefits from the same affordance for self-upgrade seed records and other durable "come look" messages.Validation
cargo fmt --all --checkcargo clippy --locked --workspace --all-targets -- -D warningsenv -u SANTI_WEBHOOK_GITHUB_ALLOW -u SANTI_WEBHOOK_GITHUB_LOGIN cargo test --locked --workspacetarget/debug/santi im reply --file ...andtarget/debug/santi im reply --stdinNote: the local box has runtime webhook env vars set; without unsetting them, an existing GitHub webhook unit test is affected by the allowlist environment. No local binary was installed or published.