Skip to content
This repository was archived by the owner on Jul 18, 2026. It is now read-only.

feat: deploy scripts and docs/deploy.md - #4

Merged
cursor[bot] merged 4 commits into
mainfrom
cursor/deploy-scripts-docs
Apr 21, 2026
Merged

cursor[bot] merged 4 commits into
mainfrom
cursor/deploy-scripts-docs

Conversation

@adrianstanca1

@adrianstanca1 adrianstanca1 commented Apr 21, 2026 •

Copy link
Copy Markdown
Owner

Summary

  • Added scripts/deploy-from-source.sh with pack, link, global, and registry modes for every common install path from a checkout.
  • Added deploy:* scripts in package.json, new docs/deploy.md, cross-links in README.md, docs/advanced-setup.md, and AGENTS.md, and .gitignore entries for npm pack tarballs.

Impact

  • user-facing impact: One doc (docs/deploy.md) and npm scripts describe how to install from npm, pack a tarball, link for dev, or install globally from source.
  • developer/maintainer impact: Less one-off scripting; bun run deploy:* wraps the shell helper; pack artifacts are gitignored.

Testing

  • bun run build
  • bun run smoke
  • focused tests: bun run deploy:pack

Notes

  • provider/model path tested: N/A (documentation and deploy helper only).
  • screenshots attached (if UI changed): N/A.
  • follow-up work or known limitations: deploy-from-source.sh expects bash/macOS/Linux; on Windows, use WSL or follow the manual commands in docs/deploy.md.

Summary by CodeRabbit

  • Documentation

    • Added a comprehensive deploy guide consolidating all installation/workflow options and updated advanced setup to reference it.
  • Chores

    • Added CLI scripts and npm script shortcuts to streamline local install/build/deploy workflows.
    • Added VS Code tasks for running tests, checks, and deployment steps.
    • Updated Git ignore rules to exclude generated package artifacts.

@coderabbitai

coderabbitai Bot commented Apr 21, 2026 •

Copy link
Copy Markdown
📝 Walkthrough

Walkthrough

Adds deployment support: a Bash CLI for four install modes, npm scripts to invoke it, deployment documentation, VS Code tasks, and a .gitignore rule to exclude packed tarballs.

Changes

