From c6476bb08d8c2b0ba1c5245b86674d21fb688376 Mon Sep 17 00:00:00 2001 From: ruben-cytonic Date: Wed, 11 Feb 2026 09:52:40 +0000 Subject: [PATCH 1/8] chore: update all repo links from rubenmarcus to multivmlabs org MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Repos transferred to multivmlabs organization: - rubenmarcus/ralph-starter → multivmlabs/ralph-starter - rubenmarcus/ralph-ideas → multivmlabs/ralph-ideas - rubenmarcus/ralph-templates → multivmlabs/ralph-templates Co-Authored-By: Claude Opus 4.6 --- .github/ISSUE_TEMPLATE/config.yml | 2 +- .github/PULL_REQUEST_TEMPLATE.md | 2 +- .github/workflows/pr-issue-check.yml | 2 +- .ralph-session.json | 2 +- CLAUDE.md | 4 +- CONTRIBUTING.md | 10 +- DEVELOPMENT.md | 4 +- README.md | 18 +-- docs/blog/2026-01-21-v0.1.0-release.md | 2 +- docs/blog/authors.yml | 4 +- docs/docs/cli/template.md | 4 +- docs/docs/community/changelog.md | 8 +- docs/docs/community/contributing.md | 10 +- docs/docs/community/ideas.md | 92 ++++++------ docs/docs/faq.md | 8 +- docs/docs/guides/extending-ralph-starter.md | 6 +- docs/docs/guides/testing-integrations.md | 6 +- docs/docusaurus.config.ts | 14 +- docs/plugins/raw-markdown.js | 6 +- .../components/IntegrationShowcase/index.tsx | 2 +- docs/src/components/UseCases/index.tsx | 2 +- docs/src/pages/templates.tsx | 6 +- docs/static/llms-full.txt | 134 +++++++++--------- package.json | 4 +- src/automation/git.ts | 8 +- src/commands/run.ts | 2 +- src/commands/template.ts | 4 +- src/loop/task-executor.ts | 2 +- 28 files changed, 186 insertions(+), 182 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml index d32bf05..e7c64c2 100644 --- a/.github/ISSUE_TEMPLATE/config.yml +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -4,5 +4,5 @@ contact_links: url: https://ralph-starter.dev/docs about: Check the documentation for answers to common questions - name: Discussions - url: https://github.com/rubenmarcus/ralph-starter/discussions + url: https://github.com/multivmlabs/ralph-starter/discussions about: Ask questions and discuss ideas with the community diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index f49b5f4..52b5e6d 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -16,7 +16,7 @@ diff --git a/.github/workflows/pr-issue-check.yml b/.github/workflows/pr-issue-check.yml index 9794179..c3f605a 100644 --- a/.github/workflows/pr-issue-check.yml +++ b/.github/workflows/pr-issue-check.yml @@ -52,7 +52,7 @@ jobs: This PR doesn't appear to have a linked issue. Consider linking to: - **This repo**: \`Closes #123\` - - **ralph-ideas**: \`Closes rubenmarcus/ralph-ideas#123\` + - **ralph-ideas**: \`Closes multivmlabs/ralph-ideas#123\` Using \`Closes\`, \`Fixes\`, or \`Resolves\` will auto-close the issue when this PR is merged. diff --git a/.ralph-session.json b/.ralph-session.json index f3d3a3f..0897144 100644 --- a/.ralph-session.json +++ b/.ralph-session.json @@ -5,7 +5,7 @@ "status": "completed", "iteration": 1, "maxIterations": 8, - "task": "Build the following project based on this specification:\n\n# Issue #81: feat: Figma content extraction mode - apply to existing templates\n\n**Repository:** rubenmarcus/ralph-ideas\n**State:** OPEN\n**Labels:** enhancement, P2, auto-ready\n\n---\n\n## Summary\nExtract text content and information architecture from Figma designs and apply directly to existing project templates/components.\n\n## Use Case\nUser has an existing project with a design system. They want to:\n1. Extract content (text, labels, copy) from Figma mockups\n2. Extract IA (page structure, navigation hierarchy)\n3. Apply that content to their existing React/Vue/etc components\n\n## Usage\n```bash\n# Extract content from Figma and apply to existing project\nralph-starter run --from figma: --figma-mode content\n\n# Specify which components to update\nralph-starter run --from figma: --figma-mode content --figma-target \"src/pages\"\n```\n\n## Implementation\n\n### Task 1: Content Extraction\n- [ ] Extract all text layers from Figma file\n- [ ] Organize by frame/page hierarchy\n- [ ] Identify semantic roles (heading, body, button, label, etc.)\n- [ ] Map to content structure\n\n### Task 2: IA Extraction\n- [ ] Detect page/screen structure\n- [ ] Extract navigation patterns\n- [ ] Identify component hierarchy\n- [ ] Build content map\n\n### Task 3: Template Matching\n- [ ] Scan existing project for components\n- [ ] Match Figma frames to project components\n- [ ] Identify text slots in templates\n- [ ] Map Figma content to component props\n\n### Task 4: Content Application\n- [ ] Update component props with extracted text\n- [ ] Preserve existing styling/structure\n- [ ] Handle dynamic content (arrays, conditionals)\n- [ ] Generate content diff for review\n\n### Task 5: CLI Options\n- [ ] Add `--figma-mode content` option\n- [ ] Add `--figma-target ` for target directory\n- [ ] Add `--figma-preview` to show changes without applying\n- [ ] Add `--figma-mapping ` for custom content mapping\n\n### Task 6: Documentation\n- [ ] Add content mode section to README.md\n- [ ] Create `docs/figma-content-mode.md` for Docusaurus\n- [ ] Document content mapping patterns\n- [ ] Add examples for common frameworks\n\n## Content Structure Example\n```json\n{\n \"pages\": {\n \"home\": {\n \"hero\": {\n \"heading\": \"Welcome to Our App\",\n \"subheading\": \"The best solution for...\",\n \"cta\": \"Get Started\"\n },\n \"features\": [\n { \"title\": \"Feature 1\", \"description\": \"...\" },\n { \"title\": \"Feature 2\", \"description\": \"...\" }\n ]\n }\n },\n \"navigation\": {\n \"primary\": [\"Home\", \"Features\", \"Pricing\", \"Contact\"],\n \"footer\": [\"Privacy\", \"Terms\", \"Support\"]\n }\n}\n```\n\n## Files to Create/Modify\n- `src/integrations/figma/content-extractor.ts` (new)\n- `src/integrations/figma/template-matcher.ts` (new)\n- `src/integrations/figma/content-applier.ts` (new)\n- `src/integrations/figma/index.ts` (add content mode)\n- `src/cli.ts` (add --figma-target option)\n- `README.md` (add content mode docs)\n- `docs/figma-content-mode.md` (new - Docusaurus)\n\n## Considerations\n- Handle component libraries (Chakra, MUI, etc.)\n- Support multiple frameworks (React, Vue, Svelte)\n- Preserve JSX structure when updating\n- Handle edge cases (images with alt text, aria-labels)\n\n## Implementation Tracking\n\nAn IMPLEMENTATION_PLAN.md file has been created with tasks extracted from this spec.\nAs you complete each task, mark it done by changing [ ] to [x] in IMPLEMENTATION_PLAN.md.\nFocus on one task at a time.", + "task": "Build the following project based on this specification:\n\n# Issue #81: feat: Figma content extraction mode - apply to existing templates\n\n**Repository:** multivmlabs/ralph-ideas\n**State:** OPEN\n**Labels:** enhancement, P2, auto-ready\n\n---\n\n## Summary\nExtract text content and information architecture from Figma designs and apply directly to existing project templates/components.\n\n## Use Case\nUser has an existing project with a design system. They want to:\n1. Extract content (text, labels, copy) from Figma mockups\n2. Extract IA (page structure, navigation hierarchy)\n3. Apply that content to their existing React/Vue/etc components\n\n## Usage\n```bash\n# Extract content from Figma and apply to existing project\nralph-starter run --from figma: --figma-mode content\n\n# Specify which components to update\nralph-starter run --from figma: --figma-mode content --figma-target \"src/pages\"\n```\n\n## Implementation\n\n### Task 1: Content Extraction\n- [ ] Extract all text layers from Figma file\n- [ ] Organize by frame/page hierarchy\n- [ ] Identify semantic roles (heading, body, button, label, etc.)\n- [ ] Map to content structure\n\n### Task 2: IA Extraction\n- [ ] Detect page/screen structure\n- [ ] Extract navigation patterns\n- [ ] Identify component hierarchy\n- [ ] Build content map\n\n### Task 3: Template Matching\n- [ ] Scan existing project for components\n- [ ] Match Figma frames to project components\n- [ ] Identify text slots in templates\n- [ ] Map Figma content to component props\n\n### Task 4: Content Application\n- [ ] Update component props with extracted text\n- [ ] Preserve existing styling/structure\n- [ ] Handle dynamic content (arrays, conditionals)\n- [ ] Generate content diff for review\n\n### Task 5: CLI Options\n- [ ] Add `--figma-mode content` option\n- [ ] Add `--figma-target ` for target directory\n- [ ] Add `--figma-preview` to show changes without applying\n- [ ] Add `--figma-mapping ` for custom content mapping\n\n### Task 6: Documentation\n- [ ] Add content mode section to README.md\n- [ ] Create `docs/figma-content-mode.md` for Docusaurus\n- [ ] Document content mapping patterns\n- [ ] Add examples for common frameworks\n\n## Content Structure Example\n```json\n{\n \"pages\": {\n \"home\": {\n \"hero\": {\n \"heading\": \"Welcome to Our App\",\n \"subheading\": \"The best solution for...\",\n \"cta\": \"Get Started\"\n },\n \"features\": [\n { \"title\": \"Feature 1\", \"description\": \"...\" },\n { \"title\": \"Feature 2\", \"description\": \"...\" }\n ]\n }\n },\n \"navigation\": {\n \"primary\": [\"Home\", \"Features\", \"Pricing\", \"Contact\"],\n \"footer\": [\"Privacy\", \"Terms\", \"Support\"]\n }\n}\n```\n\n## Files to Create/Modify\n- `src/integrations/figma/content-extractor.ts` (new)\n- `src/integrations/figma/template-matcher.ts` (new)\n- `src/integrations/figma/content-applier.ts` (new)\n- `src/integrations/figma/index.ts` (add content mode)\n- `src/cli.ts` (add --figma-target option)\n- `README.md` (add content mode docs)\n- `docs/figma-content-mode.md` (new - Docusaurus)\n\n## Considerations\n- Handle component libraries (Chakra, MUI, etc.)\n- Support multiple frameworks (React, Vue, Svelte)\n- Preserve JSX structure when updating\n- Handle edge cases (images with alt text, aria-labels)\n\n## Implementation Tracking\n\nAn IMPLEMENTATION_PLAN.md file has been created with tasks extracted from this spec.\nAs you complete each task, mark it done by changing [ ] to [x] in IMPLEMENTATION_PLAN.md.\nFocus on one task at a time.", "cwd": "/Users/ruben/learn/ralph-starter", "agent": { "name": "Claude Code", diff --git a/CLAUDE.md b/CLAUDE.md index 3bfa4e7..56c1efd 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -72,5 +72,5 @@ pnpm dev # Development mode ## Links - Docs: https://ralphstarter.ai -- Ideas: https://github.com/rubenmarcus/ralph-ideas -- Templates: https://github.com/rubenmarcus/ralph-templates +- Ideas: https://github.com/multivmlabs/ralph-ideas +- Templates: https://github.com/multivmlabs/ralph-templates diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index f100543..c399ab3 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -6,14 +6,14 @@ Thanks for your interest in contributing to ralph-starter! This document covers - [Documentation](https://ralphstarter.ai) - [Developer Extension Guide](https://ralphstarter.ai/docs/guides/extending-ralph-starter) - For creating custom sources, agents, and more -- [Issues](https://github.com/rubenmarcus/ralph-starter/issues) -- [Discussions](https://github.com/rubenmarcus/ralph-starter/discussions) +- [Issues](https://github.com/multivmlabs/ralph-starter/issues) +- [Discussions](https://github.com/multivmlabs/ralph-starter/discussions) ## Development Setup ```bash # Clone the repo -git clone https://github.com/rubenmarcus/ralph-starter.git +git clone https://github.com/multivmlabs/ralph-starter.git cd ralph-starter # Install dependencies @@ -175,8 +175,8 @@ pnpm start # Development server at localhost:3000 ## Questions? -- Open a [Discussion](https://github.com/rubenmarcus/ralph-starter/discussions) for questions -- Open an [Issue](https://github.com/rubenmarcus/ralph-starter/issues) for bugs or feature requests +- Open a [Discussion](https://github.com/multivmlabs/ralph-starter/discussions) for questions +- Open an [Issue](https://github.com/multivmlabs/ralph-starter/issues) for bugs or feature requests ## License diff --git a/DEVELOPMENT.md b/DEVELOPMENT.md index c39dab2..94e2353 100644 --- a/DEVELOPMENT.md +++ b/DEVELOPMENT.md @@ -200,5 +200,5 @@ See [CONTRIBUTING.md](CONTRIBUTING.md) for detailed guidelines. - [Documentation](https://ralphstarter.ai) - [API Reference](https://ralphstarter.ai/docs/api) -- [Feature Ideas](https://github.com/rubenmarcus/ralph-ideas) -- [Project Templates](https://github.com/rubenmarcus/ralph-templates) +- [Feature Ideas](https://github.com/multivmlabs/ralph-ideas) +- [Project Templates](https://github.com/multivmlabs/ralph-templates) diff --git a/README.md b/README.md index fc06e7c..d17cd44 100644 --- a/README.md +++ b/README.md @@ -5,11 +5,11 @@

