Track
Google Jules is an autonomous agent that integrates directly with your GitHub repository, reads your code, understands your intent, and executes complex tasks across your codebase.
In this tutorial, I’ll explain step by step how to use Google Jules to automate real-world development tasks for your GitHub repository. You’ll learn how to:
- Fix a layout bug and generate a pull request automatically
- Create an audio summary of recent commits for async team updates
- Add a new feature like a “Spending Trends Over Time” tracker using structured data
We keep our readers updated on the latest in AI by sending out The Median, our free Friday newsletter that breaks down the week’s key stories. Subscribe and stay sharp in just a few minutes a week:
What Is Google Jules?
Google Jules is an agentic, asynchronous coding assistant that integrates directly with your GitHub projects. It clones your entire codebase into a secure Google Cloud virtual machine (VM), understands the full context of your repository, and performs tasks like:
- Fixing bugs
- Refactoring code
- Bumping dependencies
- Generating changelogs (including audio summaries)
- Building new features
Unlike autocomplete assistants, Jules proactively executes complex, multi-step changes, shares a detailed plan, and pushes pull requests back to your repo. All while you stay in control of the review and approval.
Powered by Google's Gemini 2.5 Pro, Jules is designed for practical, real-world software engineering, not just experimental sandboxes.
How to Set Up Google Jules
Here’s a step-by-step walkthrough to get you started with Google Jules.
Step 1: Sign up to Google Jules
Go to the Jules website and sign in using your Google account.
Continue from the Privacy Notice page and connect Jules to your GitHub account.
Step 2: Connect to GitHub
Click on "Connect Repository" and follow the prompts to sign in with GitHub. Complete the setup by clicking on Install and authorize.
Authorize access and select the repositories Jules can access (individual or organization-wide).
Step 3: Get started with Jules
After setting up your GitHub account, it will redirect you to Jules' dashboard, where you can:
- View all authorized repositories
- Create new tasks by writing natural language prompts
- Track progress, pause, or resume active tasks
Choose the repo you want to work with and start prompting.
Note: Public beta users are limited to five tasks per day.
Google Jules: Three Practical Examples
Let’s explore how Jules handles different types of real-world software tasks autonomously and within the GitHub workflow.
Example 1: Simple fixes or improvements
In this example, I asked Jules to improve the project’s README.md
file by analyzing the entire codebase by understanding its structure and context.
Prompt: “Improve the README of this repository by making it more detailed and informative.”
Jules begins by scanning the documentation and identifying areas for improvement:
- It identifies missing structure (e.g., no “What is RAG?” section)
- Then it adds environment-specific setup guides (e.g., Python, virtual environments)
- Finally, it refines formatting, grammar, and clarity throughout the
README.md
file.
Jules then displays a multi-step plan explaining:
- Which sections will be added
- How each change improves clarity or usability
- Any reordering or markdown fixes being applied
Once you click Approve plan, Jules will apply the changes and show a visual diff.
As you’re waiting for Jules to work on the approved plan, you can request other changes in the chat (Jules is an asynchronous coding agent).
Once satisfied with the changes made, click Publish branch to reflect the changes on your branch.
This workflow is ideal for:
- Enhancing project documentation (like
README.md
,CONTRIBUTING.md
) - Clarifying setup instructions for new contributors
- Fixing simple typos or inconsistencies across your repo
You can then review your GitHub repository to verify the implementation of the changes.
Example 2: Add a new feature to an existing codebase
Jules isn’t limited to just simple edits. In this example, I asked Jules to implement a new feature: spending trends over time in a bill scanner notebook.
Prompt: “Analyze the codebase and suggest a meaningful new end-to-end feature that aligns with the project’s purpose. Include what files it would impact, the reasoning behind the feature, and a brief implementation plan.”
Jules analyzes the notebook and builds an end-to-end feature enhancement aligned with the repo’s goal:
- It introduces data persistence by storing bill metadata (timestamp, category, amount) into a new CSV file.
- Then it implements incremental updates, so each new bill processed is appended to the file, building historical context over time.
- Jules also lays the groundwork for trend analysis, enabling future visualizations or statistics on how spending evolves monthly or by category.
After creating the implementation, Jules prepares a pull request with detailed commit messages and provides a diff showing new imports, logic changes, and file handling. If you are satisfied with the changes, click on “Publish branch” to publish changes to your repo.
I ran the updated code locally and verified that it worked as intended, with no issues.
This example showcases how Jules can:
- Introduce long-term data tracking
- Add business logic with real user value
- Extend your application’s utility without disrupting core functionality
Example 3: Generate an audio changelog from commits
For this task, I asked Jules to generate an audio changelog from the commits of the past week.
Prompt: “Summarize commits from the past 7 days and generate an audio changelog.”
Jules pulls recent commit history, generates a written summary, and then uses a speech model to create an audio file you can play. This specific feature is great for standups, releases, or team onboarding as it automatically identifies author names, modules affected, and changes made.
Once your approved plan is executed to your requirements, you can push the changes to your branch, where the audio (.wav) file will be accessible.
The audio output was unfortunately unusable—it has a robotic voice that is very hard to understand. Let's listen to it:
The idea of this feature is not bad at all, but it needs to be improved. Once functional, I can see several use cases:
- Sprint recaps: It summarizes key commits and features after each agile iteration.
- Project handovers: It gives the new developers an auditory brief of recent updates.
- Async team syncs: You can share these voice-based changelogs with distributed or global teams.
Jules can also perform multiple tasks in parallel (see the left-side task bar), and you can pause a task in between if you want to. Click on a task, and it will take you to an overview window with all the running/paused tasks. Here, you can run the paused tasks or simply delete them.
Google Jules vs. OpenAI’s Codex
I also tried OpenAI’s Codex last week, and both models aim to transform how we interact with code, but take very different approaches. Here are my thoughts on how these two competing tools compare.
Jules operates more like an autonomous developer intern. It clones your repo, understands the context, proposes a structured plan, and executes multi-file changes, then opens a pull request for your review. It’s especially strong for end-to-end workflows like adding a new feature, refactoring logic, or generating an audio changelog. That said, some of its special features, like audio summaries, are still evolving and may not yet be production-ready.
Codex, on the other hand, is my go-to for hands-on tasks such as fixing a broken function, exploring a codebase, or quickly prototyping an idea. One of Codex’s biggest strengths is its in-line testing and interactive logs, where you see exactly what was run and why. It runs inside ChatGPT’s conversational interface (separate window), so it feels more natural for iterative debugging, especially when you're juggling multiple tasks at once.
In short: Jules excels at handling multiple tasks with structured planning, execution, and tight GitHub integration, which is ideal for scenarios where you want autonomous agents to manage end-to-end changes. On the other hand, Codex is optimized for iterative development, making it great for real-time debugging, inline code edits, and prototyping within a conversational interface. Both tools support pull request creation and understand your codebase well, but they differ in the level of control and interactivity they offer during the process.
Conclusion
In this tutorial, we saw how Jules can fix layout bugs, implement full-stack features, and generate audio commit summaries, all while operating asynchronously and pushing structured pull requests back to your GitHub repo.
This shows how Jules can improve your daily development workflow, whether you're shipping new features, cleaning up documentation, or summarizing sprint updates for your team.
As Jules matures, I expect deeper support for testing, UI previews, and richer integrations across CI/CD pipelines.
Introduction to AI Agents
FAQs
Is Google Jules free to use?
Yes, during the public beta, you can use Jules for free (with a 5-task daily limit).
Does Google Jules modify my repo directly?
No, all changes are proposed as pull requests.
Can I edit the code Google Jules writes?
Yes, Google Jules shows a full diff and lets you modify files before publishing.

I am a Google Developers Expert in ML(Gen AI), a Kaggle 3x Expert, and a Women Techmakers Ambassador with 3+ years of experience in tech. I co-founded a health-tech startup in 2020 and am pursuing a master's in computer science at Georgia Tech, specializing in machine learning.