Cohort / File(s) Summary
Deployment CLI & npm scripts
scripts/deploy-from-source.sh, package.json
New scripts/deploy-from-source.sh CLI with modes `pack
Documentation
docs/deploy.md, docs/advanced-setup.md
Added docs/deploy.md enumerating supported install/deploy flows and fork publishing notes. Updated docs/advanced-setup.md to reference the new deploy doc.
Editor tasks
.vscode/tasks.json
Added VS Code shell tasks for smoke, unit, provider tests, runtime doctor, and two deploy tasks (pack, link).
Version control
.gitignore
Added rule to ignore gitlawb-openclaude-*.tgz pack artifacts.

Sequence Diagram(s)

sequenceDiagram
  participant Dev as "Developer (CLI)"
  participant Script as "deploy-from-source.sh"
  participant Bun as "Bun (install/build)"
  participant Npm as "npm (pack/link/install/registry)"

  Dev->>Script: run with mode (pack|link|global|registry)
  Script->>Bun: bun install --frozen-lockfile
  alt pack
    Script->>Npm: npm pack (produces gitlawb-openclaude-*.tgz)
  else link
    Script->>Bun: bun run build
    Script->>Npm: npm link
  else global
    Script->>Bun: bun run build
    Script->>Npm: npm install -g .
  else registry
    Script->>Npm: npm install -g `@gitlawb/openclaude`@latest
  end
  Script-->>Dev: exit status / messages
Loading

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Poem

🐰
I hopped through scripts to stitch and pack,
Four routes to ship — no tarball backtracked.
Docs and tasks to guide each trail,
A tidy ignore to shoo the snail.
Build, link, or fetch — we leap, not lack!

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title 'feat: deploy scripts and docs/deploy.md' directly and specifically summarizes the main changes: addition of deployment scripts and associated documentation.
Description check ✅ Passed The description follows the template structure with all required sections completed: Summary details what changed and why, Impact addresses both user-facing and developer impacts, Testing includes completed checkboxes, and Notes clarifies limitations and scope.
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.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch cursor/deploy-scripts-docs

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 and usage tips.

@devin-ai-integration devin-ai-integration 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.

✅ Devin Review: No Issues Found

Devin Review analyzed this PR and found no potential bugs to report.

View in Devin Review to see 2 additional findings.

Open in Devin Review

coderabbitai[bot]

This comment was marked as resolved.

Adrian Stanca added 2 commits April 21, 2026 18:12
Add deploy-from-source.sh (pack, link, global, registry) and package.json
deploy:* scripts. Document all install/publish options in docs/deploy.md;
link from README, advanced-setup, AGENTS; ignore npm pack tarballs.

Made-with: Cursor
@adrianstanca1
adrianstanca1 force-pushed the cursor/deploy-scripts-docs branch from 4159242 to 6d58c6f Compare April 21, 2026 17:13
@adrianstanca1
adrianstanca1 marked this pull request as ready for review April 21, 2026 23:22

@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.

♻️ Duplicate comments (1)
docs/deploy.md (1)

68-68: ⚠️ Potential issue | 🟡 Minor

Avoid hardcoding a versioned tarball filename.

gitlawb-openclaude-0.4.0.tgz will become stale and can break copy/paste instructions after version bumps. Use a placeholder or instruct users to use the emitted filename from npm pack.

Suggested docs update
-npm install -g ./gitlawb-openclaude-0.4.0.tgz
+npm install -g ./gitlawb-openclaude-<version>.tgz
+# or install the exact filename emitted by `npm pack`
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/deploy.md` at line 68, The docs currently hardcode the tarball filename
`npm install -g ./gitlawb-openclaude-0.4.0.tgz`, which will break after a
version bump; update the instruction to use a placeholder or the produced
filename from `npm pack` (for example reference
`./gitlawb-openclaude-<version>.tgz` or instruct users to run `npm pack` and
install the emitted filename) so the install step remains correct across
releases.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Duplicate comments:
In `@docs/deploy.md`:
- Line 68: The docs currently hardcode the tarball filename `npm install -g
./gitlawb-openclaude-0.4.0.tgz`, which will break after a version bump; update
the instruction to use a placeholder or the produced filename from `npm pack`
(for example reference `./gitlawb-openclaude-<version>.tgz` or instruct users to
run `npm pack` and install the emitted filename) so the install step remains
correct across releases.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 36551ab1-3101-4e2a-a8fb-1f2fdc8d5de7

📥 Commits

Reviewing files that changed from the base of the PR and between 8fcb320 and 13c624a.

📒 Files selected for processing (6)
  • .gitignore
  • .vscode/tasks.json
  • docs/advanced-setup.md
  • docs/deploy.md
  • package.json
  • scripts/deploy-from-source.sh
✅ Files skipped from review due to trivial changes (5)
  • .gitignore
  • docs/advanced-setup.md
  • package.json
  • scripts/deploy-from-source.sh
  • .vscode/tasks.json

@devin-ai-integration devin-ai-integration 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.

Devin Review found 2 new potential issues.

View 3 additional findings in Devin Review.

Open in Devin Review

