{"id":48851167,"url":"https://github.com/mrcesar107/ruby_coded","last_synced_at":"2026-04-15T09:02:14.225Z","repository":{"id":351486824,"uuid":"1181478547","full_name":"MrCesar107/ruby_coded","owner":"MrCesar107","description":"An AI code agent created with Ruby (similar to Claude Code or Codex)","archived":false,"fork":false,"pushed_at":"2026-04-15T08:17:12.000Z","size":212,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-15T08:30:34.724Z","etag":null,"topics":["ai","ai-agents","ruby","ruby-gem"],"latest_commit_sha":null,"homepage":"","language":"Ruby","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/MrCesar107.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":"CODE_OF_CONDUCT.md","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":null,"dco":null,"cla":null}},"created_at":"2026-03-14T07:30:32.000Z","updated_at":"2026-04-15T08:13:36.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/MrCesar107/ruby_coded","commit_stats":null,"previous_names":["mrcesar107/ruby_code"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/MrCesar107/ruby_coded","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MrCesar107%2Fruby_coded","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MrCesar107%2Fruby_coded/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MrCesar107%2Fruby_coded/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MrCesar107%2Fruby_coded/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MrCesar107","download_url":"https://codeload.github.com/MrCesar107/ruby_coded/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MrCesar107%2Fruby_coded/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31833837,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-15T07:17:56.427Z","status":"ssl_error","status_checked_at":"2026-04-15T07:17:30.007Z","response_time":63,"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":["ai","ai-agents","ruby","ruby-gem"],"created_at":"2026-04-15T09:02:12.471Z","updated_at":"2026-04-15T09:02:14.220Z","avatar_url":"https://github.com/MrCesar107.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# RubyCoded\n\n```\n         /\\\n        /  \\\n       /    \\         ____        _              ____          _\n      /------\\       |  _ \\ _   _| |__  _   _   / ___|___   __| | ___   __| |\n     /  \\  /  \\      | |_) | | | | '_ \\| | | | | |   / _ \\ / _` |/ _ \\ / _` |\n    /    \\/    \\     |  _ \u003c| |_| | |_) | |_| | | |__| (_) | (_| |  __/ (_| |\n    \\    /\\    /     |_| \\_\\\\__,_|_.__/ \\__, |  \\____\\___/ \\__,_|\\___| \\__,_|\n     \\  /  \\  /                         |___/\n      \\/    \\/\n       \\    /\n        \\  /\n         \\/\n```\n\nAn AI-powered terminal coding assistant built in Ruby. Chat with LLMs, let an agent edit your project files, or plan tasks — all from your terminal.\n\n## Features\n\n- **Chat mode** — Talk to an LLM directly in a full terminal UI (TUI) built with [ratatui](https://github.com/nicholasgasior/ratatui-ruby)\n- **Agent mode** — The model can read, write, edit, and delete files in your project, create directories, and run shell commands with user confirmation\n- **Plan mode** — Generate structured plans before implementing, with interactive clarification questions and auto-switch to agent mode when ready\n- **Multi-provider support** — Works with OpenAI and Anthropic out of the box (OAuth and API key authentication)\n- **Tool confirmation** — Write and dangerous operations require explicit approval; safe operations (read, list) run automatically\n- **Token \u0026 cost tracking** — Live status bar showing token usage and estimated session cost\n- **Plugin system** — Extend the chat with custom state, input handlers, renderer overlays, and commands\n- **Slash commands** — `/agent`, `/plan`, `/model`, `/history`, `/tokens`, `/help`, and more\n\n## Requirements\n\n- Ruby \u003e= 3.3.0\n- An OpenAI or Anthropic account (API key or OAuth)\n\n## Installation\n\n```bash\ngem install ruby_coded\n```\n\n## Usage\n\nNavigate to any project directory and run:\n\n```bash\nruby_coded\n```\n\nOn first launch you'll be asked to authenticate with a provider. After that, you're dropped into chat mode.\n\n### Modes\n\n| Command | Description |\n|---|---|\n| `/agent on` | Enable agent mode (file tools + shell access) |\n| `/agent off` | Disable agent mode |\n| `/plan on` | Enable plan mode (read-only tools, structured planning) |\n| `/plan off` | Disable plan mode |\n| `/plan save` | Save the current plan to a file |\n| `/model` | Switch to a different model |\n| `/tokens` | Show detailed token usage breakdown |\n| `/history` | Show conversation history |\n| `/clear` | Clear the conversation |\n| `/help` | Show all available commands |\n\n### Agent mode\n\nWhen agent mode is active, the model has access to these tools:\n\n| Tool | Risk level | Description |\n|---|---|---|\n| `read_file` | Safe | Read file contents |\n| `list_directory` | Safe | List directory contents |\n| `write_file` | Confirm | Write a new file |\n| `edit_file` | Confirm | Search and replace in a file |\n| `create_directory` | Confirm | Create a new directory |\n| `delete_path` | Dangerous | Delete a file or directory |\n| `run_command` | Dangerous | Execute a shell command |\n\nSafe tools run without asking. Confirm and dangerous tools show the operation details and wait for your approval (`y` to approve, `n` to reject, `a` to approve all remaining).\n\n### Plan mode\n\nPlan mode restricts the model to read-only tools and a planning-oriented system prompt. The model will analyze your project and propose a structured plan. If the model needs clarification, it presents interactive options you can select or answer with custom text.\n\n## Keyboard shortcuts\n\n| Key | Action |\n|---|---|\n| `Enter` | Send message |\n| `Esc` | Cancel streaming / clear input |\n| `Ctrl+C` | Quit |\n| `Up/Down` | Scroll chat history |\n| `Left/Right` | Move cursor in input |\n| `Home/End` | Jump to start/end of input |\n| `Tab` | Autocomplete commands |\n\n## Development\n\n```bash\ngit clone https://github.com/MrCesar107/ruby_code.git\ncd ruby_code\nbundle install\nbundle exec rake test\n```\n\nTo run the application locally:\n\n```bash\nbundle exec exe/ruby_coded\n```\n\n## What's next\n\n- Find a way to update the autocomplete plugin when a new command is added []\n- Display context window size (depending on the model) []\n- UI element to indicate the AI is performing a task []\n- Add the possibility to create custom commands []\n- Skills implementation []\n- Implement Google Auth for Gemini []\n- Session recovery system by ID []\n\n## Contributing\n\nContributions are welcome! To get started:\n\n1. Fork the repository\n2. Create a new branch for your feature or fix (`git checkout -b my-feature`)\n3. Make your changes and add tests if applicable\n4. Make sure all tests pass (`bundle exec rake test`)\n5. Commit your changes (`git commit -m \"Add my feature\"`)\n6. Push to your fork (`git push origin my-feature`)\n7. Open a Pull Request against the `main` branch of this repository\n\nYour PR will be reviewed and merged if everything looks good. If you're unsure about a change, feel free to open an issue first to discuss it.\n\n## License\n\nThe gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmrcesar107%2Fruby_coded","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmrcesar107%2Fruby_coded","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmrcesar107%2Fruby_coded/lists"}