I was testing out the new Jules AI by Google and had to take a few turns to figure out how to properly initialize a Python project with it using uv
. (It completely failed to install and run a larger project that used docker compose but a simple Python project ran fine.)
Here’s the final initial setup script that worked for me:
set -eux
export PIP_BREAK_SYSTEM_PACKAGES=1
export PATH=$PATH:$HOME/.local/bin
cd /app
curl -LsSf https://astral.sh/uv/install.sh | sh
uv sync
I also used Claude to help me write instructions for Jules, which basically just instruct it to run the documented commands correctly and behave better. That worked pretty well, except it insists calling itself just “Jules”; it says it doesn’t know the actual model powering it (which at the moment is Gemini 2.5 Pro). Now I can start the tasks with First, read `docs/jules_instructions.md` for general project instructions. Here's your task:
, and it learns everything it needs to work with the repo without getting confused. (I wish I could add this to the project settings instead of always manually adding it.)
Finally I tasked Jules to write a simple addition to my new MCP server, which already was mostly written by LLMs. It faired pretty ok!
At the moment this initial version of Jules seems more like a vibe coding gimmick than a real tool because it can basically just one-shot its implementations without extra help from the user, and because it can’t run even a moderate sized repo (nor use tools like Docker or spin up a db etc). But it has potential to be a monumental timesaver pretty soon when the underlying models get better and if the tool evolves a bit.