Skip to content

Autonomous coding agent right in your IDE, capable of creating/editing files, executing commands, using the browser, and more with your permission every step of the way.

License

Notifications You must be signed in to change notification settings

Bouncingfish/Agente

 
 

Repository files navigation

Roo-Cline

A fork of Cline, an autonomous coding agent, tweaked for more speed and flexibility. It’s been mainly writing itself recently, with a light touch of human guidance here and there.

Features

  • Automatically approve commands, browsing, file writing, and MCP tools
  • Faster, more targeted edits via diffs (even on big files)
  • Detects and fixes missing code chunks
  • .clinerules for project-specific instructions
  • Drag and drop images into chats
  • Sound effects for feedback
  • Option to use a larger 1280x800 browser
  • Quick prompt copying from history
  • OpenRouter compression support
  • Support for newer Gemini models (gemini-exp-1206, gemini-2.0-flash-exp, gemini-2.0-flash-thinking-exp-1219) and Meta 3, 3.1, and 3.2 models via AWS Bedrock
  • Runs alongside the original Cline

Disclaimer

Please note that Roo Veterinary, Inc does not make any representations or warranties regarding any code, models, or other tools provided or made available in connection with Roo-Cline, any associated third-party tools, or any resulting outputs. You assume all risks associated with the use of any such tools or outputs; such tools are provided on an "AS IS" and "AS AVAILABLE" basis. Such risks may include, without limitation, intellectual property infringement, cyber vulnerabilities or attacks, bias, inaccuracies, errors, defects, viruses, downtime, property loss or damage, and/or personal injury. You are solely responsible for your use of any such tools or outputs (including, without limitation, the legality, appropriateness, and results thereof).

Demo

Here's an example of Roo-Cline autonomously creating a snake game with "Always approve write operations" and "Always approve browser actions" turned on:

Screen.Recording.2024-12-07.at.5.35.37.PM.mov

Contributing

To contribute to the project, start by exploring open issues or checking our feature request board. We'd also love to have you join our Discord to share ideas and connect with other contributors.

Local Setup
  1. Install dependencies:

    npm run install:all
  2. Build the VSIX file:

    npm run build
  3. The new VSIX file will be created in the bin/ directory

  4. Install the extension from the VSIX file as described below:

    • Option 1: Drag and drop the .vsix file into your VSCode-compatible editor's Extensions panel (Cmd/Ctrl+Shift+X).

    • Option 2: Install the plugin using the CLI, make sure you have your VSCode-compatible CLI installed and in your PATH variable. Cursor example: export PATH="$PATH:/Applications/Cursor.app/Contents/MacOS"

    # Ex: cursor --install-extension bin/roo-cline-2.0.1.vsix
    # Ex: code --install-extension bin/roo-cline-2.0.1.vsix
  5. Launch by pressing F5 (or Run->Start Debugging) to open a new VSCode window with the extension loaded. (You may need to install the esbuild problem matchers extension if you run into issues building the project.)

