Tutorial 2: Develop Mode — AI on Existing Repositories
What you’ll accomplish: Connect a live Git repository, get an AI-generated codebase overview, ask natural-language questions about the code, and execute tasks — refactoring, bug fixes, new features, or test generation — autonomously.
Time to complete: 10–15 minutes for setup; tasks run in the background.
Prerequisites: An Ileen account with a credit balance and a Git repository URL (GitHub, GitLab, Bitbucket, or any Git host).
Overview
Develop Mode is built for teams with existing codebases. Instead of starting from scratch, you connect your repo and let Ileen’s AI understand your code before taking action.
| Agent | What it does |
|---|---|
| 🔌 Project Setup | Clones and indexes your repository |
| 🔍 Project Overview | AI-generated analysis of your codebase |
| ✍️ Prompt Engineer | Refines your task requests into precise AI prompts |
| 📋 Task Queue | Executes development tasks on your codebase |
| 💬 Code Query | Answers natural-language questions about your code |
Use the interactive demo to explore each agent before connecting your own repo.
Step 1 — Switch to Develop Mode
- Open the Ileen app and look at the mode selector in the sidebar footer.
- Click Develop to switch mode. The sidebar updates to show the Develop Mode agent pipeline.
Step 2 — Connect your repository
- Click Project Setup in the agent pipeline.
- Fill in the connection form:
- Repository URL — HTTPS or SSH (e.g.
https://github.com/acme/legacy-crm) - Base branch — the branch Ileen will analyse and work on (defaults to
main) - Personal Access Token — required for private repositories; needs at least
repo(GitHub) orread_repository+write_repository(GitLab) scopes
- Repository URL — HTTPS or SSH (e.g.
- Click Connect & Analyse. Ileen clones the repository, analyses the structure, and indexes all files. This takes 1–5 minutes depending on repo size.
Step 3 — Read the Project Overview
Once indexing completes, the Project Overview agent generates a structured analysis of your codebase:
- Tech stack — languages, frameworks, key libraries, their versions
- Architecture summary — monolith vs. microservices, API style, frontend approach
- Key modules — most important files and directories
- Dependencies — outdated packages, known CVEs
- Potential risks — missing test coverage, deprecated patterns, N+1 queries, security concerns
Take a few minutes to read through this — it’s the fastest way to get oriented in an unfamiliar codebase, or to get a fresh perspective on one you know well.
Step 4 — Ask questions with Code Query
The Code Query agent lets you ask natural-language questions about your codebase and get precise, code-referenced answers.
Example questions you can ask:
- “How is authentication implemented? Is there 2FA?”
- “Which endpoints are not protected by authentication?”
- “Explain the database models and their relationships”
- “Where is Stripe integrated and how are webhooks handled?”
- “What does the nightly batch job do?”
The agent returns answers with:
- Code snippets with file path and line references
- Explanations of patterns and design decisions
- Warnings if something looks incorrect or insecure
You can keep the conversation going — follow-up questions maintain context from previous answers.
Session history
Every Code Query conversation is saved as a session. The Code Query view is split into two panes:
- Left — Session list: all past sessions with title, message count, and last-activity timestamp. Click any session to open it.
- Right — Session detail: shows the Last Answer (open by default, with a Copy button) and a collapsible Full conversation with every message in order.
Per-session actions:
- Resume (chat bubble icon) — reopens the session in the active chat, preserving all history so you can continue asking follow-ups.
- Delete (trash icon) — removes the session permanently.
Step 5 — Create tasks with the Prompt Engineer
The Prompt Engineer bridges your plain-language request and the precise instruction the coding agent needs.
- Click Prompt Engineer in the agent pipeline.
- Type what you want to accomplish in natural language:
- “Add test coverage to the billing module”
- “Refactor the order listing endpoint to fix the N+1 query”
- “Upgrade django-allauth to the latest version and fix any breaking changes”
- The Prompt Engineer produces an optimised prompt that includes:
- Specific files and functions to target
- Expected output format
- Edge cases and constraints
- Testing instructions
- Review the optimised prompt. You can edit it before sending.
- Click Add to Task Queue to queue the task for execution.
Step 6 — Plan complex tasks with Task Plans
For tasks that require multi-file changes or careful coordination across repositories, use Task Plans instead of (or alongside) the Task Queue.
- In the sidebar, click + New next to “Task Plans”.
- Describe the task in plain language.
- The AI evaluates your request against the full codebase and generates a detailed implementation plan — wait for the status to change from Evaluating to Planned.
- Read the plan, then use the Discussion panel to ask questions or request adjustments.
- When satisfied, click Approve → Execute.
Task Plans give you a review gate before any code is written. See the Task Plans guide for the full lifecycle and tips.
Step 7 — Set up the database (optional)
If your project uses a database, the Database Setup step can automatically create the schema from the generated code:
- Click Database Setup in the agent pipeline (unlocks after development completes).
- Enter your database connection string.
- Choose the database type (or use Auto-detect).
- Optionally enable Include seed data for realistic test fixtures.
- Click Setup Database and wait for the three-step progress tracker to complete.
The result shows tables created, indexes applied, and any warnings. See the Database Setup guide for troubleshooting.
Step 8 — Capture lessons learned
The Lessons Learned accordion at the bottom of the Development Board lets you record insights about each repository:
- Click the Lessons Learned header to expand.
- Click + next to a repository to add a lesson.
- Edit or delete existing lessons inline.
- Lessons are injected as context for all future agent calls on that project — the AI will respect constraints and patterns you’ve documented.
Examples of useful lessons:
Always use the existing RedisClient singleton from src/lib/redis.tsThe payment module is handled by a third-party team — do not modify itAll new endpoints must include OpenAPI JSDoc annotationsWhat’s next?
- Dive deeper with the Task Queue guide for tips on writing effective task requests.
- Use Task Plans for complex multi-file changes.
- Use Content Mode to generate release changelogs from your commits.
- Ready to ship? Use Deploy Mode to push your changes to production.