Please give us a show of hands! 3 • Are you a developer? • Do you use GitHub Copilot at work? • Do you use Claude Code at work? • Have you implemented a full agentic workflow with custom agents and an orchestrator? MI
Our starting point 5 • Your team has been busy firefighting • Has been using GitHub Copilot on and off • Department Head gives you one month to implement a full agentic workflow MI
Our Learning Journey 6 Understand the power of Custom Rules and Instructions Migrate our Legacy code Build an Agentic AI workflow for new features You are here! 1 2 3 MI
Using Custom Instructions 7 • Start on a Pet project ◦ Your real-life project is too complex • Define some instructions for your project • Try generating code ◦ Until code looks exactly like what you’re expecting! JP # Packages - should be split by domain, not layer (we use DDD style) - Inside folder 'greenfield-backend' or 'brownfield-backend', always use a subfolder of `com.petclinic` package for new Java classes # Backend Coding practices - as much as possible, functions should be single responsibility. If a function is doing more than one thing, split it into several functions - for Repository/Service/Controller, use method action words such as `find`, `save`, `delete`. Do not use 'create' or `remove` custom-instructions-java.md
3 Principles / Takeways 8 • You’re the Pilot, not the Copilot ◦ Don’t let the AI decide what your code should look like • Code is a throwable artifact ◦ Keep rejecting and generating again until you’re fully satisfied • Share instructions as a team ◦ Instructions should be agreed on at team level ◦ Commit them to git! MI
Tools when defining coding practices (optional) 9 • Get inspiration from the below tools ◦ Don’t copy/paste them blindly! • Awesome Copilot (GitHub Copilot) ◦ https://github.com/github/awesome-copilot • Awesome Claude (Claude Code) ◦ https://github.com/hesreallyhim/awesome-claude-code MI
Our Learning Journey 10 Understand the power of Custom Rules and Instructions Migrate our Legacy code Build an Agentic AI workflow for new features You are here! 1 2 3 MI
• Use real-world examples ◦ https://github.com/gothinkster ◦ Purposely old applications to be migrated ◦ Great for practice! • Many languages available ◦ aspnetcore-realworld-example ◦ spring-boot-realworld-example ◦ golang-realworld-example ◦ node-express-realworld-example Practicing on a separate application 12 MI
• It is fast to write Automated Tests ◦ As long as you know what good tests look like • It is ok to take multiple steps to migrate ◦ Spring Boot 2.7 -> Spring Boot 3.4 -> Spring Boot 4.0 What you will learn along the way 13 MI
• Some of the things not to ask to the LLM ◦ Fix all linting issues on my project (use Linting in command-line instead with eslint, SonarScanner…) ◦ Analyse code for cyclic dependencies (use ArchUnit in command-line instead) ◦ Ask the LLM to update my Java package paths (use openrewrite in command line instead) Command line tools are your friends 14 JP
• They are where AI Driven Dev shines the best! ◦ Scope is very clear ◦ Can be 10x compared to doing migrations manually • What we’ve seen: ◦ migration that would have taken 6 months for 3 people ◦ Took one month for one person Conclusion on Tech migrations 15 JP
• Maybe it’s time to tackle the skeletons in the closet ◦ Legacy Database with Stored procedures -> Not scared! ◦ Migrating legacy 1980s language to a modern language -> Not too scared! Next step on Tech migrations 16 MI
Our Learning Journey 17 Understand the power of Custom Rules and Instructions Migrate our Legacy code Build an Agentic AI workflow for new features You are here! 1 2 3 JP
• Just a Markdown file ◦ Ask Claude Code/GitHub Copilot to generate it for you! Writing Custom Agents is easy 18 Show code name: Frontend description: "Use when implementing, refactoring, or testing React/TypeScript frontend code with strict architecture-frontend compliance, plan-driven execution, and explicit user validation at each step… frontend.agent.md JP GitHub Copilot
Writing new features is predictable 19 Understand user story and translate into tech requirements Start git - create new branch Create implementation plan Implement Feature Create merge request End Developer very involved Dev to Review/improve Dev to test manually and review Dev to review proposed name git agent backend agent backend agent git agent Dev. to Improve PR wording JP
• Use a PlayWright agent ◦ Updates e2e tests when new feature is added • Agent can run browser and click ◦ See what changed ◦ Update testing script accordingly ◦ Run the test script again and make sure it’s successful Adding End-to-end automated tests 20 JP
Adding End-to-end automated tests 21 Understand user story and translate into tech requirements Start git - create new branch Create implementation plan Implement Feature Create merge request End git agent backend agent backend agent git agent Run and update e2e tests PlayWright agent Guided thanks to Orchestrator agent JP
• Which type of Documentation? ◦ Technical/Functional documentation ◦ User Guide • Before: we edited doc manually on Confluence ◦ Hard to keep the doc up to date ◦ Extensively manual work ◦ Error prone Adding Documentation (1/2) 22 MI
• After: Documentation is generated ◦ Everything stored as Markdown files ◦ Agent writes all the documentation ◦ May also handle screenshots ◦ Team-member can review/amend ◦ Once validated, exported to Confluence (read-only) Adding Documentation (2/2) 23 MI
Adding End-to-end automated tests 24 Understand user story and translate into tech requirements Start git - create new branch Create implementation plan Implement Feature Create merge request End git agent backend agent backend agent git agent Run and update e2e tests PlayWright agent Guided thanks to Orchestrator agent Update documentation Documentation agent MI
AI Driven Dev / Agentic AI at Zenika 25 AI Driven Dev Consulting/Mentoring (1 day/ 2 days) AI Driven Dev Training (1 day/ 2 days) AI Driven Dev End-to-end projects (with our methodology) MI
• Zenika has opensourced its workflows • Use them to get started and build your own Workflow! • https://github.com/zenika-dev/Zenflow/ ◦ Feedback welcome! Zenflow: get started with your agentic workflows 26 MI