Add ./bep CLI and Cursor skill for BEP workflow#3426
Add ./bep CLI and Cursor skill for BEP workflow#3426
Conversation
- Add beps/bep: uv-powered CLI script with pull/push/list/new/diff/open commands - Add .cursor/rules/bep.mdc: Cursor skill for invoking the BEP CLI - Add beps/all-beps/: Directory for pulled BEPs (content gitignored) - Update .gitignore: Ignore dynamic all-beps content (BEP-*/, Claude.md, etc.) The ./bep CLI enables local editing of BEPs with git-like workflows: - ./bep pull: Fetch all BEPs from server as local folders - ./bep new 'Title': Create BEP-?-slug/ with template - ./bep diff <ref>: Compare local vs server - ./bep push <ref>: Upload changes (requires BEP_API_TOKEN) Pages (pages/*.md) are now properly included in push operations. Co-authored-by: hellovai <hellovai@users.noreply.github.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 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 |
|
✅ Latest build complete • View logs |
|
🐑 BEPs Preview Ready Preview URL: https://dj7ggjkp4tlhz.cloudfront.net/feat-bep-cli/ Commit: |
- Remove .cursor/rules/bep.mdc (not a Cursor rule) - Add generateBepSkill() to export-all-utils.ts - Include skills/bep.md in the all-beps ZIP download The skill is now included when downloading all BEPs via the API, making it available as a Claude Code skill rather than a Cursor rule. Co-authored-by: hellovai <hellovai@users.noreply.github.com>
|
🐑 BEPs Preview Ready Preview URL: https://dj7ggjkp4tlhz.cloudfront.net/feat-bep-cli/ Commit: |
The all-beps directory is created locally by './bep pull' but shouldn't be tracked in the repo. Static content (skill, instructions) is generated in export-all-utils.ts, not stored as files. Co-authored-by: hellovai <hellovai@users.noreply.github.com>
|
🐑 BEPs Preview Ready Preview URL: https://dj7ggjkp4tlhz.cloudfront.net/feat-bep-cli/ Commit: |
- Remove beps/bep from repo (was static file) - Add generateBepScript() to export-all-utils.ts - Script is now included as 'bep' in the all-beps ZIP download - Script works from the downloaded bundle directory (ALL_BEPS_DIR = SCRIPT_DIR) Both the skill and CLI script are now generated dynamically and included in the export bundle, keeping the repo clean. Co-authored-by: hellovai <hellovai@users.noreply.github.com>
- Add typescript/apps/beps/static/ directory with: - bep: CLI script with __BEP_API_BASE__ placeholder - skills/bep.md: Claude skill file - Update export-all-utils.ts to read from static files at runtime - Use readStaticFile() helper to load content - Replace __BEP_API_BASE__ placeholder with actual API URL at export time This keeps the code cleaner and makes the static files easier to edit. Co-authored-by: hellovai <hellovai@users.noreply.github.com>
Pull Request Template
Issue Reference
Changes
This PR adds a CLI tool and organizes static export content for BEPs:
beps/bepCLI ScriptA uv-powered Python script providing git-like workflows for BEPs:
./bep pull- Fetch all BEPs from the server into local./all-beps/(created on demand, not tracked)./bep list- List local BEPs with optional status filtering./bep new "Title"- Scaffold a newBEP-?-slug/locally with template./bep diff <ref>- Compare local changes against server version./bep push <ref>- Upload changes to server, including pages/*.md (requiresBEP_API_TOKEN)./bep open <number>- Open BEP in browserExport Utils Updates (
export-all-utils.ts)generateBepSkill()- Claude skill included asskills/bep.mdin the ZIPTesting
python3 -m py_compile)PR Checklist
Additional Notes
The CLI depends on:
uvfor script execution (shebang:#!/usr/bin/env -S uv run --script)httpxlibrary (declared in inline script metadata)BEP_API_TOKENenvironment variable for push operationsThis fixes the issue where pages/*.md files were not included in push operations.
Slack Thread