npm version npm downloads - license - build status - security scanning - OSSF Scorecard - GitHub stars + license + build status + security scanning + OSSF Scorecard + GitHub stars

@@ -581,11 +581,11 @@ You can test ralph-starter with public URLs - no API keys required: ```bash # Test with a public GitHub gist or raw markdown -ralph-starter run --from https://raw.githubusercontent.com/rubenmarcus/ralph-starter/main/README.md +ralph-starter run --from https://raw.githubusercontent.com/multivmlabs/ralph-starter/main/README.md # Test with GitHub issues (requires gh CLI login) gh auth login -ralph-starter run --from github --project rubenmarcus/ralph-starter --label "enhancement" +ralph-starter run --from github --project multivmlabs/ralph-starter --label "enhancement" ``` ### Testing the Wizard @@ -676,8 +676,8 @@ Full documentation available at: https://ralphstarter.ai Contributions welcome! See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines. -- **Feature requests & ideas**: [ralph-ideas](https://github.com/rubenmarcus/ralph-ideas) -- **Project templates**: [ralph-templates](https://github.com/rubenmarcus/ralph-templates) +- **Feature requests & ideas**: [ralph-ideas](https://github.com/multivmlabs/ralph-ideas) +- **Project templates**: [ralph-templates](https://github.com/multivmlabs/ralph-templates) For creating custom integrations, agents, or using the programmatic API, see the [Developer Extension Guide](https://ralphstarter.ai/docs/guides/extending-ralph-starter). diff --git a/docs/blog/2026-01-21-v0.1.0-release.md b/docs/blog/2026-01-21-v0.1.0-release.md index db5eda4..2f3f29a 100644 --- a/docs/blog/2026-01-21-v0.1.0-release.md +++ b/docs/blog/2026-01-21-v0.1.0-release.md @@ -83,5 +83,5 @@ We're planning: Thanks to everyone who provided feedback and suggestions. Let us know what you think! -- [GitHub](https://github.com/rubenmarcus/ralph-starter) +- [GitHub](https://github.com/multivmlabs/ralph-starter) - [Documentation](https://rubenmarcus.github.io/ralph-starter/) diff --git a/docs/blog/authors.yml b/docs/blog/authors.yml index 992902e..09bfc31 100644 --- a/docs/blog/authors.yml +++ b/docs/blog/authors.yml @@ -1,11 +1,11 @@ ralph-starter: name: ralph-starter team title: Maintainers - url: https://github.com/rubenmarcus/ralph-starter + url: https://github.com/multivmlabs/ralph-starter image_url: https://github.com/rubenmarcus.png ralph: name: Ralph Team title: ralph-starter maintainers - url: https://github.com/rubenmarcus/ralph-starter + url: https://github.com/multivmlabs/ralph-starter image_url: /img/small-logo.png diff --git a/docs/docs/cli/template.md b/docs/docs/cli/template.md index 70167e8..cc2d544 100644 --- a/docs/docs/cli/template.md +++ b/docs/docs/cli/template.md @@ -19,7 +19,7 @@ ralph-starter template [action] [args...] [options] The `template` command lets you browse, preview, and use pre-built project templates. Templates are curated specs that describe complete projects, which the AI agent builds from scratch. -Templates are fetched from [github.com/rubenmarcus/ralph-templates](https://github.com/rubenmarcus/ralph-templates) and cached locally for offline use. +Templates are fetched from [github.com/multivmlabs/ralph-templates](https://github.com/multivmlabs/ralph-templates) and cached locally for offline use. ## Actions @@ -141,7 +141,7 @@ Templates are cached locally at `~/.ralph-starter/templates-cache/`: ## Creating Custom Templates -To contribute templates, see the [ralph-templates repository](https://github.com/rubenmarcus/ralph-templates). +To contribute templates, see the [ralph-templates repository](https://github.com/multivmlabs/ralph-templates). ## Exit Codes diff --git a/docs/docs/community/changelog.md b/docs/docs/community/changelog.md index 53783a8..ec02e82 100644 --- a/docs/docs/community/changelog.md +++ b/docs/docs/community/changelog.md @@ -69,14 +69,14 @@ All notable changes to ralph-starter are documented here. This project follows [ ## [0.1.1-beta.11] - 2026-02-03 ### Changed -- Replaced Discussions links with [Templates](https://github.com/rubenmarcus/ralph-templates) +- Replaced Discussions links with [Templates](https://github.com/multivmlabs/ralph-templates) --- ## [0.1.1-beta.10] - 2026-02-03 ### Added -- [ralph-ideas](https://github.com/rubenmarcus/ralph-ideas) and [ralph-templates](https://github.com/rubenmarcus/ralph-templates) repository references +- [ralph-ideas](https://github.com/multivmlabs/ralph-ideas) and [ralph-templates](https://github.com/multivmlabs/ralph-templates) repository references ### Security - Prevent path traversal attacks in file operations @@ -184,13 +184,13 @@ All notable changes to ralph-starter are documented here. This project follows [ - **Cost tracking** with token estimation per model - **Rate limiting** with sliding window algorithm - **Ralph Playbook** support for custom configurations -- **[Template marketplace](https://github.com/rubenmarcus/ralph-templates)** with community templates +- **[Template marketplace](https://github.com/multivmlabs/ralph-templates)** with community templates --- ## Links -- [GitHub Releases](https://github.com/rubenmarcus/ralph-starter/releases) +- [GitHub Releases](https://github.com/multivmlabs/ralph-starter/releases) - [npm Package History](https://www.npmjs.com/package/ralph-starter?activeTab=versions) ## Upgrade diff --git a/docs/docs/community/contributing.md b/docs/docs/community/contributing.md index eaf47a7..dbc8da5 100644 --- a/docs/docs/community/contributing.md +++ b/docs/docs/community/contributing.md @@ -12,7 +12,7 @@ Thank you for your interest in contributing to ralph-starter! This guide will he ### Report Bugs -Found a bug? Please report it on [GitHub Issues](https://github.com/rubenmarcus/ralph-starter/issues). +Found a bug? Please report it on [GitHub Issues](https://github.com/multivmlabs/ralph-starter/issues). When reporting bugs, please include: - ralph-starter version (`ralph-starter --version`) @@ -24,7 +24,7 @@ When reporting bugs, please include: ### Submit Ideas -Have a feature idea? Submit it to [ralph-ideas](https://github.com/rubenmarcus/ralph-ideas/issues). +Have a feature idea? Submit it to [ralph-ideas](https://github.com/multivmlabs/ralph-ideas/issues). Good idea submissions include: - Clear description of the feature @@ -36,7 +36,7 @@ Good idea submissions include: 1. **Fork the repository** ```bash - gh repo fork rubenmarcus/ralph-starter + gh repo fork multivmlabs/ralph-starter ``` 2. **Clone your fork** @@ -150,8 +150,8 @@ docs: update installation guide ## Questions? -- [Browse Templates](https://github.com/rubenmarcus/ralph-templates) -- [Open an Issue](https://github.com/rubenmarcus/ralph-starter/issues) +- [Browse Templates](https://github.com/multivmlabs/ralph-templates) +- [Open an Issue](https://github.com/multivmlabs/ralph-starter/issues) --- diff --git a/docs/docs/community/ideas.md b/docs/docs/community/ideas.md index 2bcd233..0a70cfb 100644 --- a/docs/docs/community/ideas.md +++ b/docs/docs/community/ideas.md @@ -6,33 +6,33 @@ description: Feature ideas and development roadmap for ralph-starter # Ideas & Roadmap -Browse and contribute to the future of ralph-starter. All ideas and feature requests are tracked in the [ralph-ideas](https://github.com/rubenmarcus/ralph-ideas) repository. +Browse and contribute to the future of ralph-starter. All ideas and feature requests are tracked in the [ralph-ideas](https://github.com/multivmlabs/ralph-ideas) repository. ## Quick Links -- [View All Ideas](https://github.com/rubenmarcus/ralph-ideas/issues) -- [Submit New Idea](https://github.com/rubenmarcus/ralph-ideas/issues/new) -- [Browse Templates](https://github.com/rubenmarcus/ralph-templates) - Ready-to-use project templates -- [P1 - Critical Priority](https://github.com/rubenmarcus/ralph-ideas/labels/P1) -- [P2 - High Priority](https://github.com/rubenmarcus/ralph-ideas/labels/P2) -- [P3 - Medium Priority](https://github.com/rubenmarcus/ralph-ideas/labels/P3) +- [View All Ideas](https://github.com/multivmlabs/ralph-ideas/issues) +- [Submit New Idea](https://github.com/multivmlabs/ralph-ideas/issues/new) +- [Browse Templates](https://github.com/multivmlabs/ralph-templates) - Ready-to-use project templates +- [P1 - Critical Priority](https://github.com/multivmlabs/ralph-ideas/labels/P1) +- [P2 - High Priority](https://github.com/multivmlabs/ralph-ideas/labels/P2) +- [P3 - Medium Priority](https://github.com/multivmlabs/ralph-ideas/labels/P3) ## Categories ### Templates -Browse available templates at [ralph-templates](https://github.com/rubenmarcus/ralph-templates) or request new ones below: +Browse available templates at [ralph-templates](https://github.com/multivmlabs/ralph-templates) or request new ones below: | Template Request | Priority | Status | |------------------|----------|--------| -| [Next.js SaaS Starter](https://github.com/rubenmarcus/ralph-ideas/issues?q=label%3Atemplates+saas) | P1 | Planned | -| [Marketing Landing Page](https://github.com/rubenmarcus/ralph-ideas/issues?q=label%3Atemplates+landing) | P1 | Planned | -| [GitHub Actions CI/CD](https://github.com/rubenmarcus/ralph-ideas/issues?q=label%3Adevops+actions) | P1 | Planned | -| [Express.js REST API](https://github.com/rubenmarcus/ralph-ideas/issues?q=label%3Atemplates+express) | P2 | Planned | -| [Chrome Extension](https://github.com/rubenmarcus/ralph-ideas/issues?q=label%3Atemplates+extension) | P2 | Planned | -| [CLI Tool](https://github.com/rubenmarcus/ralph-ideas/issues?q=label%3Atemplates+cli) | P2 | Planned | +| [Next.js SaaS Starter](https://github.com/multivmlabs/ralph-ideas/issues?q=label%3Atemplates+saas) | P1 | Planned | +| [Marketing Landing Page](https://github.com/multivmlabs/ralph-ideas/issues?q=label%3Atemplates+landing) | P1 | Planned | +| [GitHub Actions CI/CD](https://github.com/multivmlabs/ralph-ideas/issues?q=label%3Adevops+actions) | P1 | Planned | +| [Express.js REST API](https://github.com/multivmlabs/ralph-ideas/issues?q=label%3Atemplates+express) | P2 | Planned | +| [Chrome Extension](https://github.com/multivmlabs/ralph-ideas/issues?q=label%3Atemplates+extension) | P2 | Planned | +| [CLI Tool](https://github.com/multivmlabs/ralph-ideas/issues?q=label%3Atemplates+cli) | P2 | Planned | -[Request new template →](https://github.com/rubenmarcus/ralph-ideas/issues/new?labels=templates) +[Request new template →](https://github.com/multivmlabs/ralph-ideas/issues/new?labels=templates) ### Automation @@ -40,14 +40,14 @@ Tools to streamline development workflows: | Feature | Priority | Status | |---------|----------|--------| -| [Auto PR Review Bot](https://github.com/rubenmarcus/ralph-ideas/issues?q=label%3Aautomation+PR+review) | P1 | Planned | -| [Auto Release Notes](https://github.com/rubenmarcus/ralph-ideas/issues?q=label%3Aautomation+release) | P1 | Planned | -| [Auto Issue Triage](https://github.com/rubenmarcus/ralph-ideas/issues?q=label%3Aautomation+triage) | P2 | Planned | -| [Auto Dependency Updates](https://github.com/rubenmarcus/ralph-ideas/issues?q=label%3Aautomation+dependency) | P2 | Planned | -| [Auto Documentation](https://github.com/rubenmarcus/ralph-ideas/issues?q=label%3Aautomation+docs) | P2 | Planned | -| [Auto Test Generator](https://github.com/rubenmarcus/ralph-ideas/issues?q=label%3Aautomation+test) | P2 | Planned | +| [Auto PR Review Bot](https://github.com/multivmlabs/ralph-ideas/issues?q=label%3Aautomation+PR+review) | P1 | Planned | +| [Auto Release Notes](https://github.com/multivmlabs/ralph-ideas/issues?q=label%3Aautomation+release) | P1 | Planned | +| [Auto Issue Triage](https://github.com/multivmlabs/ralph-ideas/issues?q=label%3Aautomation+triage) | P2 | Planned | +| [Auto Dependency Updates](https://github.com/multivmlabs/ralph-ideas/issues?q=label%3Aautomation+dependency) | P2 | Planned | +| [Auto Documentation](https://github.com/multivmlabs/ralph-ideas/issues?q=label%3Aautomation+docs) | P2 | Planned | +| [Auto Test Generator](https://github.com/multivmlabs/ralph-ideas/issues?q=label%3Aautomation+test) | P2 | Planned | -[View all automation ideas →](https://github.com/rubenmarcus/ralph-ideas/labels/automation) +[View all automation ideas →](https://github.com/multivmlabs/ralph-ideas/labels/automation) ### Blockchain & Web3 @@ -55,12 +55,12 @@ Blockchain and decentralized application templates: | Template | Priority | Status | |----------|----------|--------| -| [Web3 dApp Frontend](https://github.com/rubenmarcus/ralph-ideas/issues?q=label%3Ablockchain+dapp) | P2 | Planned | -| [ERC-20 Token](https://github.com/rubenmarcus/ralph-ideas/issues?q=label%3Ablockchain+erc20) | P3 | Backlog | -| [NFT Collection](https://github.com/rubenmarcus/ralph-ideas/issues?q=label%3Ablockchain+nft) | P3 | Backlog | -| [DeFi Staking Contract](https://github.com/rubenmarcus/ralph-ideas/issues?q=label%3Ablockchain+defi) | P3 | Backlog | +| [Web3 dApp Frontend](https://github.com/multivmlabs/ralph-ideas/issues?q=label%3Ablockchain+dapp) | P2 | Planned | +| [ERC-20 Token](https://github.com/multivmlabs/ralph-ideas/issues?q=label%3Ablockchain+erc20) | P3 | Backlog | +| [NFT Collection](https://github.com/multivmlabs/ralph-ideas/issues?q=label%3Ablockchain+nft) | P3 | Backlog | +| [DeFi Staking Contract](https://github.com/multivmlabs/ralph-ideas/issues?q=label%3Ablockchain+defi) | P3 | Backlog | -[View all blockchain ideas →](https://github.com/rubenmarcus/ralph-ideas/labels/blockchain) +[View all blockchain ideas →](https://github.com/multivmlabs/ralph-ideas/labels/blockchain) ### DevOps & Infrastructure @@ -68,12 +68,12 @@ CI/CD and infrastructure templates: | Template | Priority | Status | |----------|----------|--------| -| [Docker Compose Dev Environment](https://github.com/rubenmarcus/ralph-ideas/issues?q=label%3Adevops+docker) | P2 | Planned | -| [Kubernetes + Helm Charts](https://github.com/rubenmarcus/ralph-ideas/issues?q=label%3Adevops+kubernetes) | P3 | Backlog | -| [Terraform Infrastructure](https://github.com/rubenmarcus/ralph-ideas/issues?q=label%3Adevops+terraform) | P3 | Backlog | -| [Monitoring Stack](https://github.com/rubenmarcus/ralph-ideas/issues?q=label%3Adevops+monitoring) | P3 | Backlog | +| [Docker Compose Dev Environment](https://github.com/multivmlabs/ralph-ideas/issues?q=label%3Adevops+docker) | P2 | Planned | +| [Kubernetes + Helm Charts](https://github.com/multivmlabs/ralph-ideas/issues?q=label%3Adevops+kubernetes) | P3 | Backlog | +| [Terraform Infrastructure](https://github.com/multivmlabs/ralph-ideas/issues?q=label%3Adevops+terraform) | P3 | Backlog | +| [Monitoring Stack](https://github.com/multivmlabs/ralph-ideas/issues?q=label%3Adevops+monitoring) | P3 | Backlog | -[View all DevOps ideas →](https://github.com/rubenmarcus/ralph-ideas/labels/devops) +[View all DevOps ideas →](https://github.com/multivmlabs/ralph-ideas/labels/devops) ### Scripts & Utilities @@ -81,13 +81,13 @@ Helpful scripts and developer tools: | Utility | Priority | Status | |---------|----------|--------| -| [Git Hooks Setup](https://github.com/rubenmarcus/ralph-ideas/issues?q=label%3Ascripts+hooks) | P2 | Planned | -| [Database Seeder](https://github.com/rubenmarcus/ralph-ideas/issues?q=label%3Ascripts+seeder) | P2 | Planned | -| [OpenAPI Client Generator](https://github.com/rubenmarcus/ralph-ideas/issues?q=label%3Ascripts+openapi) | P3 | Backlog | -| [Environment Validator](https://github.com/rubenmarcus/ralph-ideas/issues?q=label%3Ascripts+env) | P3 | Backlog | -| [Project Health Check](https://github.com/rubenmarcus/ralph-ideas/issues?q=label%3Ascripts+health) | P3 | Backlog | +| [Git Hooks Setup](https://github.com/multivmlabs/ralph-ideas/issues?q=label%3Ascripts+hooks) | P2 | Planned | +| [Database Seeder](https://github.com/multivmlabs/ralph-ideas/issues?q=label%3Ascripts+seeder) | P2 | Planned | +| [OpenAPI Client Generator](https://github.com/multivmlabs/ralph-ideas/issues?q=label%3Ascripts+openapi) | P3 | Backlog | +| [Environment Validator](https://github.com/multivmlabs/ralph-ideas/issues?q=label%3Ascripts+env) | P3 | Backlog | +| [Project Health Check](https://github.com/multivmlabs/ralph-ideas/issues?q=label%3Ascripts+health) | P3 | Backlog | -[View all scripts & utilities →](https://github.com/rubenmarcus/ralph-ideas/labels/scripts) +[View all scripts & utilities →](https://github.com/multivmlabs/ralph-ideas/labels/scripts) ## Integrations @@ -95,19 +95,19 @@ Feature requests for ralph-starter core: | Feature | Priority | Status | |---------|----------|--------| -| [Slack Integration](https://github.com/rubenmarcus/ralph-ideas/issues?q=slack) | Enhancement | Planned | -| [Figma Integration](https://github.com/rubenmarcus/ralph-ideas/issues?q=figma) | Enhancement | Planned | -| [Debug/Interactive Mode](https://github.com/rubenmarcus/ralph-ideas/issues?q=debug+mode) | Enhancement | Planned | -| [Swarm Mode](https://github.com/rubenmarcus/ralph-ideas/issues?q=swarm) | Enhancement | Planned | -| [GitHub Action](https://github.com/rubenmarcus/ralph-ideas/issues?q=github+action) | Enhancement | Planned | -| [Ollama Support](https://github.com/rubenmarcus/ralph-ideas/issues?q=ollama) | Enhancement | Planned | -| [Google Gemini Provider](https://github.com/rubenmarcus/ralph-ideas/issues?q=gemini) | Enhancement | Planned | +| [Slack Integration](https://github.com/multivmlabs/ralph-ideas/issues?q=slack) | Enhancement | Planned | +| [Figma Integration](https://github.com/multivmlabs/ralph-ideas/issues?q=figma) | Enhancement | Planned | +| [Debug/Interactive Mode](https://github.com/multivmlabs/ralph-ideas/issues?q=debug+mode) | Enhancement | Planned | +| [Swarm Mode](https://github.com/multivmlabs/ralph-ideas/issues?q=swarm) | Enhancement | Planned | +| [GitHub Action](https://github.com/multivmlabs/ralph-ideas/issues?q=github+action) | Enhancement | Planned | +| [Ollama Support](https://github.com/multivmlabs/ralph-ideas/issues?q=ollama) | Enhancement | Planned | +| [Google Gemini Provider](https://github.com/multivmlabs/ralph-ideas/issues?q=gemini) | Enhancement | Planned | ## Contributing Ideas Have a feature request or idea? We'd love to hear it! -1. **Check existing issues** - Search [ralph-ideas](https://github.com/rubenmarcus/ralph-ideas/issues) to avoid duplicates +1. **Check existing issues** - Search [ralph-ideas](https://github.com/multivmlabs/ralph-ideas/issues) to avoid duplicates 2. **Create a new issue** - Use a clear, descriptive title 3. **Add labels** - Use appropriate priority (P1/P2/P3) and category labels 4. **Describe the use case** - Explain why this feature would be useful diff --git a/docs/docs/faq.md b/docs/docs/faq.md index f1d6ab7..8c92fd0 100644 --- a/docs/docs/faq.md +++ b/docs/docs/faq.md @@ -285,16 +285,16 @@ The circuit breaker automatically stops the loop when the agent is stuck on the 3. Make your changes 4. Submit a pull request -See the [contributing guide](https://github.com/rubenmarcus/ralph-starter/blob/main/CONTRIBUTING.md) for details. +See the [contributing guide](https://github.com/multivmlabs/ralph-starter/blob/main/CONTRIBUTING.md) for details. ### How do I report bugs? -Open an issue on GitHub: [github.com/rubenmarcus/ralph-starter/issues](https://github.com/rubenmarcus/ralph-starter/issues) +Open an issue on GitHub: [github.com/multivmlabs/ralph-starter/issues](https://github.com/multivmlabs/ralph-starter/issues) --- ## More Questions? - Check the [full documentation](/docs/intro) -- Browse [Templates](https://github.com/rubenmarcus/ralph-templates) -- Open an [issue](https://github.com/rubenmarcus/ralph-starter/issues) +- Browse [Templates](https://github.com/multivmlabs/ralph-templates) +- Open an [issue](https://github.com/multivmlabs/ralph-starter/issues) diff --git a/docs/docs/guides/extending-ralph-starter.md b/docs/docs/guides/extending-ralph-starter.md index 3905546..9f49c08 100644 --- a/docs/docs/guides/extending-ralph-starter.md +++ b/docs/docs/guides/extending-ralph-starter.md @@ -393,7 +393,7 @@ export const tools = [ ```bash # Clone the repo -git clone https://github.com/rubenmarcus/ralph-starter.git +git clone https://github.com/multivmlabs/ralph-starter.git cd ralph-starter # Install dependencies @@ -514,6 +514,6 @@ interface PlanOptions { ## Need Help? -- [GitHub Issues](https://github.com/rubenmarcus/ralph-starter/issues) - Bug reports and feature requests +- [GitHub Issues](https://github.com/multivmlabs/ralph-starter/issues) - Bug reports and feature requests - [Documentation](https://rubenmarcus.github.io/ralph-starter/) - Full docs -- [Templates](https://github.com/rubenmarcus/ralph-templates) - Project templates +- [Templates](https://github.com/multivmlabs/ralph-templates) - Project templates diff --git a/docs/docs/guides/testing-integrations.md b/docs/docs/guides/testing-integrations.md index e0f037f..000b4e1 100644 --- a/docs/docs/guides/testing-integrations.md +++ b/docs/docs/guides/testing-integrations.md @@ -47,7 +47,7 @@ Fetch specs from any public markdown or HTML page: ```bash # Public GitHub raw file -ralph-starter run --from https://raw.githubusercontent.com/rubenmarcus/ralph-starter/main/README.md +ralph-starter run --from https://raw.githubusercontent.com/multivmlabs/ralph-starter/main/README.md # Public gist ralph-starter run --from https://gist.githubusercontent.com/user/id/raw/spec.md @@ -110,10 +110,10 @@ ralph-starter source test github ```bash # Preview issues from any public repo -ralph-starter source preview github --project rubenmarcus/ralph-starter --limit 5 +ralph-starter source preview github --project multivmlabs/ralph-starter --limit 5 # Run with a public repo -ralph-starter run --from github --project rubenmarcus/ralph-starter --label "enhancement" +ralph-starter run --from github --project multivmlabs/ralph-starter --label "enhancement" ``` ### Alternative: Personal Access Token diff --git a/docs/docusaurus.config.ts b/docs/docusaurus.config.ts index f5c7f0d..890d74b 100644 --- a/docs/docusaurus.config.ts +++ b/docs/docusaurus.config.ts @@ -125,7 +125,7 @@ const config: Config = { }, softwareRequirements: 'Node.js 18+', downloadUrl: 'https://www.npmjs.com/package/ralph-starter', - codeRepository: 'https://github.com/rubenmarcus/ralph-starter', + codeRepository: 'https://github.com/multivmlabs/ralph-starter', programmingLanguage: 'TypeScript', keywords: ['AI coding', 'autonomous coding', 'claude code', 'MCP server', 'developer tools'], }), @@ -143,7 +143,7 @@ const config: Config = { url: siteUrl, logo: `${siteUrl}/img/small-logo.png`, sameAs: [ - 'https://github.com/rubenmarcus/ralph-starter', + 'https://github.com/multivmlabs/ralph-starter', 'https://www.npmjs.com/package/ralph-starter', ], }), @@ -235,7 +235,7 @@ const config: Config = { { docs: { sidebarPath: './sidebars.ts', - editUrl: 'https://github.com/rubenmarcus/ralph-starter/tree/main/docs/', + editUrl: 'https://github.com/multivmlabs/ralph-starter/tree/main/docs/', routeBasePath: 'docs', }, blog: false, // Disabled for now @@ -315,7 +315,7 @@ const config: Config = { { type: 'html', position: 'right', - value: 'GitHub stars', + value: 'GitHub stars', }, ], }, @@ -333,10 +333,10 @@ const config: Config = { { title: 'Community', items: [ - { label: 'GitHub', href: 'https://github.com/rubenmarcus/ralph-starter' }, + { label: 'GitHub', href: 'https://github.com/multivmlabs/ralph-starter' }, { label: 'Twitter / X', href: 'https://x.com/ralphstarter' }, - { label: 'Ideas & Roadmap', href: 'https://github.com/rubenmarcus/ralph-ideas/issues' }, - { label: 'Templates', href: 'https://github.com/rubenmarcus/ralph-templates' }, + { label: 'Ideas & Roadmap', href: 'https://github.com/multivmlabs/ralph-ideas/issues' }, + { label: 'Templates', href: 'https://github.com/multivmlabs/ralph-templates' }, ], }, { diff --git a/docs/plugins/raw-markdown.js b/docs/plugins/raw-markdown.js index 7e7d1b9..293db68 100644 --- a/docs/plugins/raw-markdown.js +++ b/docs/plugins/raw-markdown.js @@ -404,7 +404,7 @@ ralph-starter run "build a login page" ## Links - [Documentation](${baseUrl}/docs/intro) -- [GitHub](https://github.com/rubenmarcus/ralph-starter) +- [GitHub](https://github.com/multivmlabs/ralph-starter) - [npm](https://www.npmjs.com/package/ralph-starter) - [Full docs as markdown](${baseUrl}/llms-full.txt) @@ -490,7 +490,7 @@ Fetch pages and database entries from Notion. ## Project Templates ralph-starter provides templates to accelerate project setup. -Browse available templates at: https://github.com/rubenmarcus/ralph-templates +Browse available templates at: https://github.com/multivmlabs/ralph-templates ## Using Templates @@ -502,7 +502,7 @@ ralph-starter init --template - [Getting Started](${baseUrl}/docs/intro) - [CLI Reference](${baseUrl}/docs/cli/init) -- [Templates Repository](https://github.com/rubenmarcus/ralph-templates) +- [Templates Repository](https://github.com/multivmlabs/ralph-templates) `, }, ]; diff --git a/docs/src/components/IntegrationShowcase/index.tsx b/docs/src/components/IntegrationShowcase/index.tsx index bedd9f0..d642412 100644 --- a/docs/src/components/IntegrationShowcase/index.tsx +++ b/docs/src/components/IntegrationShowcase/index.tsx @@ -94,7 +94,7 @@ export default function IntegrationShowcase(): React.ReactElement {
Contribute on GitHub → diff --git a/docs/src/components/UseCases/index.tsx b/docs/src/components/UseCases/index.tsx index 921d965..f2d0423 100644 --- a/docs/src/components/UseCases/index.tsx +++ b/docs/src/components/UseCases/index.tsx @@ -115,7 +115,7 @@ export default function UseCases(): React.ReactElement {

ralph-starter template use {template.path} =18.0.0" }, diff --git a/src/automation/git.ts b/src/automation/git.ts index 0d7d45d..a2b8b37 100644 --- a/src/automation/git.ts +++ b/src/automation/git.ts @@ -198,7 +198,9 @@ export function formatPrBody(options: PrBodyOptions): string { // Summary section sections.push('## Summary'); sections.push(''); - sections.push('Automated PR created by [ralph-starter](https://github.com/rubenmarcus/ralph-starter).'); + sections.push( + 'Automated PR created by [ralph-starter](https://github.com/multivmlabs/ralph-starter).' + ); sections.push(''); // Task section @@ -243,7 +245,9 @@ export function formatPrBody(options: PrBodyOptions): string { sections.push('---'); sections.push(''); - sections.push('*Generated by [ralph-starter](https://github.com/rubenmarcus/ralph-starter) auto mode*'); + sections.push( + '*Generated by [ralph-starter](https://github.com/multivmlabs/ralph-starter) auto mode*' + ); return sections.join('\n'); } diff --git a/src/commands/run.ts b/src/commands/run.ts index 3a84cff..f2d443c 100644 --- a/src/commands/run.ts +++ b/src/commands/run.ts @@ -21,7 +21,7 @@ import { getSourceDefaults } from '../sources/config.js'; import { fetchFromSource } from '../sources/index.js'; /** Default fallback repo for GitHub issues when no project is specified */ -const DEFAULT_GITHUB_ISSUES_REPO = 'rubenmarcus/ralph-ideas'; +const DEFAULT_GITHUB_ISSUES_REPO = 'multivmlabs/ralph-ideas'; /** * Detect how to run the project based on package.json scripts or common patterns diff --git a/src/commands/template.ts b/src/commands/template.ts index 37be65c..91447f8 100644 --- a/src/commands/template.ts +++ b/src/commands/template.ts @@ -6,7 +6,7 @@ import inquirer from 'inquirer'; import ora from 'ora'; import { type RunCommandOptions, runCommand } from './run.js'; -const TEMPLATES_REPO_URL = 'https://raw.githubusercontent.com/rubenmarcus/ralph-templates/main'; +const TEMPLATES_REPO_URL = 'https://raw.githubusercontent.com/multivmlabs/ralph-templates/main'; const TEMPLATES_JSON_URL = `${TEMPLATES_REPO_URL}/templates.json`; const CACHE_DIR = join(homedir(), '.ralph-starter', 'templates-cache'); const CACHE_DURATION_MS = 1000 * 60 * 60; // 1 hour @@ -388,7 +388,7 @@ ${chalk.bold('Examples:')} ralph-starter template browse ${chalk.bold('Template Source:')} - Templates are fetched from: ${chalk.dim('github.com/rubenmarcus/ralph-templates')} + Templates are fetched from: ${chalk.dim('github.com/multivmlabs/ralph-templates')} Cached locally at: ${chalk.dim(CACHE_DIR)} `); } diff --git a/src/loop/task-executor.ts b/src/loop/task-executor.ts index 81db455..1e88029 100644 --- a/src/loop/task-executor.ts +++ b/src/loop/task-executor.ts @@ -309,7 +309,7 @@ function buildPrBody(task: BatchTask, result: TaskResult, prBase: string): strin lines.push('---'); lines.push(''); lines.push( - '*Generated by [ralph-starter](https://github.com/rubenmarcus/ralph-starter) auto mode*' + '*Generated by [ralph-starter](https://github.com/multivmlabs/ralph-starter) auto mode*' ); return lines.join('\n'); From 86ff47b2fa712306b301daa2f29404d62fe9b344 Mon Sep 17 00:00:00 2001 From: ruben-cytonic Date: Wed, 11 Feb 2026 10:07:25 +0000 Subject: [PATCH 2/8] chore: remove CodeRabbit, switch to Greptile for code reviews - Removed .coderabbit.yaml config - Removed coderabbit-review.yml workflow - Removed @coderabbitai from CODEOWNERS - Removed .coderabbit.yaml from auto-label security paths Greptile is configured via its dashboard (no config files needed). Co-Authored-By: Claude Opus 4.6 --- .coderabbit.yaml | 67 --------- .github/CODEOWNERS | 14 +- .github/workflows/auto-label.yml | 1 - .github/workflows/coderabbit-review.yml | 181 ------------------------ 4 files changed, 7 insertions(+), 256 deletions(-) delete mode 100644 .coderabbit.yaml delete mode 100644 .github/workflows/coderabbit-review.yml diff --git a/.coderabbit.yaml b/.coderabbit.yaml deleted file mode 100644 index fec3d6a..0000000 --- a/.coderabbit.yaml +++ /dev/null @@ -1,67 +0,0 @@ -# CodeRabbit Configuration -# Documentation: https://docs.coderabbit.ai/configuration - -language: en-US - -# Review settings -reviews: - # Enable automatic reviews on PRs - auto_review: - enabled: true - # Review drafts too - drafts: false - # Base branches to review - base_branches: - - main - - develop - - # Review profile - assertive for thorough reviews - profile: assertive - - # Request changes instead of just commenting when issues found - request_changes_workflow: true - - # High-level summary at the top of review - high_level_summary: true - - # Add poem to reviews (fun touch) - poem: false - - # Review scope - path_filters: - # Always review these - - "src/**" - - "docs/**" - - ".github/**" - # Ignore these - - "!**/node_modules/**" - - "!**/dist/**" - - "!**/*.lock" - - "!**/pnpm-lock.yaml" - - "!**/package-lock.json" - - # Collapse walkthrough for large PRs - collapse_walkthrough: true - - # Enable sequence diagrams for complex flows - sequence_diagrams: true - -# Chat settings for interacting with CodeRabbit -chat: - # Enable chat commands in PR comments - auto_reply: true - -# Early access features -early_access: true - -# Knowledge base for project context -knowledge_base: - # Learn from merged PRs - learnings: - scope: auto - # Learn from repo issues - issues: - scope: auto - -# Tone and style instructions (max 250 chars) -tone_instructions: "Be constructive. Focus on security (OWASP), TypeScript best practices, performance, and test coverage. This is a CLI tool - check for credential handling, path traversal, proper exit codes." diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 69ed45f..671be6e 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -2,19 +2,19 @@ # https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners # Default owner for everything -* @rubenmarcus @coderabbitai +* @rubenmarcus # Core CLI source code -/src/ @rubenmarcus @coderabbitai +/src/ @rubenmarcus # Documentation -/docs/ @rubenmarcus @coderabbitai -*.md @rubenmarcus @coderabbitai +/docs/ @rubenmarcus +*.md @rubenmarcus # CI/CD and GitHub configuration -/.github/ @rubenmarcus @coderabbitai +/.github/ @rubenmarcus # Package configuration -package.json @rubenmarcus @coderabbitai +package.json @rubenmarcus pnpm-lock.yaml @rubenmarcus -tsconfig.json @rubenmarcus @coderabbitai +tsconfig.json @rubenmarcus diff --git a/.github/workflows/auto-label.yml b/.github/workflows/auto-label.yml index 912ea88..25a95ac 100644 --- a/.github/workflows/auto-label.yml +++ b/.github/workflows/auto-label.yml @@ -32,7 +32,6 @@ jobs: - '.github/actions/**' security: - '.github/workflows/security.yml' - - '.coderabbit.yaml' - 'SECURITY.md' - '.gitleaks.toml' config: diff --git a/.github/workflows/coderabbit-review.yml b/.github/workflows/coderabbit-review.yml deleted file mode 100644 index e5c95cd..0000000 --- a/.github/workflows/coderabbit-review.yml +++ /dev/null @@ -1,181 +0,0 @@ -name: CodeRabbit Full Review - -on: - # Manual trigger to review all open PRs or full codebase - workflow_dispatch: - inputs: - review_type: - description: 'Type of review to run' - required: true - default: 'open_prs' - type: choice - options: - - open_prs - - full_codebase - -permissions: - contents: read - pull-requests: write - issues: write - -jobs: - # Review all open PRs - review-open-prs: - name: Review Open PRs - if: github.event.inputs.review_type == 'open_prs' - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - - - name: Get open PRs and trigger reviews - uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8 - with: - script: | - const { owner, repo } = context.repo; - - // Use paginator to get ALL open PRs (handles pagination automatically) - const prs = await github.paginate(github.rest.pulls.list, { - owner, - repo, - state: 'open', - per_page: 100 - }); - - console.log(`Found ${prs.length} open PRs`); - - for (const pr of prs) { - console.log(`Requesting review for PR #${pr.number}: ${pr.title}`); - - // Add comment to trigger CodeRabbit review - await github.rest.issues.createComment({ - owner, - repo, - issue_number: pr.number, - body: '@coderabbitai full review' - }); - - // Small delay to avoid rate limiting - await new Promise(r => setTimeout(r, 2000)); - } - - console.log('Done! CodeRabbit will review all open PRs.'); - - # Full codebase review (creates an issue with analysis) - full-codebase-review: - name: Full Codebase Review - if: github.event.inputs.review_type == 'full_codebase' - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - - - name: Setup Node.js - uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6 - with: - node-version: '20' - cache: 'npm' - - - name: Install dependencies - run: npm ci - - - name: Run ESLint - id: eslint - run: | - npm run lint -- --format json --output-file eslint-report.json || true - echo "eslint_issues=$(cat eslint-report.json | jq '[.[].messages | length] | add // 0')" >> $GITHUB_OUTPUT - continue-on-error: true - - - name: Run TypeScript check - id: tsc - run: | - npx tsc --noEmit 2>&1 | tee tsc-output.txt || true - echo "tsc_errors=$(grep -c 'error TS' tsc-output.txt || echo 0)" >> $GITHUB_OUTPUT - continue-on-error: true - - - name: Count lines of code - id: loc - run: | - # Handle case where no .ts files exist - FILE_COUNT=$(find src -name '*.ts' 2>/dev/null | wc -l | tr -d ' ') - if [ "$FILE_COUNT" -eq 0 ] || [ -z "$FILE_COUNT" ]; then - echo "total_lines=0" >> $GITHUB_OUTPUT - echo "file_count=0" >> $GITHUB_OUTPUT - else - TOTAL_LINES=$(find src -name '*.ts' | xargs wc -l | tail -1 | awk '{print $1}') - echo "total_lines=${TOTAL_LINES:-0}" >> $GITHUB_OUTPUT - echo "file_count=$FILE_COUNT" >> $GITHUB_OUTPUT - fi - - - name: Create or update codebase analysis issue - uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8 - with: - script: | - const { owner, repo } = context.repo; - const eslintIssues = '${{ steps.eslint.outputs.eslint_issues }}' || '0'; - const tscErrors = '${{ steps.tsc.outputs.tsc_errors }}' || '0'; - const totalLines = '${{ steps.loc.outputs.total_lines }}' || '0'; - const fileCount = '${{ steps.loc.outputs.file_count }}' || '0'; - - const issueTitle = 'Full Codebase Review Request'; - - const bodyLines = [ - '## Codebase Analysis Report', - '', - '@coderabbitai Please perform a comprehensive review of the entire codebase.', - '', - '### Quick Stats', - `- **TypeScript Files**: ${fileCount}`, - `- **Total Lines**: ${totalLines}`, - `- **ESLint Issues**: ${eslintIssues}`, - `- **TypeScript Errors**: ${tscErrors}`, - '', - '### Review Request', - 'Please analyze:', - '1. **Architecture**: Overall code structure and patterns', - '2. **Security**: Potential vulnerabilities (OWASP top 10)', - '3. **Performance**: Bottlenecks and optimization opportunities', - '4. **Code Quality**: Maintainability, readability, best practices', - '5. **Testing**: Coverage gaps and testing strategy', - '6. **Dependencies**: Outdated or vulnerable packages', - '', - '---', - `Generated by GitHub Actions workflow on ${new Date().toISOString()}` - ]; - - const body = bodyLines.join('\n'); - - // Check for existing open issue with the same title - const existingIssues = await github.rest.issues.listForRepo({ - owner, - repo, - state: 'open', - labels: 'coderabbit,review', - per_page: 100 - }); - - const existingIssue = existingIssues.data.find( - issue => issue.title === issueTitle - ); - - if (existingIssue) { - // Update existing issue with a comment - console.log(`Found existing issue #${existingIssue.number}, adding comment`); - await github.rest.issues.createComment({ - owner, - repo, - issue_number: existingIssue.number, - body: body - }); - console.log(`Updated issue #${existingIssue.number}`); - } else { - // Create new issue - const newIssue = await github.rest.issues.create({ - owner, - repo, - title: issueTitle, - body, - labels: ['coderabbit', 'review'] - }); - console.log(`Created new issue #${newIssue.data.number}`); - } From f159ee96dfe48d8afea426750bc67c34ce28e068 Mon Sep 17 00:00:00 2001 From: ruben-cytonic Date: Wed, 11 Feb 2026 10:09:53 +0000 Subject: [PATCH 3/8] ci: add Cloudflare Pages deploy workflow, fix org name - Added deploy-docs.yml workflow triggered on docs/ changes to main - Uses Cloudflare wrangler-action with repo secrets - Fixed organizationName in docusaurus.config.ts to multivmlabs Requires CLOUDFLARE_API_TOKEN and CLOUDFLARE_ACCOUNT_ID repo secrets. Co-Authored-By: Claude Opus 4.6 --- .github/workflows/deploy-docs.yml | 45 +++++++++++++++++++++++++++++++ docs/docusaurus.config.ts | 2 +- 2 files changed, 46 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/deploy-docs.yml diff --git a/.github/workflows/deploy-docs.yml b/.github/workflows/deploy-docs.yml new file mode 100644 index 0000000..8209c81 --- /dev/null +++ b/.github/workflows/deploy-docs.yml @@ -0,0 +1,45 @@ +name: Deploy Docs to Cloudflare Pages + +on: + push: + branches: [main] + paths: + - 'docs/**' + workflow_dispatch: + +permissions: + contents: read + deployments: write + +jobs: + deploy: + name: Deploy + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 + + - name: Setup pnpm + uses: pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda # v4 + + - name: Setup Node.js + uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6 + with: + node-version: '20' + cache: 'pnpm' + cache-dependency-path: docs/pnpm-lock.yaml + + - name: Install dependencies + working-directory: docs + run: pnpm install --frozen-lockfile + + - name: Build docs + working-directory: docs + run: pnpm build + + - name: Deploy to Cloudflare Pages + uses: cloudflare/wrangler-action@da0e0235f371a81e3396a2baee477e1df5065e67 # v3 + with: + apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }} + accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }} + command: pages deploy docs/build --project-name=ralph-starter diff --git a/docs/docusaurus.config.ts b/docs/docusaurus.config.ts index 890d74b..0381b9a 100644 --- a/docs/docusaurus.config.ts +++ b/docs/docusaurus.config.ts @@ -18,7 +18,7 @@ const config: Config = { baseUrl: '/', // Project config - organizationName: 'rubenmarcus', + organizationName: 'multivmlabs', projectName: 'ralph-starter', trailingSlash: false, From b947cd32d6869fcccf1e0a805da7ad6fa7407ca1 Mon Sep 17 00:00:00 2001 From: ruben-cytonic Date: Wed, 11 Feb 2026 10:17:56 +0000 Subject: [PATCH 4/8] ci: update Cloudflare project name to ralph-starter-docs Co-Authored-By: Claude Opus 4.6 --- .github/workflows/deploy-docs.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/deploy-docs.yml b/.github/workflows/deploy-docs.yml index 8209c81..c229c5b 100644 --- a/.github/workflows/deploy-docs.yml +++ b/.github/workflows/deploy-docs.yml @@ -42,4 +42,4 @@ jobs: with: apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }} accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }} - command: pages deploy docs/build --project-name=ralph-starter + command: pages deploy docs/build --project-name=ralph-starter-docs From fd570be22dcb7a53caaa9957a80e0d0a42d4d77b Mon Sep 17 00:00:00 2001 From: ruben-cytonic Date: Wed, 11 Feb 2026 10:19:44 +0000 Subject: [PATCH 5/8] ci: add PR preview deployments to Cloudflare Pages workflow - Production deploys on push to main (--branch=main) - Preview deploys on pull requests (--branch=) - Auto-comments preview URL on PRs - Updates existing comment instead of creating duplicates Co-Authored-By: Claude Opus 4.6 --- .github/workflows/deploy-docs.yml | 61 ++++++++++++++++++++++++++++++- 1 file changed, 59 insertions(+), 2 deletions(-) diff --git a/.github/workflows/deploy-docs.yml b/.github/workflows/deploy-docs.yml index c229c5b..3ceb0cb 100644 --- a/.github/workflows/deploy-docs.yml +++ b/.github/workflows/deploy-docs.yml @@ -5,11 +5,15 @@ on: branches: [main] paths: - 'docs/**' + pull_request: + paths: + - 'docs/**' workflow_dispatch: permissions: contents: read deployments: write + pull-requests: write jobs: deploy: @@ -37,9 +41,62 @@ jobs: working-directory: docs run: pnpm build - - name: Deploy to Cloudflare Pages + # Production deploy (push to main) + - name: Deploy to Production + if: github.event_name == 'push' && github.ref == 'refs/heads/main' + uses: cloudflare/wrangler-action@da0e0235f371a81e3396a2baee477e1df5065e67 # v3 + id: deploy-production + with: + apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }} + accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }} + command: pages deploy docs/build --project-name=ralph-starter-docs --branch=main + + # Preview deploy (pull requests) + - name: Deploy Preview + if: github.event_name == 'pull_request' uses: cloudflare/wrangler-action@da0e0235f371a81e3396a2baee477e1df5065e67 # v3 + id: deploy-preview with: apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }} accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }} - command: pages deploy docs/build --project-name=ralph-starter-docs + command: pages deploy docs/build --project-name=ralph-starter-docs --branch=${{ github.head_ref }} + + # Comment preview URL on the PR + - name: Comment Preview URL + if: github.event_name == 'pull_request' + uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8 + with: + script: | + const branch = context.payload.pull_request.head.ref + .replace(/[^a-zA-Z0-9-]/g, '-') + .substring(0, 28); + const previewUrl = `https://${branch}.ralph-starter-docs.pages.dev`; + + // Check for existing bot comment to avoid duplicates + const { data: comments } = await github.rest.issues.listComments({ + owner: context.repo.owner, + repo: context.repo.repo, + issue_number: context.issue.number, + }); + + const botComment = comments.find(c => + c.user.type === 'Bot' && c.body.includes('Docs Preview') + ); + + const body = `### 🔗 Docs Preview\n\n**Preview URL:** ${previewUrl}\n\nThis preview was deployed from the latest commit on this PR.`; + + if (botComment) { + await github.rest.issues.updateComment({ + owner: context.repo.owner, + repo: context.repo.repo, + comment_id: botComment.id, + body, + }); + } else { + await github.rest.issues.createComment({ + owner: context.repo.owner, + repo: context.repo.repo, + issue_number: context.issue.number, + body, + }); + } From db6b4237fb4ee069e3c3b2177bc077a77da93c7f Mon Sep 17 00:00:00 2001 From: Erhan Acet Date: Wed, 11 Feb 2026 14:06:40 +0300 Subject: [PATCH 6/8] Fix setup versions --- .github/workflows/deploy-docs.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/deploy-docs.yml b/.github/workflows/deploy-docs.yml index 3ceb0cb..dc12197 100644 --- a/.github/workflows/deploy-docs.yml +++ b/.github/workflows/deploy-docs.yml @@ -21,13 +21,13 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 + uses: actions/checkout@v6 - name: Setup pnpm - uses: pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda # v4 + uses: pnpm/action-setup@v4 - name: Setup Node.js - uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6 + uses: actions/setup-node@v6 with: node-version: '20' cache: 'pnpm' From 317bd1b950c56394940186cc3464cdabe21a7d4b Mon Sep 17 00:00:00 2001 From: Erhan Acet Date: Wed, 11 Feb 2026 14:09:27 +0300 Subject: [PATCH 7/8] Update cloudflare action version --- .github/workflows/deploy-docs.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/deploy-docs.yml b/.github/workflows/deploy-docs.yml index dc12197..eee2bdf 100644 --- a/.github/workflows/deploy-docs.yml +++ b/.github/workflows/deploy-docs.yml @@ -44,7 +44,7 @@ jobs: # Production deploy (push to main) - name: Deploy to Production if: github.event_name == 'push' && github.ref == 'refs/heads/main' - uses: cloudflare/wrangler-action@da0e0235f371a81e3396a2baee477e1df5065e67 # v3 + uses: cloudflare/wrangler-action@v3 id: deploy-production with: apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }} From b69ba0f0738b2fae39000908bd9251058772f05c Mon Sep 17 00:00:00 2001 From: Erhan Acet Date: Wed, 11 Feb 2026 14:10:46 +0300 Subject: [PATCH 8/8] Fix all commit versions --- .github/workflows/deploy-docs.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/deploy-docs.yml b/.github/workflows/deploy-docs.yml index eee2bdf..018e410 100644 --- a/.github/workflows/deploy-docs.yml +++ b/.github/workflows/deploy-docs.yml @@ -54,7 +54,7 @@ jobs: # Preview deploy (pull requests) - name: Deploy Preview if: github.event_name == 'pull_request' - uses: cloudflare/wrangler-action@da0e0235f371a81e3396a2baee477e1df5065e67 # v3 + uses: cloudflare/wrangler-action@v3 id: deploy-preview with: apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }} @@ -64,7 +64,7 @@ jobs: # Comment preview URL on the PR - name: Comment Preview URL if: github.event_name == 'pull_request' - uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8 + uses: actions/github-script@v8 with: script: | const branch = context.payload.pull_request.head.ref