Repository navigation
Rename the CLI to allthings, keeping atw as an alias for now - #178
Conversation
The package and binary are allthings (cli/), at 2.0.0-alpha.2. The old name still runs, from the package's atw bin or the installer's atw symlink, and prints a note on stderr. The site it reads is one value, siteOrigin in cli/src/config.ts, which stays on allthingsweb.dev until allthings.dev serves the new site. ALLTHINGS_MCP_URL replaces ATW_MCP_URL, which is still read. Releases ship allthings-<platform> binaries, and a new installer puts allthings and atw in ~/.allthings/bin, falling back to the old asset names for earlier releases.
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configuration
⛔ Files ignored due to path filters (1)
📒 Files selected for processing (29)
💤 Files with no reviewable changes (1)
Limit details: You’ve used the included review currently available. Your 104 included PR review attempts over the past 7 days set your current allowance at 1 review per hour. 📜 Recent review details⏰ Context from checks skipped due to timeout. (5)
🧰 Additional context used🪛 ast-grep (0.45.3)pages/atw-install.bash[error] 6-6: Remote content fetched with curl/wget is piped directly into a shell interpreter, so any server compromise, MITM, or tampered mirror results in arbitrary code execution on this host. Download the script to a file first, verify its integrity (checksum/signature) and inspect it, then run the verified local copy. (curl-pipe-to-shell-bash) 🪛 checkmake (0.3.2)Makefile[warning] 66-66: Required target "all" is missing from the Makefile. (minphony) [warning] 66-66: Required target "clean" is missing from the Makefile. (minphony) [warning] 66-66: Required target "test" is missing from the Makefile. (minphony) 🪛 LanguageToolcli/README.md[uncategorized] ~44-~44: The official name of this software platform is spelled with a capital “H”. (GITHUB) 🪛 zizmor (1.30.1).github/workflows/cli.yaml[warning] 3-21: insufficient job-level concurrency limits (concurrency-limits): workflow is missing concurrency setting (concurrency-limits) 🔇 Additional comments (21)
📝 WalkthroughWalkthroughThe CLI moves from ChangesCLI rename and compatibility
Priority: ➖ Normal Estimated code review effort: 3 (Moderate) | ~25 minutes Change: Feature Sequence Diagram(s)sequenceDiagram
participant installer as pages/install.bash
participant releases as GitHub Releases
participant installDir as Install directory
participant allthings as allthings binary
installer->>releases: Resolve latest release tag when no version is set
installer->>releases: Download allthings platform asset
installer->>releases: Download legacy atw-cli asset if the allthings asset fails
installer->>installDir: Save binary as allthings and create atw symlink
installer->>allthings: Run --help
Merge Risk: ⚪ Minimal · up to No actionable merge-blocking issue remains. A failed download may produce a misleading installer error, but it does not make an otherwise successful installation fail. Security Architecture ReviewSecurity architecture risk: 🔵 Low · up to The rename preserves the CLI’s existing server access and does not introduce additional credentials or privileges. The main concern is upgrade consistency: previously installed atw commands can remain on an older binary after the new installer succeeds. Retained concerns
Security review detailsSecurity Blast Radius
Trust Boundaries and Controls
Resilience and Maintainability Implications
Hardening Proposals
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
Full details: Docstring CoverageExplanation Docstring coverage is 37.50% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 8 functions across 13 files. (9 skipped: 9 unsupported.)
✨ Finishing Touches 💡 1📝 Generate docstrings 💡
✨ Simplify code
Usage-based review receipt
Note This review was completed with usage-based billing: files reviewed beyond your plan's included limits are billed at $0.25/file. View usage-based billing. Comment |
Preview · Change Stack · Checks · Files: +359 −124 in 30 files
What
The CLI ships under the new name:
allthings. It isn'tat, becauseatcollides with/usr/bin/at. It stays a prerelease (2.0.0-alpha.2) until the rebrand launch.allthings, and the directory moves fromatw-cli/tocli/. The Makefile, the CI, lint and release workflows, the README and the other in-repo references follow.atw, from the package'satwbin (src/atw.ts) or the installer'satwsymlink to the compiled binary. The binary tells which name started it fromprocess.argv0.atw, it prints a note on stderr: "atw is now allthings. The old name still works for now and goes away in a later release."siteOriginincli/src/config.tssets the site, anddefaultEndpointderives from it.https://allthingsweb.devuntil allthings.dev serves the new site. Before the domain moves, allthings.dev only redirects, and a redirect drops an MCP POST.ALLTHINGS_MCP_URLis the new override;ATW_MCP_URLis still read when it's unset.cli-release.yamlstill only creates a GitHub release from a tag matchingcli/package.json's version. A hyphenated tag makes it a prerelease. Assets are nowallthings-<platform>. Nothing is published to npm: the package staysprivate.pages/install.bashinstallsallthingsand theatwsymlink in~/.allthings/bin.atw-cli-<platform>, so the installer falls back to that name.ALLTHINGS_VERSIONpicks a prerelease, andATW_VERSIONis still read.pages/atw-install.bash, the old address, now runs the new installer.cli/README.mdand the help text are in the brand voice ("evenings", lowercase all things). The commands (events,event,rsvp, …) keep their names, because scripts and agents rely on them.Verified
argv0allthings --version,--help,eventsandevent nope(exit 3) run, and anatwsymlink prints the note. CI now runs the alias check too.2.0.0-alpha.1falls back to theatw-cli-*assetSummary by CodeRabbit
allthingscommand-line tool, with support for Linux and macOS on x64 and ARM64.atwcommand remains available as an alias and displays a notice; existing endpoint settings continue to work.allthings. The old installer address now directs users to the new installer.