Publishing We use [changesets](https://github.com/changesets/changesets) for versioning and publishing this package. To make changes:
  1. Create a PR with your changes
  2. Create a new changeset by running npm run changeset
    • Select the appropriate kind of change - patch for bug fixes, minor for new features, or major for breaking changes
    • Write a clear description of your changes that will be included in the changelog
  3. Get the PR approved and pass all checks
  4. Merge it

Once your merge is successful:

  • The release workflow will automatically create a new "Changeset version bump" PR
  • This PR will:
    • Update the version based on your changeset
    • Update the CHANGELOG.md file
    • Create a git tag
  • The PR will be automatically approved and merged
  • A new version and git release will be published

Stay Updated!

Subscribe to our Github releases to keep up with the latest updates! You can also view our CHANGELOG.md for more details.


Cline (prev. Claude Dev) – #1 on OpenRouter

Meet Cline, an AI assistant that can use your CLI aNd Editor.

Thanks to Claude 3.5 Sonnet's agentic coding capabilities, Cline can handle complex software development tasks step-by-step. With tools that let him create & edit files, explore large projects, use the browser, and execute terminal commands (after you grant permission), he can assist you in ways that go beyond code completion or tech support. Cline can even use the Model Context Protocol (MCP) to create new tools and extend his own capabilities. While autonomous AI scripts traditionally run in sandboxed environments, this extension provides a human-in-the-loop GUI to approve every file change and terminal command, providing a safe and accessible way to explore the potential of agentic AI.

  1. Enter your task and add images to convert mockups into functional apps or fix bugs with screenshots.
  2. Cline starts by analyzing your file structure & source code ASTs, running regex searches, and reading relevant files to get up to speed in existing projects. By carefully managing what information is added to context, Cline can provide valuable assistance even for large, complex projects without overwhelming the context window.
  3. Once Cline has the information he needs, he can:
    • Create and edit files + monitor linter/compiler errors along the way, letting him proactively fix issues like missing imports and syntax errors on his own.
    • Execute commands directly in your terminal and monitor their output as he works, letting him e.g., react to dev server issues after editing a file.
    • For web development tasks, Cline can launch the site in a headless browser, click, type, scroll, and capture screenshots + console logs, allowing him to fix runtime errors and visual bugs.
  4. When a task is completed, Cline will present the result to you with a terminal command like open -a "Google Chrome" index.html, which you run with a click of a button.

Tip

Use the CMD/CTRL + Shift + P shortcut to open the command palette and type "Cline: Open In New Tab" to open the extension as a tab in your editor. This lets you use Cline side-by-side with your file explorer, and see how he changes your workspace more clearly.


Use any API and Model

Cline supports API providers like OpenRouter, Anthropic, OpenAI, Google Gemini, AWS Bedrock, Azure, and GCP Vertex. You can also configure any OpenAI compatible API, or use a local model through LM Studio/Ollama. If you're using OpenRouter, the extension fetches their latest model list, allowing you to use the newest models as soon as they're available. The extension also now supports Amazon Nova and Meta Llama (3, 3.1, and 3.2) models via AWS Bedrock.

The extension also keeps track of total tokens and API usage cost for the entire task loop and individual requests, keeping you informed of spend every step of the way.


Run Commands in Terminal

Thanks to the new shell integration updates in VSCode v1.93, Cline can execute commands directly in your terminal and receive the output. This allows him to perform a wide range of tasks, from installing packages and running build scripts to deploying applications, managing databases, and executing tests, all while adapting to your dev environment & toolchain to get the job done right.

For long running processes like dev servers, use the "Proceed While Running" button to let Cline continue in the task while the command runs in the background. As Cline works he’ll be notified of any new terminal output along the way, letting him react to issues that may come up, such as compile-time errors when editing files.


Create and Edit Files

Cline can create and edit files directly in your editor, presenting you a diff view of the changes. You can edit or revert Cline's changes directly in the diff view editor, or provide feedback in chat until you're satisfied with the result. Cline also monitors linter/compiler errors (missing imports, syntax errors, etc.) so he can fix issues that come up along the way on his own.

All changes made by Cline are recorded in your file's Timeline, providing an easy way to track and revert modifications if needed.


Use the Browser

With Claude 3.5 Sonnet's new Computer Use capability, Cline can launch a browser, click elements, type text, and scroll, capturing screenshots and console logs at each step. This allows for interactive debugging, end-to-end testing, and even general web use! This gives him autonomy to fixing visual bugs and runtime issues without you needing to handhold and copy-pasting error logs yourself.

Try asking Cline to "test the app", and watch as he runs a command like npm run dev, launches your locally running dev server in a browser, and performs a series of tests to confirm that everything works. See a demo here.


"add a tool that..."

Thanks to the Model Context Protocol, Cline can extend his capabilities through custom tools. While you can use community-made servers, Cline can instead create and install tools tailored to your specific workflow. Just ask Cline to "add a tool" and he will handle everything, from creating a new MCP server to installing it into the extension. These custom tools then become part of Cline's toolkit, ready to use in future tasks.

  • "add a tool that fetches Jira tickets": Retrieve ticket ACs and put Cline to work
  • "add a tool that manages AWS EC2s": Check server metrics and scale instances up or down
  • "add a tool that pulls the latest PagerDuty incidents": Fetch details and ask Cline to fix bugs


Add Context

@url: Paste in a URL for the extension to fetch and convert to markdown, useful when you want to give Cline the latest docs

@problems: Add workspace errors and warnings ('Problems' panel) for Cline to fix

@file: Adds a file's contents so you don't have to waste API requests approving read file (+ type to search files)

@folder: Adds folder's files all at once to speed up your workflow even more

Contributing

To contribute to the project, start by exploring open issues or checking our feature request board. We'd also love to have you join our Discord to share ideas and connect with other contributors. If you're interested in joining the team, check out our careers page!

Local Development Instructions
  1. Clone the repository (Requires git-lfs):
    git clone https://github.com/cline/cline.git
  2. Open the project in VSCode:
    code cline
  3. Install the necessary dependencies for the extension and webview-gui:
    npm run install:all
  4. Launch by pressing F5 (or Run->Start Debugging) to open a new VSCode window with the extension loaded. (You may need to install the esbuild problem matchers extension if you run into issues building the project.)

License

Apache 2.0 © 2024 Cline Bot Inc.

About

Autonomous coding agent right in your IDE, capable of creating/editing files, executing commands, using the browser, and more with your permission every step of the way.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 97.5%
  • JavaScript 1.8%
  • Other 0.7%