Comment thread .vscode/tasks.json
{
"label": "OpenClaude: smoke",
"type": "shell",
"command": "${workspaceFolder}/scripts/cursor-dev-path.sh bun run smoke",

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🔴 All VS Code tasks reference non-existent scripts/cursor-dev-path.sh

Every task in .vscode/tasks.json invokes ${workspaceFolder}/scripts/cursor-dev-path.sh as its command prefix (lines 7, 21, 32, 43, 54, 65), but this script does not exist anywhere in the repository — not on any branch, not gitignored, and never committed. Running any of these tasks (smoke, unit tests, provider tests, runtime doctor, deploy pack, deploy link) will immediately fail with a "No such file or directory" error. The docs/deploy.md:14 documentation also references this script, compounding the issue.

Open in Devin Review

Was this helpful? React with 👍 or 👎 to provide feedback.

Comment thread .vscode/tasks.json
Comment on lines +1 to +74
{
"version": "2.0.0",
"tasks": [
{
"label": "OpenClaude: smoke",
"type": "shell",
"command": "${workspaceFolder}/scripts/cursor-dev-path.sh bun run smoke",
"group": {
"kind": "test",
"isDefault": true
},
"presentation": {
"reveal": "always",
"panel": "shared"
},
"problemMatcher": []
},
{
"label": "OpenClaude: unit tests",
"type": "shell",
"command": "${workspaceFolder}/scripts/cursor-dev-path.sh bun test --max-concurrency=1",
"group": "test",
"presentation": {
"reveal": "always",
"panel": "shared"
},
"problemMatcher": []
},
{
"label": "OpenClaude: provider tests",
"type": "shell",
"command": "${workspaceFolder}/scripts/cursor-dev-path.sh bun run test:provider",
"group": "test",
"presentation": {
"reveal": "always",
"panel": "shared"
},
"problemMatcher": []
},
{
"label": "OpenClaude: runtime doctor",
"type": "shell",
"command": "${workspaceFolder}/scripts/cursor-dev-path.sh bun run doctor:runtime",
"group": "test",
"presentation": {
"reveal": "always",
"panel": "shared"
},
"problemMatcher": []
},
{
"label": "OpenClaude: deploy pack",
"type": "shell",
"command": "${workspaceFolder}/scripts/cursor-dev-path.sh bash scripts/deploy-from-source.sh pack",
"group": "build",
"presentation": {
"reveal": "always",
"panel": "shared"
},
"problemMatcher": []
},
{
"label": "OpenClaude: deploy link",
"type": "shell",
"command": "${workspaceFolder}/scripts/cursor-dev-path.sh bash scripts/deploy-from-source.sh link",
"group": "build",
"presentation": {
"reveal": "always",
"panel": "shared"
},
"problemMatcher": []
}
]
}

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🔴 Shipping .vscode/tasks.json violates AGENTS.md rule against editor-specific trees

AGENTS.md line 52 states: "This repository does not ship editor-only trees (for example .cursor/ or team-local MCP pins) on main. Keep personal or team agent configuration outside the repo or in your fork only, so the upstream tree stays neutral for all contributors." Adding .vscode/tasks.json — a VS Code/Cursor-specific configuration file — directly violates this mandatory rule. The .vscode/ directory is an editor-only tree analogous to the .cursor/ example cited in the rule.

Prompt for agents
The .vscode/tasks.json file violates AGENTS.md's explicit rule (line 52) that the repository does not ship editor-only trees on main. The file should be removed from the repository. If these tasks are useful for contributors, they could be documented in docs/deploy.md or docs/agent-workflow.md as copy-paste snippets, or kept in a contributor's personal fork. The .vscode/ directory should also be added to .gitignore to prevent future commits. The reference to these palette tasks in docs/deploy.md:14 would also need updating.
Open in Devin Review

Was this helpful? React with 👍 or 👎 to provide feedback.

Co-authored-by: adrian stanca <adrianstanca1@users.noreply.github.com>

@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

🧹 Nitpick comments (1)
docs/deploy.md (1)

37-37: Avoid assuming the clone directory is named openclaude.

Line 37 can fail for users who clone into a different folder. Prefer a generic placeholder to keep instructions portable.

Suggested docs tweak
-cd openclaude
+cd <repo-directory>
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/deploy.md` at line 37, Replace the hard-coded "cd openclaude" step with
a generic placeholder and short instruction so users can change it to whatever
folder they cloned into; update the line containing "cd openclaude" to use a
variable placeholder like "<repository-directory>" (and add a parenthetical note
"replace with your clone folder") so the docs do not assume the clone directory
name.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@docs/deploy.md`:
- Around line 5-13: The docs list package.json scripts deploy:registry,
deploy:install-global, deploy:link, and deploy:pack that don't exist; either add
those script entries to package.json (e.g., "deploy:registry",
"deploy:install-global", "deploy:link", "deploy:pack" mapping to the shell
commands used in the docs) or change the docs to reference the actual existing
script names; update every occurrence of those script symbols in the doc (the
four deploy:* script mentions at lines noted) so the documented commands match
the real package.json scripts and won't produce "Missing script" errors at
runtime.

---

Nitpick comments:
In `@docs/deploy.md`:
- Line 37: Replace the hard-coded "cd openclaude" step with a generic
placeholder and short instruction so users can change it to whatever folder they
cloned into; update the line containing "cd openclaude" to use a variable
placeholder like "<repository-directory>" (and add a parenthetical note "replace
with your clone folder") so the docs do not assume the clone directory name.
🪄 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

Run ID: 52c5934a-4a7a-4cda-994e-2b9d563066ad

📥 Commits

Reviewing files that changed from the base of the PR and between 13c624a and ce15290.

📒 Files selected for processing (1)
  • docs/deploy.md

Comment thread docs/deploy.md
Comment on lines +5 to +13
## Quick reference (`package.json`)

| Script | Equivalent shell |
|--------|-------------------|
| `bun run deploy:registry` | `bash scripts/deploy-from-source.sh registry` |
| `bun run deploy:install-global` | `bash scripts/deploy-from-source.sh global` |
| `bun run deploy:link` | `bash scripts/deploy-from-source.sh link` |
| `bun run deploy:pack` | `bash scripts/deploy-from-source.sh pack` |

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

deploy:* commands appear undocumented in package.json and may fail at runtime.

Line 5 onward documents bun run deploy:registry|deploy:install-global|deploy:link|deploy:pack, but the provided package.json snippet does not include these script keys. If that reflects current code, these commands will fail with “Missing script” and the doc’s primary flows break.

Proposed fix
# package.json (scripts)
{
  "scripts": {
+   "deploy:pack": "bash scripts/deploy-from-source.sh pack",
+   "deploy:link": "bash scripts/deploy-from-source.sh link",
+   "deploy:install-global": "bash scripts/deploy-from-source.sh global",
+   "deploy:registry": "bash scripts/deploy-from-source.sh registry"
  }
}
# docs/deploy.md (if scripts are intentionally omitted)
- | `bun run deploy:registry` | `bash scripts/deploy-from-source.sh registry` |
+ | `npm run deploy:registry` | `bash scripts/deploy-from-source.sh registry` |
# (or remove the bun-run wrapper rows entirely and keep only shell commands)

Also applies to: 25-30, 39-41, 51-53, 61-63

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/deploy.md` around lines 5 - 13, The docs list package.json scripts
deploy:registry, deploy:install-global, deploy:link, and deploy:pack that don't
exist; either add those script entries to package.json (e.g., "deploy:registry",
"deploy:install-global", "deploy:link", "deploy:pack" mapping to the shell
commands used in the docs) or change the docs to reference the actual existing
script names; update every occurrence of those script symbols in the doc (the
four deploy:* script mentions at lines noted) so the documented commands match
the real package.json scripts and won't produce "Missing script" errors at
runtime.

@cursor
cursor Bot merged commit 9d4c7ca into main Apr 21, 2026
2 checks passed
@cursor
cursor Bot deleted the cursor/deploy-scripts-docs branch April 21, 2026 23:27
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants