fix(#298): add go install instructions to bundled notion-cli plugin - #375
Conversation
Add `go install github.com/4ier/notion-cli@latest` as the primary install path, with a symlink step so the binary is available as `notion` (matching the plugin's checks and command invocations). Keep Homebrew, npm, GitHub Releases, and Scoop as alternatives in the guidance note and skill docs. Fixes #298 Generated with [Devin](https://devin.ai) Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
📝 WalkthroughWalkthroughThe PR updates Notion CLI installation guidance across plugin metadata and quickstart documentation. It adds Go installation with binary linking or renaming, documents npm and Scoop options, retains Homebrew and GitHub Releases options, and updates catalog metadata. ChangesNotion CLI installation
Estimated code review effort: 2 (Simple) | ~10 minutes Possibly related issues
Possibly related PRs
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches 💡 1🛠️ Fix failing CI checks 💡
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@plugins/notion-cli/install-guidance.json`:
- Around line 7-8: Make the Go-installed notion binary discoverable on PATH
across all affected sites: in plugins/notion-cli/install-guidance.json, update
the installation guidance and verification command; in
plugins/notion-cli/plugin.json at lines 14-15, 34, and 234, ensure checks and
commands use a PATH-visible binary; and in
plugins/notion-cli/skills/quickstart/SKILL.md lines 61-66, document the same
PATH setup. Either add the Go bin directory to PATH or place the symlink in an
existing PATH directory, keeping all notion invocations consistent.
In `@plugins/notion-cli/skills/quickstart/SKILL.md`:
- Around line 68-80: Update the installation options in the quickstart
documentation to include an actionable Windows Scoop command, keeping it
consistent with the Scoop option referenced by the PR objectives and
install-guidance.json. Preserve the existing Homebrew, npm, and GitHub Releases
instructions.
🪄 Autofix
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro Plus
Run ID: e6018a72-9c82-46a0-b19b-a3e663f5e3b4
📒 Files selected for processing (4)
plugins/catalog.jsonplugins/notion-cli/install-guidance.jsonplugins/notion-cli/plugin.jsonplugins/notion-cli/skills/quickstart/SKILL.md
| "GOBIN=$(go env GOBIN); GOPATH=$(go env GOPATH); ln -sf \"${GOBIN:-$GOPATH/bin}/notion-cli\" \"${GOBIN:-$GOPATH/bin}/notion\"", | ||
| "Verify: notion --version", |
There was a problem hiding this comment.
🎯 Functional Correctness | 🟠 Major | ⚡ Quick win
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
set -euo pipefail
echo "== candidate files =="
git ls-files 'plugins/notion-cli/*' | sort
echo
echo "== plugin.json relevant lines =="
if [ -f plugins/notion-cli/plugin.json ]; then
nl -ba plugins/notion-cli/plugin.json | sed -n '1,80p;30,40p;225,240p'
fi
echo
echo "== install guidance =="
if [ -f plugins/notion-cli/install-guidance.json ]; then
nl -ba plugins/notion-cli/install-guidance.json | sed -n '1,80p'
fi
echo
echo "== quickstart relevant lines =="
if [ -f plugins/notion-cli/skills/quickstart/SKILL.md ]; then
nl -ba plugins/notion-cli/skills/quickstart/SKILL.md | sed -n '50,75p'
fi
echo
echo "== command/devenv references to notion binaries and PATH =="
rg -n 'which notion|notion auth|notion-cli|notion"|NOTION_CLI|NOTION' plugins/notion-cli -SRepository: javimosch/supercli
Length of output: 400
🏁 Script executed:
#!/bin/bash
set -euo pipefail
echo "== plugin.json relevant lines =="
if [ -f plugins/notion-cli/plugin.json ]; then
awk '{printf "%6d\t%s\n", NR, $0}' plugins/notion-cli/plugin.json | sed -n '1,80p;30,40p;225,240p'
else
echo "missing plugins/notion-cli/plugin.json"
fi
echo
echo "== install guidance =="
if [ -f plugins/notion-cli/install-guidance.json ]; then
awk '{printf "%6d\t%s\n", NR, $0}' plugins/notion-cli/install-guidance.json | sed -n '1,80p'
else
echo "missing plugins/notion-cli/install-guidance.json"
fi
echo
echo "== quickstart relevant lines =="
if [ -f plugins/notion-cli/skills/quickstart/SKILL.md ]; then
awk '{printf "%6d\t%s\n", NR, $0}' plugins/notion-cli/skills/quickstart/SKILL.md | sed -n '50,75p'
else
echo "missing plugins/notion-cli/skills/quickstart/SKILL.md"
fi
echo
echo "== command/devenv references to notion binaries and PATH =="
rg -n 'which notion|notion auth|notion-cli|notion"|NOTION_CLI|NOTION' plugins/notion-cli -S
echo
echo "== metadata references =="
if [ -f plugins/notion-cli/meta.json ]; then
awk '{printf "%6d\t%s\n", NR, $0}' plugins/notion-cli/meta.json | sed -n '1,80p;225,245p'
fiRepository: javimosch/supercli
Length of output: 14511
🌐 Web query:
Go install command GOBIN default path $GOPATH/bin documentation
💡 Result:
The go install command installs executable binaries into the directory specified by the GOBIN environment variable [1][2]. If GOBIN is not explicitly set, it defaults to the bin subdirectory of the primary GOPATH [1][2]. If GOPATH itself is not set, the default GOPATH is $HOME/go on Unix systems (such as Linux and macOS) and %USERPROFILE%\go on Windows [2][3]. Consequently, when neither GOBIN nor GOPATH is explicitly configured, the default installation path is $HOME/go/bin or %USERPROFILE%\go\bin, respectively [1][2]. You can verify the current effective location for your environment by running the command go env GOBIN or go env GOPATH [2][4]. To change the installation directory, you can set the GOBIN environment variable using the command go env -w GOBIN=/your/custom/path [2][4].
Citations:
- 1: https://pkg.go.dev/cmd/go
- 2: https://go.dev/doc/code
- 3: https://go.dev/wiki/GOPATH
- 4: https://go.dev/doc/tutorial/compile-install
🌐 Web query:
SuperCLI plugin binary check which command binary check mechanism
💡 Result:
The binary check mechanism for SuperCLI plugins depends on the specific project implementation, as multiple tools use this name. For the javimosch/supercli ecosystem, plugin binary requirements are handled via manifest files and diagnostics [1][2]: 1. Manifest-Driven Configuration: Plugins bundle a plugin.json manifest that includes metadata and dependency requirements [2][3]. Developers can define specific binary and environment variable checks within this configuration to ensure that required external dependencies are present on the host system [1]. 2. Diagnostic Checks: When a command is executed, SuperCLI provides diagnostic mechanisms to assist users when dependencies or binaries are missing [1][2]. If a required binary (such as a Zig-based plugin component) is not found, the system often provides feedback and may suggest alternatives, such as using a Node.js fallback runtime that shares the same plugin state [2][3]. 3. Sync and Validation: During server-client synchronization (supercli sync), the system validates plugin payloads via checksums and signature checks to ensure integrity [4]. For the snakex21/SuperCli implementation (a Go-based AI coding agent), the binary check mechanism is integrated into the core diagnostic system [5]: 1. Doctor Command: The --doctor flag (or /doctor in the TUI) executes a suite of diagnostics that explicitly verify binary paths, environment configurations, and the availability of essential tools (such as git or ripgrep) [5]. 2. Runtime Startup Checks: The binary performs automatic startup checks to ensure that required directories (like the data directory) are writable, providing clear error instructions if the environment is incorrectly configured [5]. Because SuperCLI is a name shared by different projects, you should verify which implementation you are using by checking the repository or documentation provided in your specific environment [2][5].
Citations:
- 1: javimosch/commiat@1abc27a
- 2: https://github.com/javimosch/supercli/blob/master/README.md
- 3: https://github.com/javimosch/supercli
- 4: https://github.com/javimosch/supercli/blob/master/docs/features/server-plugins.md
- 5: https://github.com/snakex21/SuperCli
Make the Go-installed notion binary discoverable through PATH.
The Go install path is not always on PATH, but plugin.json checks and commands rely on notion. If the symlink is placed under ${GOBIN:-$GOPATH/bin}, set PATH or install into an existing PATH directory. Apply this to plugins/notion-cli/install-guidance.json, plugins/notion-cli/plugin.json, and plugins/notion-cli/skills/quickstart/SKILL.md.
📍 Affects 3 files
plugins/notion-cli/install-guidance.json#L7-L8(this comment)plugins/notion-cli/plugin.json#L14-L15plugins/notion-cli/plugin.json#L34-L34plugins/notion-cli/plugin.json#L234-L234plugins/notion-cli/skills/quickstart/SKILL.md#L61-L66
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@plugins/notion-cli/install-guidance.json` around lines 7 - 8, Make the
Go-installed notion binary discoverable on PATH across all affected sites: in
plugins/notion-cli/install-guidance.json, update the installation guidance and
verification command; in plugins/notion-cli/plugin.json at lines 14-15, 34, and
234, ensure checks and commands use a PATH-visible binary; and in
plugins/notion-cli/skills/quickstart/SKILL.md lines 61-66, document the same
PATH setup. Either add the Go bin directory to PATH or place the symlink in an
existing PATH directory, keeping all notion invocations consistent.
| Or install with Homebrew: | ||
|
|
||
| ```bash | ||
| brew install 4ier/tap/notion-cli | ||
| ``` | ||
|
|
||
| Or download binary from [GitHub Releases](https://github.com/4ier/notion-cli/releases). | ||
| Or install with npm: | ||
|
|
||
| ```bash | ||
| npm install -g @4ier/notion-cli | ||
| ``` | ||
|
|
||
| Or download a binary from [GitHub Releases](https://github.com/4ier/notion-cli/releases). |
There was a problem hiding this comment.
📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win
Document the Scoop installation option.
The PR objectives and plugins/notion-cli/install-guidance.json list Scoop, but this quickstart lists only Homebrew, npm, and GitHub Releases. Add an actionable Scoop installation command for Windows, or remove the option from the other guidance.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@plugins/notion-cli/skills/quickstart/SKILL.md` around lines 68 - 80, Update
the installation options in the quickstart documentation to include an
actionable Windows Scoop command, keeping it consistent with the Scoop option
referenced by the PR objectives and install-guidance.json. Preserve the existing
Homebrew, npm, and GitHub Releases instructions.
Automated maintenance run by automaintainer.
Focus: == ASSIGNED OBJECTIVE ==
Fix GitHub issue #298 ONLY: Add 4ier/notion-cli as a bundled plugin in SuperCLI. PR title MUST reference #298.
OPEN PR AWARENESS (secondary — do not replace the ASSIGNED OBJECTIVE):
These open pull requests are already open and awaiting review. Do NOT start UNRELATED work on the files they touch. If your ASSIGNED OBJECTIVE requires editing one of those files, complete the objective anyway. Never abandon the objective to pick a different GitHub issue just to avoid overlap.
touches: plugins/notion-cli/install-guidance.json, plugins/notion-cli/plugin.json, plugins/notion-cli/skills/quickstart/SKILL.md
touches: plugins/notion-cli/install-guidance.json, plugins/notion-cli/plugin.json, plugins/notion-cli/skills/quickstart/SKILL.md
touches: plugins/notion-cli/install-guidance.json, plugins/notion-cli/plugin.json, plugins/notion-cli/skills/quickstart/SKILL.md
touches: plugins/notion-cli/install-guidance.json, plugins/notion-cli/plugin.json, plugins/notion-cli/skills/quickstart/SKILL.md
touches: plugins/notion-cli/install-guidance.json, plugins/notion-cli/plugin.json, plugins/notion-cli/skills/quickstart/SKILL.md
touches: plugins/notion-cli/install-guidance.json, plugins/notion-cli/plugin.json, plugins/notion-cli/skills/quickstart/SKILL.md
run <plugin> <resource> <action>one-shot command #365 (am/am-f17c27-dkdoeotqzvn8-3120cd1a): fix(feat:sc run <plugin> <action>— one-shot discover+install+execute #335): implementrun <plugin> <resource> <action>one-shot commandtouches: tests/run-command.test.js, cli/help-json.js, cli/help.js, cli/run.js, cli/supercli.js
touches: .github/workflows/sc-machin-release.yml, README.md, supercli-machin-cli/README.md, supercli-machin-cli/install.sh
Branch:
am/am-f17c27-dkhqnrk3bv9y-8c231631Diff:
Summary by CodeRabbit
notion-clibinary tonotion.