{"id":43222082,"url":"https://github.com/robstokes857/vibe-rails","last_synced_at":"2026-05-07T00:04:01.521Z","repository":{"id":335541041,"uuid":"1146188647","full_name":"robstokes857/vibe-rails","owner":"robstokes857","description":"An opinionated framework that helps keep AI coding assistants from going off the rails","archived":false,"fork":false,"pushed_at":"2026-03-29T14:51:09.000Z","size":97125,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2026-03-29T17:39:23.859Z","etag":null,"topics":["claude","codex","gemini","llm","vibe","vibe-coding","vibecoding"],"latest_commit_sha":null,"homepage":"https://viberails.ai/","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/robstokes857.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-01-30T18:33:13.000Z","updated_at":"2026-03-29T14:51:12.000Z","dependencies_parsed_at":"2026-02-16T21:02:37.086Z","dependency_job_id":null,"html_url":"https://github.com/robstokes857/vibe-rails","commit_stats":null,"previous_names":["robstokes857/vibe-rails"],"tags_count":46,"template":false,"template_full_name":null,"purl":"pkg:github/robstokes857/vibe-rails","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robstokes857%2Fvibe-rails","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robstokes857%2Fvibe-rails/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robstokes857%2Fvibe-rails/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robstokes857%2Fvibe-rails/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/robstokes857","download_url":"https://codeload.github.com/robstokes857/vibe-rails/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robstokes857%2Fvibe-rails/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31292631,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-01T21:15:39.731Z","status":"ssl_error","status_checked_at":"2026-04-01T21:15:34.046Z","response_time":53,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["claude","codex","gemini","llm","vibe","vibe-coding","vibecoding"],"created_at":"2026-02-01T09:07:48.853Z","updated_at":"2026-04-01T22:04:08.777Z","avatar_url":"https://github.com/robstokes857.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# VibeRails\n\n**VibeRails** is an opinionated framework that helps keep AI coding assistants from going off the rails.\n\n**Live Site**: [https://viberails.ai/](https://viberails.ai/)\n\n[![.NET](https://img.shields.io/badge/.NET-10.0-512BD4)](https://dotnet.microsoft.com/)\n[![TypeScript](https://img.shields.io/badge/TypeScript-5.9.3-3178C6)](https://www.typescriptlang.org/)\n[![License](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)\n\n---\n\n## Overview\n- **Environment Isolation** - Like Conda for LLMs. Create separate environments to experiment with Claude, Codex, or Gemini settings without breaking your primary setup\n- **Cross-LLM Learning** - Share context and learnings between different LLM providers (Claude, Codex, Gemini)\n- **RAG (Without The Rot) For Your Code** - Track things like repeated fixes the LLM forgets, including when you have to tell it the same thing 6 or 7 times in one session and it still doesn't understand, how you describe a feature and where that code lives, and file change summaries with commits, then only provide what’s useful at call time to prevent context rot.\n- **Few Shot Prompting** - Get Gemini or codex to code like Claude for code that has been done before with few shot prompting... Making them up to 20% better (research paper and eval data coming soon.)\n- **Rule Enforcement** - Define and enforce coding standards like test coverage, cyclomatic complexity, logging practices, and more. LLMs fix their errors before code can be pushed or before the tech debt get astronomical.\n- **Token Savings** - Learn your codebase and how you describe it, providing LLMs with smart file hints to reduce token usage and costs\n- **AGENTS.md Management** - Create and manage agent instruction files following the [agents.md specification](https://agents.md/)\n- **Web Terminal** - Launch CLIs directly in the browser with xterm.js. Select base CLIs (Claude, Codex, Gemini) or custom environments from a visual dropdown with optgroups\n\n---\n\n## Status\n- This repo is a lightweight, local-focused version of my personal setup. I'm stripping out multi-GPU/cluster support, heavy eval tooling, and other framework dependencies so it runs fast with Claude, Codex, and Gemini CLIs. I'm rebuilding it around the features I think most people will actually want for local workflows.\n\n## Quick Start\n\n### Prerequisites\n\n**For End Users:**\n- Just install from VS Code Marketplace... That's it\n- One or more LLM CLIs: Claude CLI, OpenAI Codex, or Google Gemini CLI\n- **No other dependencies required** - backend binaries are installed automatically on first run\n\n**For Contributors (Working on the Project):**\n- [.NET 10.0 SDK](https://dotnet.microsoft.com/download) or later (required to build the backend)\n- [Node.js 20+](https://nodejs.org/) (required to build the VS Code extension)\n- Git\n- VS Code 1.85.0 or later\n\n### Installation\n\n#### Build backend\n\n```bash\n# Clone the repository\ngit clone https://github.com/robstokes857/vibe-rails.git\ncd vibe-rails\n\n# Build and run\ncd VibeRails\ndotnet run\n```\n\nThe dashboard will open in your default browser at `http://localhost:{port 5000-5999}`.\n\n#### Option 2: VS Code Extension\n\n```bash\n# Navigate to extension directory\ncd vscode-viberails\n\n# Install dependencies\nnpm install\n\n# Compile TypeScript\nnpm run compile\n\n# Open in VS Code\ncode .\n```\n\n---\n\n## Web Terminal Features\n\nThe integrated Web UI terminal lets you interact with LLM CLIs directly in your browser:\n\n### Key Features\n- Launch Claude, Codex, or Gemini CLIs in a browser-based terminal (xterm.js)\n- Select from custom environments in a visual dropdown (Base CLIs vs Custom Environments)\n- Auto-populate environment settings (custom args, prompts, model configs)\n- Navigate from Environment Management → Dashboard with environment pre-selected\n- Real-time CLI output with proper Unicode and color support\n- PTY-backed sessions with full shell capabilities\n\n### Usage\n\n**Standard Launch:**\n1. Go to Dashboard\n2. Scroll to Terminal section\n3. Select a CLI or custom environment from dropdown\n4. Click \"Start\" to launch\n\n**Quick Launch from Environments:**\n1. Go to Environments page\n2. Click \"Web UI\" button next to any environment\n3. Dashboard opens with terminal section visible\n4. Environment is pre-selected in dropdown\n5. Click \"Start\" to launch with environment config applied\n\n### Environment Integration\n\nWhen you select a custom environment in the terminal:\n- The backend automatically applies your custom args (e.g., `--verbose`, `--sandbox`)\n- Your custom prompt is injected at session start\n- Model-specific settings are configured (Claude model, Codex sandbox mode, etc.)\n- The environment's \"Last Used\" timestamp is updated\n\nThis gives you quick access to different configurations without remembering command-line flags!\n\n---\n\n**Version**: 1.1.5\n**Last Updated**: 2026-02-05\n**Maintained By**: Robert Stokes\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frobstokes857%2Fvibe-rails","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frobstokes857%2Fvibe-rails","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frobstokes857%2Fvibe-rails/lists"}