Overhaul README for clarity, accuracy, and install path#16
Open
mattstein111 wants to merge 1 commit into
Open
Conversation
Lead with the plugin marketplace install (`claude plugin install sms@mattstein111/claude-code-sms`) and push the git-clone flow into a collapsed "from source" block — the marketplace is the path almost every user will take, and burying it behind a clone step was the biggest friction point for new users. Structural changes: - Add explicit Prerequisites section (Bun, provider/DID, tunnel, systemd/launchd, Claude Code) so readers can calibrate fit in 30s - Add "What it looks like" near the top with a real `<channel>` tag and the actual permission-relay SMS text — readers now see the UX before the architecture - Bold the default-deny policy up top; a security-minded reader no longer has to scroll to the gate table to learn unknown numbers are dropped - Make `/sms:configure` the primary configuration path; move the manual .env/access.json walkthrough into a <details> block - Add Troubleshooting section covering the common failure modes (listener down, 401 from provider, silent drop on allowlist, MCP startup crash, permission relay not firing) - Collapse multi-session + DID subscription detail into <details> so the main flow reads cleanly - Add a concrete Cloudflare Tunnel command and a security note that tokens in URL query strings can leak via provider logs Accuracy fixes: - Document `download_attachment`'s required `chat_id` parameter (access scoping) — previously omitted - Document `fetch_messages` response shape and 200-item cap - Document `dmPolicy: "disabled"` alongside `"allowlist"` - Note that permission replies accept `y`/`yes`/`n`/`no`, case-insensitive, with whitespace tolerance - Mention all ten listener security layers in one sentence, not the five from the high-level diagram - Swap `SMS_PROVIDER=twilio` example for `SMS_PROVIDER=other` since voip.ms is the only tested path - Clarify wildcard matching is prefix-based, not area-code-specific - Call out that dedicated providers are not live-tested at the top of their table, not just in Known Limitations - Fix stale "launched March 2026" reference - Replace contradictory license text (was "private, not licensed for distribution" on a public repo with install invites) - Link contributing-a-provider section to real reference files (providers/twilio.ts, providers/other.ts) - Fix launchd plist filename (com.claude.sms-listener.plist) Nits: clarify "their own phone" in opening, add 0.2.3-beta status badge, note chmod 600/700 enforcement rationale. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
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
Full README overhaul applying feedback from an independent review. The goal is to make the marketplace install flow the front door, cover prerequisites explicitly, and fix accuracy gaps between what the README claimed and what the code does.
Structural changes
claude plugin install sms@mattstein111/claude-code-sms— the git-clone flow is now a collapsed "from source" block. This was the single biggest friction point for new users.<channel>tag Claude receives and the actual permission-relay SMS text./sms:configureis now the primary Quick Start path; the manual.env/access.jsonwalkthrough moved into<details>.<details>so the main flow reads cleanly.Accuracy fixes (things the old README got wrong)
download_attachmentrequires achat_idparameter — previously undocumented. Access scoping would bite any user who tried to call it.fetch_messagesresponse shape documented, including the 200-item cap.dmPolicy: "disabled"value is now documented alongside"allowlist".y/yes/n/no, case-insensitive, with whitespace tolerance (regex is/^\s*(y|yes|n|no)\s+([a-km-z0-9]{5})\s*$/i).SMS_PROVIDER=twilioexample swapped forSMS_PROVIDER=othersince voip.ms is the only tested path.claude plugin install. New text says personal project, offered as-is, open an issue if you need a formal license. If you want a proper OSI license (MIT is typical for this kind of plugin), happy to follow up with aLICENSEfile.providers/twilio.ts(dedicated) andproviders/other.ts(generic) as reference implementations.com.claude.sms-listener.plist).Nits
chmod 600/700enforcement rationale.Test plan
LICENSEfile in a follow-up🤖 Generated with Claude Code