Following our release of Rovo Dev CLI beta, we’re excited to share a comprehensive guide with prompt ideas, helpful tips, use cases and features to get you off the ground running in-product!
To learn more about Rovo Dev CLI and how to get started, see the full article here.
Permission control |
User can control Rovo Dev's permission to use any tool and file operations |
File operations |
Perform file operations on the local machine including create, read, update, and delete. |
Bash commands |
Execute shell commands with built-in permission control. |
Memory support: |
User and team can define memory files loaded into the AI agent. |
MCP server support: |
User can configure MCP servers for enhanced functionality. |
Session management: |
Automatically save and manage sessions across interactions. User can fork or resume previous sessions via an easy-to-use UI. |
Task management: |
User can save regularly used prompts into reusable tasks. |
Shadow mode: |
User can test changes without affecting the live environment. |
Cost & usage tracking: |
User can monitor the consumption of resources and expenses. |
Natural language understanding & interactions |
Understand human natural language input and respond accordingly |
Code analysis & reasoning: |
Ability to analyze the entire codebase and reason with given task for complex problem solving |
Generative AI: |
Ability to generate code snippets, documentation, and solutions tailored to specific programming tasks. |
Self-correction: |
Ability to recover from errors automatically while performing a task. |
Tool calling: |
Ability to automatically use relevant tools/MCP servers to complete a task. |
The following are common tasks with natural language prompt examples:
Get answers about the codebase
“What’s in this repo?”
“Where is authentication defined?”
“Find function foo”
Find Jira work items and details
“Show the Jira work items assigned to me”
“Which Jira work items are the most urgent?”
“Which Jira work item should I work on next?”
Get feature or code suggestions
“Suggest features to improve this product”
“What should I improve next?”
“How can I improve performance of this?”
Make an implementation or coding plan
“How to implement Jira work item DEVAI-123? Don’t make code changes yet”
“Help me with an implementation plan for a new authentication service and publish to Confluence space XYZ”
“Create a coding plan to implement a shopping cart”
Create a new App or website
"Create a simple task manager web app. It should have the ability to add, edit, delete, and mark tasks as complete"
"Build a blog website where users can log in, write posts, and have an AI tool that helps generate blog post ideas"
"Design a mobile-friendly web app for a restaurant where users can browse the menu, add items to a cart, and place an order"
Implement a feature or product improvement
“Implement Jira work item DEVAI-123”
“Add a dark mode toggle to my existing app”
"Improve the search bar on my e-commerce site by adding autocomplete suggestions using a predefined list of popular products"
Migrate code or upgrade software framework
“Upgrade my React.js to the latest version”
“Migrate code from C++ to Java”
Debug and fix issues
"My React component isn't rendering anything on the page. Can you help me debug and fix it?"
"I'm getting a 500 error when trying to fetch data from my backend API using Axios. Can you find and fix the issue?"
"This JavaScript function is supposed to return a result, but it keeps returning undefined. Can you debug it and explain what's wrong?"
Review code
“Review the codebase for readability, performance, and best practices”
“Review Express.js route handler and let me know if there are any potential security issues"
"Check this React component for compliance with common code style and formatting guidelines"
Raise, review, and merge Pull Requests (PRs)
"Write a clear and concise Pull Request description for a new feature that adds user authentication"
"Review the changes in this PR that refactor the dashboard layout. Highlight any issues with structure or reusability"
"Should I use a merge commit, squash, or rebase to merge this PR into the main branch? Explain which is best in this case"
Write code documentation
"Write concise documentation for this REST API that includes available endpoints, parameters, and expected responses. Publish to Confluence space XYZ."
"Write JSDoc-style comments for this JavaScript function that handles form validation."
"Generate a README.md file for my React project that includes setup instructions, features, and deployment info"
Generate synthetic data
"Generate 100 rows of synthetic user profile data with fields: name, email, age, location, and signup date. Output as a CSV."
"Create synthetic data for an e-commerce platform including orders with fields: order_id, customer_name, product, quantity, price, and order_date."
"Generate synthetic time series data simulating temperature sensor readings every minute for 24 hours. Include timestamp and temperature in Celsius."
Write tests
"Write unit tests in Jest for this JavaScript function that calculates user age based on birthdate"
"Create a test using React Testing Library to verify that my login form shows an error message when submitting an empty input"
"Write Pytest tests for my Flask API endpoint /users that checks GET and POST behavior"
Build and deploy with Bitbucket pipeline
"Create a Bitbucket Pipelines YAML file to build and deploy a Node.js app to Heroku"
"Modify my existing bitbucket-pipelines.yml to add a step for running Jest tests before deploying"
"Update the pipeline so it only deploys when a Git tag is pushed, not on every commit to main"
Interactive mode is Rovo Dev’s default mode. It lets you use natural language to talk with the agent so it can answer questions, iterate on code, and problem solve with you.
Run interactive mode from the command line using
acli rovodev run
In non-interactive mode, Rovo Dev updates files in your codebase directly without interaction. This is useful for automating repetitive tasks once you’re happy with results of an instruction.
Run non-interactive mode from the command line using
acli rovodev run <instruction>
For example, you could run
acli rovodev run "Create unit tests for all components without tests"
While in interactive mode, you can enter `/` at any time to see the list of available commands.
/models
Use models command to switch between large language models (LLMs)
/sessions
Use sessions command to switch between sessions, and view session details.
/tasks
Use tasks command to run prompts you have saved as tasks.
/memory
Use memory command to open the personal repository memory file
( ./.agent.md)
in your editor.
# <memory>
Use the above command to add a memory to the personal repository memory file ( ./.agent.md).
#! <memory>
Use the above command to remove a memory from the personal repository memory file ( ./.agent.md).
/exit
Use exit command to quit Rovo Dev.
Start small - Rovo Dev works best with small changes, about 10 or 20 lines at a time.
Break down your tasks - break bigger changes into smaller steps for Rovo Dev to tackle one at a time.
Review and iterate - treat Rovo Dev like a teammate you’re collaborating with, give feedback on the code it generates with what to change and improve.
Change gears - use the /sessions command to start a new session if the current approach isn’t working and you need a fresh perspective from Rovo Dev.
Save frequently - regularly commit changes to track your progress and avoid losing work if something goes wrong.
Check your work - you can ask Rovo Dev to review its own changes, compare the changes against a parent commit for linting errors, and submit draft pull requests to verify CI/CD logs.
Run Rovo Dev against one repository at a time - to ensure optimal performance and avoid overwhelming the system, focus on one repository rather than your entire src directory.
Remember, your use of Rovo Dev CLI must follow our Acceptable Use Policy.
Jovana Dunisijevic
Online forums and learning are now in one easy-to-use experience.
By continuing, you accept the updated Community Terms of Use and acknowledge the Privacy Policy. Your public name, photo, and achievements may be publicly visible and available in search engines.
1 comment