Skip to content

docs(readme): lead with npx as the install-free entry point - #4

Merged
protonspy merged 1 commit into
mainfrom
docs/npx-quickstart
Jul 30, 2026
Merged

protonspy merged 1 commit into
mainfrom
docs/npx-quickstart

Conversation

@protonspy

@protonspy protonspy commented Jul 30, 2026 •

Copy link
Copy Markdown
Owner

scc is now on npm as @protonspy/scc (v0.0.1), so the README should route people through it.

Use it — the quickstart ran scc init and friends, which only works after a global install; the npm package was explained 25 lines further down. The four commands now go through npx @protonspy/scc, with one line noting the global-install shorthand.

Install — links the published package, says why there is no toolchain to set up (the launcher resolves the platform binary as an optionalDependencies entry), and adds the pinned npx @protonspy/scc@0.0.1 form for CI.

Docs only — no code, no templates, no validator behavior touched.

🤖 Generated with Claude Code

https://claude.ai/code/session_01K2uD2SD6syaoXnhtqHbzhM

Summary by CodeRabbit

  • Documentation
    • Updated usage instructions to support running scc via npx.
    • Expanded installation guidance, including npm package details and platform-specific binary behavior.
    • Added examples for pinning versions in continuous integration environments.

The quickstart assumed an already-installed `scc` binary while the npm
package — the way most people will actually reach it — was explained 25
lines below. Run the four commands through `npx @protonspy/scc` and note
the global-install shorthand instead.

Install now links the published package, says why there is no toolchain
to set up (the launcher resolves the platform binary as an optional
dependency), and shows the pinned form for CI.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01K2uD2SD6syaoXnhtqHbzhM
@coderabbitai

coderabbitai Bot commented Jul 30, 2026 •

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

README.md now documents scc usage through npx and global installation, identifies the npm package and platform-specific binary behavior, and shows how to pin package versions in CI.

Changes

npm Documentation

Layer / File(s) Summary
Usage and installation guidance
README.md
Usage examples use npx, retain global-install commands, describe the published npm package and platform-specific binaries, and add version-pinning examples for CI.

Estimated code review effort: 1 (Trivial) | ~5 minutes

🚥 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 describes the README change making npx the primary installation-free entry point.
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
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch docs/npx-quickstart

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: 1

🤖 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 `@README.md`:
- Around line 14-17: Update the README’s npx usage wording to say that no global
install is required, remove any claim that it always runs the latest version,
and add the --yes flag to the pinned CI command while preserving the existing
examples.
🪄 Autofix (Beta)

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: 2c6e6961-ea92-486c-b67f-de9e8cfc21cd

📥 Commits

Reviewing files that changed from the base of the PR and between 754ab2c and 1896761.

📒 Files selected for processing (1)
  • README.md

Comment thread README.md
Comment on lines +14 to +17
No install — run it straight from npm inside the repo you want to govern:

```bash
scc init # scaffold .claude/rules/, the review agents, the layout
scc spec new user-auth # specs/user-auth/: requirements.md, design.md, tasks.md
scc plan new checkout-revamp # plans/checkout-revamp.md
scc validate # every check; exit 2 means it found something
npx @protonspy/scc init # scaffold .claude/rules/, the review agents, the layout

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
printf '%s\n' '--- README excerpts ---'
cat -n README.md | sed -n '1,70p'
printf '%s\n' '--- package metadata and npx-related references ---'
rg -n -i 'npx|npm install|global|optionalDependencies|bin|protonspy/scc' package.json package-lock.json README.md 2>/dev/null || true

Repository: protonspy/spec-claude-code

Length of output: 5110


🏁 Script executed:

#!/bin/bash
cat -n README.md | sed -n '1,70p'
rg -n -i 'npx|npm install|global|optionalDependencies|bin|protonspy/scc' package.json package-lock.json README.md 2>/dev/null || true

Repository: protonspy/spec-claude-code

Length of output: 5034


🏁 Script executed:

#!/bin/bash
printf '%s\n' '--- repository package-related files ---'
git ls-files | rg '(^|/)(package\.json|npm|README\.md)$|package'
printf '%s\n' '--- package manifests ---'
find . -name package.json -not -path './node_modules/*' -print

Repository: protonspy/spec-claude-code

Length of output: 348


🌐 Web query:

npm npx documentation local dependencies prompt --yes cache install latest behavior

💡 Result:

In modern npm (v7.0.0 and later), the npx command functions as a wrapper around npm exec [1][2]. Its behavior regarding local dependencies, cache, and user prompts is summarized below: Local Dependencies and Installation npx first attempts to use binaries available in the local project's node_modules/.bin [1][3]. If a requested package is not present in the local dependencies, npx will install the package to the npm cache and add it to the PATH of the executed process [1][4]. Matching Logic - When a package is specified without a version or specifier, npx matches it with the version existing in the local project if available [1][5]. - If a specific version or specifier is provided, npx only considers it a match if it perfectly matches the local dependency [1][3]. - If no match is found, or if you explicitly request a package via --package, npx installs the required package from the registry [1][3]. Prompting and --yes To prevent accidental execution of incorrect or malicious packages (e.g., due to typos), npx will prompt for confirmation before installing any package that is not already present [1][6]. - You can suppress this interactive prompt by using the --yes (or -y) flag [1][2]. - Providing --yes effectively tells npx to proceed with the installation automatically [1][3]. Caching Packages that are not found locally and require installation are fetched and stored in the npm cache, which is then made available to the executed process [1][4]. Note on Modern vs. Legacy Behavior The standalone npx package was deprecated in npm v7.0.0 [1][2]. Modern npx uses npm exec, which replaced the previous, separate installation logic [1][4]. Older flags like --no-install are deprecated and converted to --no, and --ignore-existing has been removed, as local bins are now always included in the PATH [1][2][4].

Citations:


🏁 Script executed:

#!/bin/bash
git ls-files | rg '(^|/)(package\.json|npm|README\.md)$|package'
find . -name package.json -not -path './node_modules/*' -print

Repository: protonspy/spec-claude-code

Length of output: 281


🏁 Script executed:

#!/bin/bash
printf '%s\n' '--- npm/scc/package.json ---'
cat -n npm/scc/package.json
printf '%s\n' '--- npm documentation ---'
cat -n npm/README.md | sed -n '1,180p'
cat -n npm/scc/README.md | sed -n '1,140p'

Repository: protonspy/spec-claude-code

Length of output: 4428


🏁 Script executed:

#!/bin/bash
cat -n npm/scc/package.json
cat -n npm/README.md | sed -n '1,180p'
cat -n npm/scc/README.md | sed -n '1,140p'

Repository: protonspy/spec-claude-code

Length of output: 4373


Make the npx examples accurate and CI-safe.

npx can resolve a matching local dependency or fetch the package into npm’s cache, so “No install” and “always the latest” are misleading. Use “No global install is required,” remove the “always the latest” claim, and add --yes to the pinned CI command.

🤖 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 `@README.md` around lines 14 - 17, Update the README’s npx usage wording to say
that no global install is required, remove any claim that it always runs the
latest version, and add the --yes flag to the pinned CI command while preserving
the existing examples.

@protonspy
protonspy merged commit 5f38516 into main Jul 30, 2026
5 checks passed
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