Skip to content

fix(#298): add go install instructions to bundled notion-cli plugin - #374

Open
javimosch wants to merge 1 commit into
masterfrom
am/am-f17c27-dkgyo5mzmfwo-70f504ac
Open

fix(#298): add go install instructions to bundled notion-cli plugin#374
javimosch wants to merge 1 commit into
masterfrom
am/am-f17c27-dkgyo5mzmfwo-70f504ac

Conversation

@javimosch

@javimosch javimosch commented Aug 5, 2026

Copy link
Copy Markdown
Owner

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.

Branch: am/am-f17c27-dkgyo5mzmfwo-70f504ac

Diff:

plugins/notion-cli/install-guidance.json      |  5 +++--
 plugins/notion-cli/plugin.json                |  7 ++++---
 plugins/notion-cli/skills/quickstart/SKILL.md | 17 ++++++++++++++++-
 3 files changed, 23 insertions(+), 6 deletions(-)

Summary by CodeRabbit

  • Documentation
    • Expanded Notion CLI setup instructions with clearer installation options.
    • Added guidance for installing via Go, including a required binary rename/symlink step.
    • Documented additional install methods for Homebrew, npm, GitHub Releases, and Scoop.
    • Clarified version, passthrough, configuration, and output notes for a smoother first-time setup.

Adds the primary `go install github.com/4ier/notion-cli@latest`
installation path and explains how to symlink/rename the resulting
`notion-cli` binary as `notion` so the plugin's `which notion` check
and all commands work.

Fixes #298

Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

@coderabbitai

coderabbitai Bot commented Aug 5, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

The PR updates Notion CLI setup guidance in plugin metadata and quickstart docs. It adds go install instructions, explains the notion-cli to notion rename or symlink step, and lists more installation sources such as npm, GitHub Releases, and Scoop.

Changes

Notion CLI guidance updates

Layer / File(s) Summary
Installation guidance and command messages
plugins/notion-cli/install-guidance.json, plugins/notion-cli/plugin.json, plugins/notion-cli/skills/quickstart/SKILL.md
The install guidance now uses go install and explains the notion-cli to notion symlink or rename step. The plugin dependency messages for version and passthrough commands use the same guidance. The quickstart also adds npm, GitHub Releases, and other installation options while keeping Homebrew guidance.

Estimated code review effort: 2 (Simple) | ~10 minutes

Possibly related PRs

  • javimosch/supercli#370: Updates the same Notion CLI guidance files with the same go install, binary rename or symlink, and alternative installation instructions.
  • javimosch/supercli#373: Modifies the same three Notion CLI files with matching Go install, symlink, and alternative installation guidance.
  • javimosch/supercli#367: Extends the same Notion CLI installation guidance work across the same file set with related Go install changes.
🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and concisely identifies the main change: adding Go installation instructions to the bundled notion-cli plugin.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches 💡 1
🛠️ Fix failing CI checks 💡
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch am/am-f17c27-dkgyo5mzmfwo-70f504ac

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3

🤖 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`:
- Line 7: Separate the POSIX-only install guidance from Windows instructions in
both plugins/notion-cli/install-guidance.json (line 7) and
plugins/notion-cli/plugin.json (line 15). Either add Windows PowerShell/Scoop
installation steps or explicitly label the existing ln -sf commands as Unix-only
in both guidance entries.
- Around line 6-7: Update the Go installation guidance to persistently add the
resolved GOBIN/GOPATH bin directory to PATH after creating the notion symlink,
ensuring the notion command is discoverable. Apply the same install and recovery
guidance consistently in plugins/notion-cli/install-guidance.json lines 6-7,
plugins/notion-cli/plugin.json lines 13-15, 34, and 234, and
plugins/notion-cli/skills/quickstart/SKILL.md lines 61-66; preserve the existing
inline guidance while aligning its PATH instructions with the dedicated install
guidance.

In `@plugins/notion-cli/skills/quickstart/SKILL.md`:
- Line 80: Complete the GitHub Releases installation guidance in SKILL.md by
updating the GitHub Releases link text to point users to the correct
platform-specific binary asset and the required follow-up steps. Add the missing
install flow for the quickstart path: download the appropriate binary, make it
executable, name it notion, and place it on PATH, or replace this line with a
clear pointer to platform-specific installation instructions. Keep the existing
quickstart structure intact and anchor the change to the GitHub Releases
download step.
🪄 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: bd4263a8-3175-4650-99ae-8a66c53e37b9

📥 Commits

Reviewing files that changed from the base of the PR and between 6df5369 and e67a03d.

📒 Files selected for processing (3)
  • plugins/notion-cli/install-guidance.json
  • plugins/notion-cli/plugin.json
  • plugins/notion-cli/skills/quickstart/SKILL.md

Comment on lines +6 to +7
"go install github.com/4ier/notion-cli@latest",
"GOBIN=$(go env GOBIN); GOPATH=$(go env GOPATH); ln -sf \"${GOBIN:-$GOPATH/bin}/notion-cli\" \"${GOBIN:-$GOPATH/bin}/notion\"",

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

printf 'Files:\n'
for f in \
  plugins/notion-cli/install-guidance.json \
  plugins/notion-cli/plugin.json \
  plugins/notion-cli/skills/quickstart/SKILL.md
do
  if [ -f "$f" ]; then
    printf '%s: %s bytes, %s lines\n' "$f" "$(wc -c < "$f")" "$(wc -l < "$f")"
  else
    printf '%s: MISSING\n' "$f"
  fi
done

printf '\nRelevant install guidance/plugin references:\n'
for f in plugins/notion-cli/install-guidance.json plugins/notion-cli/plugin.json plugins/notion-cli/skills/quickstart/SKILL.md; do
  if [ -f "$f" ]; then
    printf '\n--- %s ---\n' "$f"
    rg -n 'notion|^PATH|GOBIN|GOPATH|command|missingDependencyHelp' "$f" -C 2 || true
  fi
done

printf '\nSearch for notion command declaration:\n'
rg -n '"command"[[:space:]]*:[[:space:]]*"notion"|notion-cli|notion' plugins/notion-cli -C 2 || true

printf '\nCheck sc-zig availability:\n'
command -v sc-zig || true
if command -v sc-zig >/dev/null 2>&1; then
  sc-zig --json 2>&1 | python3 - <<'PY'
import json, sys
data=json.load(sys.stdin)
print(type(data).__name__, bool(data) if isinstance(data, (dict,list)) else repr(data))
PY
fi

Repository: javimosch/supercli

Length of output: 31679


🌐 Web query:

Go command go install default GOBIN GO111MODULE documentation GOPATH/bin

💡 Result:

The go install command compiles and installs Go programs (executables) [1][2]. Its installation behavior is governed by environment variables and Go's module-aware mode [1][3]. Installation Directory and GOBIN The location where go install places compiled binaries is determined by the GOBIN environment variable [3][4]. 1. If GOBIN is set, binaries are installed to that absolute path [5][6]. 2. If GOBIN is not set, binaries are installed to the bin subdirectory of the default GOPATH [1][3]. The default GOPATH is $HOME/go on Unix-like systems and %USERPROFILE%\go on Windows [3][4]. 3. Executables in GOROOT are installed to GOROOT/bin or GOTOOLDIR, rather than GOBIN [1][2]. GO111MODULE and Module-Aware Mode The GO111MODULE environment variable controls whether the go command runs in module-aware mode or GOPATH mode [7][8]. - When GO111MODULE=on (or unset in modern Go versions), the go command runs in module-aware mode [7]. - When GO111MODULE=off, the go command runs in GOPATH mode, relying on the GOPATH structure [7]. - When arguments to go install include version suffixes (e.g., @latest), the command automatically runs in module-aware mode and ignores any go.mod file in the current directory [1][9]. In summary, for most modern Go development, module-aware mode is the standard [7]. When you execute go install, the resulting binary is placed in $GOBIN if set, or $GOPATH/bin by default [1][4]. Adding this directory to your PATH environment variable allows you to run the installed commands directly [3][5].

Citations:


Ensure the Go install path creates a discoverable notion command.

go install writes notion-cli to $GOBIN or $GOPATH/bin, and the manifest/checks expect notion, but the Go install steps only link the binary and do not make that directory searchable. Add a persistent PATH addition after creating the notion symlink/link, and keep the inline guidance and recovery messages consistent with the dedicated install guidance.

  • plugins/notion-cli/install-guidance.json#L6-L7
  • plugins/notion-cli/plugin.json#L13-L15
  • plugins/notion-cli/plugin.json#L34
  • plugins/notion-cli/plugin.json#L234
  • plugins/notion-cli/skills/quickstart/SKILL.md#L61-L66
📍 Affects 3 files
  • plugins/notion-cli/install-guidance.json#L6-L7 (this comment)
  • plugins/notion-cli/plugin.json#L13-L15
  • plugins/notion-cli/plugin.json#L34-L34
  • plugins/notion-cli/plugin.json#L234-L234
  • plugins/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 6 - 7, Update the Go
installation guidance to persistently add the resolved GOBIN/GOPATH bin
directory to PATH after creating the notion symlink, ensuring the notion command
is discoverable. Apply the same install and recovery guidance consistently in
plugins/notion-cli/install-guidance.json lines 6-7,
plugins/notion-cli/plugin.json lines 13-15, 34, and 234, and
plugins/notion-cli/skills/quickstart/SKILL.md lines 61-66; preserve the existing
inline guidance while aligning its PATH instructions with the dedicated install
guidance.

"install_steps": [
"brew install 4ier/tap/notion-cli",
"go install github.com/4ier/notion-cli@latest",
"GOBIN=$(go env GOBIN); GOPATH=$(go env GOPATH); ln -sf \"${GOBIN:-$GOPATH/bin}/notion-cli\" \"${GOBIN:-$GOPATH/bin}/notion\"",

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "== candidate files =="
git ls-files | rg '(^|/)plugins/notion-cli/(plugin\.json|install-guidance\.json)$|meta\.json|schema' || true

echo
echo "== notion-cli files =="
for f in plugins/notion-cli/plugin.json plugins/notion-cli/install-guidance.json; do
  if [ -f "$f" ]; then
    echo "--- $f ($(wc -l < "$f") lines) ---"
    cat -n "$f"
  fi
done

echo
echo "== search for platform-conditioned guidance fields =="
rg -n '"installGuidance"|"instructions"|"install_guidance"|"platform|windows|powershell|scoop|ln -sf' plugins/notion-cli .github . -g 'plugins/*/**' || true

Repository: javimosch/supercli

Length of output: 50375


🏁 Script executed:

#!/bin/bash
set -euo pipefail

python3 - <<'PY'
import json
from pathlib import Path

for fp in ["plugins/notion-cli/plugin.json", "plugins/notion-cli/install-guidance.json"]:
    p = Path(fp)
    print(f"== {fp} ==")
    data = json.loads(p.read_text())
    def walk(x, path=""):
        if isinstance(x, dict):
            for k, v in x.items():
                walk(v, f"{path}.{k}" if path else k)
    walk(data)
    print(json.dumps(data, indent=2))
PY

echo
echo "== schema references for install guidance keys =="
git ls-files | rg '(^|/)(meta|plugin|install-guidance).*\.json$|install' || true

Repository: javimosch/supercli

Length of output: 50374


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "== focused notion-cli files =="
for f in plugins/notion-cli/plugin.json plugins/notion-cli/install-guidance.json; do
  echo "--- $f ---"
  cat -n "$f"
done

echo
echo "== focused search in notion-cli =="
rg -n '"install_guidance"|"installGuidance"|"ln -sf"|platform|windows|powershell|scoop|note' plugins/notion-cli || true

echo
echo "== focused search for platform keys in plugin install guidance =="
python3 - <<'PY'
import json, pathlib
for p in pathlib.Path("plugins").glob("*"):
    if not p.is_dir() or p.name.startswith("."):
        continue
    for f in p.glob("plugin.json"):
        try:
            data = json.loads(f.read_text())
        except Exception:
            continue
        ig = data.get("install_guidance", {})
        meta = data.get("meta", {})
        if isinstance(ig, dict) and any(k in ig for k in ["platforms","platform","windows","powershell","scoop","command","install_steps","windows_steps","pwsh","note"]):
            print(f)
            print(json.dumps({"install_guidance": ig, "meta": meta}, indent=2))
PY

Repository: javimosch/supercli

Length of output: 50374


Separate Unix and Windows installation instructions.

Both guidance entries expose only POSIX install steps, including ln -sf, so Windows users can run instructions that fail. Add Windows PowerShell/Scoop steps, or scope these install steps as Unix-only in both plugins/notion-cli/install-guidance.json and the inline plugin.json guidance.

📍 Affects 2 files
  • plugins/notion-cli/install-guidance.json#L7-L7 (this comment)
  • plugins/notion-cli/plugin.json#L15-L15
🤖 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` at line 7, Separate the POSIX-only
install guidance from Windows instructions in both
plugins/notion-cli/install-guidance.json (line 7) and
plugins/notion-cli/plugin.json (line 15). Either add Windows PowerShell/Scoop
installation steps or explicitly label the existing ln -sf commands as Unix-only
in both guidance entries.

npm install -g @4ier/notion-cli
```

Or download a binary from [GitHub Releases](https://github.com/4ier/notion-cli/releases).

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "Tracked file:"
git ls-files | rg '(^|/)plugins/notion-cli/skills/quickstart/SKILL\.md$' || true

echo
echo "Relevant SKILL.md excerpt:"
if [ -f plugins/notion-cli/skills/quickstart/SKILL.md ]; then
  nl -ba plugins/notion-cli/skills/quickstart/SKILL.md | sed -n '1,130p'
fi

echo
echo "Search for 'GitHub Releases' and installation guidance in notion-cli:"
rg -n "Release|releases|DOWNLOAD|download|make \\+a|chmod \\+x|notion|PATH|brew|Linux|macOS|Windows" plugins/notion-cli || true

Repository: javimosch/supercli

Length of output: 285


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "File:"
printf '%s\n' plugins/notion-cli/skills/quickstart/SKILL.md > /tmp/skill_markdown.txt
wc -l /tmp/skill_markdown.txt

echo
echo "Lines 1-140:"
python3 - <<'PY'
from pathlib import Path
p=Path('plugins/notion-cli/skills/quickstart/SKILL.md')
for i,line in enumerate(p.read_text().splitlines(),1):
    if i <= 140:
        print(f'{i:4d}\t{line}')
PY

echo
echo "Installation-related terms:"
python3 - <<'PY'
from pathlib import Path
p=Path('plugins/notion-cli/skills/quickstart/SKILL.md')
terms=['Release','release','DOWNLOAD','download','chmod','notion','PATH','brew','Linux','macOS','Windows']
for i,line in enumerate(p.read_text().splitlines(),1):
    if any(t in line for t in terms):
        print(f'{i}\t{line}')
PY

echo
echo "Related files under plugins/notion-cli:"
python3 - <<'PY'
from pathlib import Path
root=Path('plugins/notion-cli')
for p in sorted(root.rglob('*')):
    if p.is_file() and not ('node_modules' in str(p) or '.git' in str(p)):
        print(p)
PY

Repository: javimosch/supercli

Length of output: 5134


Complete the GitHub Releases installation path.

Line 80 gives a release list link but does not say which platform asset to download, make executable, name notion, or install to PATH. Add those binary installation steps or link to platform-specific instructions.

🤖 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` at line 80, Complete the
GitHub Releases installation guidance in SKILL.md by updating the GitHub
Releases link text to point users to the correct platform-specific binary asset
and the required follow-up steps. Add the missing install flow for the
quickstart path: download the appropriate binary, make it executable, name it
notion, and place it on PATH, or replace this line with a clear pointer to
platform-specific installation instructions. Keep the existing quickstart
structure intact and anchor the change to the GitHub Releases download step.

@javimosch

Copy link
Copy Markdown
Owner Author

🤖 Escalated to CEO: https://github.com/javimosch/am-fleet/issues/43

The rebaser could not resolve conflicts automatically. Reply on the issue above to unblock this PR.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant