Roo-Cline: An Integrated Autonomous Coding Assistant

Roo-Cline is a branch of Cline, serving as an autonomous coding assistant with some additional experimental features. It primarily focuses on self-writing code, occasionally requiring human guidance.

Roo-Cline: An Integrated Autonomous Coding Assistant

Main Features:

Drag and drop images into chatDelete messages in chat@Mention Git commits, including their context in chat“Enhance Prompt” button (currently only for OpenRouter model)Feedback sound effectsSelect different browser sizes and adjust screenshot qualityQuickly copy prompts from historySupports OpenRouter compressionInclude current time in system promptsUse filesystem monitor for more reliable filesystem change monitoringLanguage selection for Cline communication (English, Japanese, Spanish, French, German, etc.)Support for DeepSeek V3Supports Amazon Nova and Meta models 3, 3.1, and 3.2 via AWS BedrockSupports GlamaSupports listing models from OpenAI-compatible providersSupport for adding OpenAI-compatible models with or without streamingMCP auto-approval for each toolEnable/disable individual MCP serversOverall enable/disable MCP functionalityConfigurable delay after auto-write for diagnosing potential issuesControl the number of terminal output lines passed to the model when executing commandsRun in parallel with original Cline

Local Setup:

1.Install dependencies:2.Build VSIX file: A new VSIX file will be created in the bin/ directory3.Install the extension from the VSIX file:

Option 1: Drag the .vsix file into the extensions panel of a VSCode-compatible editor (Cmd/Ctrl+Shift+X).Option 2: Install the plugin using CLI, ensuring you have a VSCode-compatible CLI installed and in your PATH variable. For example:<span>export PATH="$PATH:/Applications/Cursor.app/Contents/MacOS"</span>

<span># Ex: cursor --install-extension bin/roo-cline-2.0.1.vsix</span><span># Ex: code --install-extension bin/roo-cline-2.0.1.vsix</span>

4.Launch: Press F5 (or “Run” -> “Start Debugging”) to open a new VSCode window loaded with the extension. (If you encounter issues while building the project, you may need to install the esbuild problem matchers extension.)

Publishing:

We use changesets for version control and publishing this package. To make changes:

1.Create a PR with the changes2. Run <span>npm run changeset</span> to create a new changeset3.Select the appropriate change type – bug fixes are patch, new features are minor, major changes are major4. Write a clear change description, which will be included in the changelog5. Get the PR approved and pass all checks6. Merge it

Once merged successfully:

The publishing workflow will automatically create a new “Changeset Version Bump” PRThis PR will:

Update the version based on your changesetUpdate the CHANGELOG.md fileCreate a git tag

The PR will be automatically approved and mergedA new version and git release will be published

Cline:

Cline is an AI assistant that works with your CLI and editor. With the agent coding capabilities of Claude 3.5 Sonnet, Cline can handle complex software development tasks step by step. By allowing it to create and edit files, browse large projects, use a browser, and execute terminal commands (with your permission), it can assist you beyond just code completion or technical support. Cline can even create new tools and expand its functionality using the Model Context Protocol (MCP). While autonomous AI scripts traditionally run in sandboxed environments, this extension provides a human-machine interaction GUI for approving each file change and terminal command, offering a secure and accessible way to explore the potential of agent AI.

Usage:

Input your task and add images, transforming the model into a functional application or using screenshots to fix bugs.

Cline first analyzes your file structure and source code AST, running regex searches and reading relevant files to quickly get up to speed in existing projects. By carefully managing the information added to the context, Cline can provide valuable assistance even for large complex projects without overwhelming the context window.

Cline’s Capabilities:

Create and edit files: Monitor linter/compiler errors, proactively fixing issues like missing imports and syntax errors.Execute terminal commands: Directly execute commands in the terminal and monitor their output, for example, responding to development server issues after editing files.Web Development: Launch sites in a headless browser, click, type, scroll, and capture screenshots + console logs to fix runtime errors and visual bugs.

After completing tasks, Cline will show you the results and provide a terminal command, such as <span>open -a "Google Chrome" index.html</span>, which you can run with a single click.

Tips: Use <span>CMD/CTRL + Shift + P</span> shortcut to open the command palette, then type <span>Cline: Open In New Tab</span> to open the extension in a tab in the editor. This allows you to use Cline alongside the file explorer and get a clearer view of how it changes your workspace.

Supported API Providers:

Cline supports API providers such as OpenRouter, Anthropic, Glama, OpenAI, Google Gemini, AWS Bedrock, Azure, and GCP Vertex. You can also configure any OpenAI-compatible API or use local models via LM Studio/Ollama. If you are using OpenRouter, the extension will fetch its latest model list, allowing you to use the latest models as soon as they are available.

The extension also tracks the total token count and API usage cost for the entire task loop and individual requests, keeping you informed of your spending.

Terminal Integration:

With the new shell integration updates in VSCode v1.93, Cline can execute commands directly in your terminal and receive output. This enables it to perform various tasks, from installing packages and running build scripts to deploying applications, managing databases, and running tests, while adapting to your development environment and toolchain to get the job done correctly.

For long-running processes (like development servers), use the “Continue Running” button to let Cline continue executing tasks while the command runs in the background. When Cline is working, it will be notified of any new terminal output along the way, allowing it to respond to potential issues (such as compile-time errors when editing files).

File Editing:

Cline can create and edit files directly in your editor and show you a view of the changes. You can directly edit or revert Cline’s changes in the diff view editor, or provide feedback in chat until you are satisfied with the results. Cline also monitors linter/compiler errors (missing imports, syntax errors, etc.) so that it can fix issues as they arise.

All changes made by Cline are logged in the “timeline” of your file, providing an easy way to track and revert modifications when needed.

Browser Interaction:

With the new computing capabilities of Claude 3.5 Sonnet, 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 general web use! It enables it to autonomously fix visual errors and runtime issues without requiring your manual intervention and copying error logs.

Try asking Cline to “test the application” and watch it run commands like <span>npm run dev</span> to launch your locally running development server in the browser and perform a series of tests to confirm everything is working.

Model Context Protocol (MCP):

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

Example Tools:

<span>“Add a tool to fetch Jira tickets”</span>: Retrieve ticket AC and let Cline work<span>“Add a tool to manage AWS EC2”</span>: Check server metrics and scale instances up or down<span>“Add a tool to fetch the latest PagerDuty events”</span>: Get details and ask Cline to fix errors<span>@url</span>: Paste a URL for the extension to fetch and convert to Markdown, useful when you want to provide Cline with the latest documentation<span>@problems</span>: Add workspace errors and warnings (“Problems” panel) for Cline to fix<span>@file</span>: Add file content so you don’t waste API requests approving file reads (+ type to search for files)<span>@folder</span>: Add all files in a folder at once to speed up your workflow

Contributing:

To contribute to the project, first browse the open issues or check our feature request board. We also welcome you to join our Discord to share ideas and connect with other contributors. If you are interested in joining the team, please check our careers page!

Local Development Instructions:

1.Clone the repository (requires git-lfs): <span>git clone https://github.com/cline/cline.git</span>2.Open the project in VSCode:3.Install dependencies required for the extension and webview-gui:4.Launch: Press F5 (or “Run” -> “Start Debugging”) to open a new VSCode window loaded with the extension. (If you encounter issues while building the project, you may need to install the esbuild problem matchers extension.)

Apache 2.0 © 2024 Cline Bot Inc.

GitHub: https://github.com/RooVetGit/Roo-Cline

Leave a Comment