{"id":1252,"date":"2026-07-21T11:48:58","date_gmt":"2026-07-21T09:48:58","guid":{"rendered":"https:\/\/belgrade.wordcamp.org\/2026\/?post_type=wcb_session&#038;p=1252"},"modified":"2026-09-15T12:23:34","modified_gmt":"2026-09-15T10:23:34","slug":"wordpress-docker-and-ai-agents-practically-sr","status":"publish","type":"wcb_session","link":"https:\/\/belgrade.wordcamp.org\/2026\/session\/wordpress-docker-and-ai-agents-practically-sr\/","title":{"rendered":"WordPress, Docker, and AI Agents \u2014 Practically [SR]"},"content":{"rendered":"\n<div class=\"wp-block-group is-style-default has-border-color has-accent-1-border-color has-global-padding is-layout-constrained wp-container-core-group-is-layout-34a480d6 wp-block-group-is-layout-constrained\" style=\"border-width:3px;padding-top:var(--wp--preset--spacing--20);padding-right:var(--wp--preset--spacing--20);padding-bottom:var(--wp--preset--spacing--20);padding-left:var(--wp--preset--spacing--20)\">\n<h2 class=\"wp-block-heading has-large-font-size\">This workshop is in Serbian.<\/h2>\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Working with AI tools is neither hype nor a luxury; it is a necessity if you want to balance your knowledge and experience in the best possible way while your AI collaborator carries its share of the workload.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In this workshop, I will demonstrate how I work on a current, real-world gym project: planning, local development, and the pipeline through which the AI tool verifies and deploys code to the server. We rely on serious tools: the terminal, Git, and Docker. The workflow rests on three pillars: DDEV, which gives every project a local environment that faithfully mirrors production (same PHP version, same extensions, same database); parallel multi-tasking via Git worktree; and an AI agent that doesn&#8217;t just &#8220;suggest&#8221; code, but actively assists with planning, estimation, and task logging, runs automated checks, and triggers sub-agents working in parallel.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The key difference compared to &#8220;chat&#8221; vibe-coding lies in the environment: an agent that has visibility over the entire codebase, works in a safe sandbox where it is free to make mistakes, operates under version control, and adheres to a clear plan and acceptance criteria before anything moves forward.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">We will run through a complete loop live on the participants&#8217; machines: environment \u2192 task with acceptance criteria \u2192 plan \u2192 agent execution and testing \u2192 review \u2192 deployment to the server. Everyone will walk away with a local WordPress environment running in DDEV, a project under Git, an agent configured for planning and developing their own code, and a repository to serve as their foundation.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Target Audience<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Experienced WordPress developers who want to integrate AI into their workflow seriously and systematically. Familiarity with Git and the command line is assumed; prior experience with Docker or DDEV is not required.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Three Ways to Attend<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Work directly on your laptop (registration required, setup beforehand) \u00b7 watch and follow along at home using the provided instructions \u00b7 listen passively.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Prerequisites<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">To work on your laptop: Docker, DDEV, Git, a GitHub account, and an AI tool of your choice (Claude Code, Codex, or Cursor). Setup instructions for macOS, Windows (WSL2), and Linux are available in the repository; please run <code>ddev start<\/code> once at home so the required images download prior to the workshop. SSH access to your own hosting server is optional.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Registration &amp; Resources<\/strong><br>Registering helps us better prepare for the workshop: <a href=\"https:\/\/macmladen.com\/speaking\/2026\/wordcamp-belgrade-ddev-ai\/#register\">https:\/\/macmladen.com\/speaking\/2026\/wordcamp-belgrade-ddev-ai\/#register<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">GitHub project repository with documentation: <a href=\"https:\/\/github.com\/macmladen\/workshop-wp-ddev-ai\">https:\/\/github.com\/macmladen\/workshop-wp-ddev-ai<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">PDF Slides: <a href=\"https:\/\/speakerdeck.com\/macmladen\/wordpress-docker-and-ai-agents-workshop\">https:\/\/speakerdeck.com\/macmladen\/wordpress-docker-and-ai-agents-workshop<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Google Drive Slides: <a href=\"https:\/\/docs.google.com\/presentation\/d\/1zsYWcF8TTJJivXWKn0GpL7B_lvlxO2fJ\/edit?usp=sharing\">https:\/\/docs.google.com\/presentation\/d\/1zsYWcF8TTJJivXWKn0GpL7B_lvlxO2fJ\/edit?usp=sharing<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>This workshop is in Serbian. Working with AI tools is neither hype nor a luxury; it is a necessity if you want to balance your knowledge and experience in the best possible way while your AI collaborator carries its share of the workload. In this workshop, I will demonstrate how I work on a current, [&hellip;]<\/p>\n","protected":false},"author":20951525,"featured_media":0,"template":"single-item-session-en","meta":{"_wcpt_session_time":1789728000,"_wcpt_session_duration":4800,"_wcpt_session_type":"session","_wcpt_session_slides":"","_wcpt_session_video":"","_wcpt_speaker_id":[2091],"footnotes":""},"session_track":[42],"session_category":[43],"class_list":["post-1252","wcb_session","type-wcb_session","status-publish","hentry","wcb_track-workshops","wcb_session_category-serbian"],"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/pgXYN8-kc","session_date_time":{"date":"September 18, 2026","time":"12:40 pm"},"session_speakers":[{"id":"2091","slug":"mladen-duric-en","name":"Mladen \u0110uri\u0107","link":"https:\/\/belgrade.wordcamp.org\/2026\/speaker\/mladen-duric-en\/"}],"session_cats_rendered":"Serbian","_links":{"self":[{"href":"https:\/\/belgrade.wordcamp.org\/2026\/wp-json\/wp\/v2\/sessions\/1252","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/belgrade.wordcamp.org\/2026\/wp-json\/wp\/v2\/sessions"}],"about":[{"href":"https:\/\/belgrade.wordcamp.org\/2026\/wp-json\/wp\/v2\/types\/wcb_session"}],"version-history":[{"count":4,"href":"https:\/\/belgrade.wordcamp.org\/2026\/wp-json\/wp\/v2\/sessions\/1252\/revisions"}],"predecessor-version":[{"id":2887,"href":"https:\/\/belgrade.wordcamp.org\/2026\/wp-json\/wp\/v2\/sessions\/1252\/revisions\/2887"}],"speakers":[{"embeddable":true,"href":"https:\/\/belgrade.wordcamp.org\/2026\/wp-json\/wp\/v2\/speakers\/2091"}],"author":[{"embeddable":true,"href":"https:\/\/belgrade.wordcamp.org\/2026\/wp-json\/wporg\/v1\/users\/macmladen2"}],"wp:attachment":[{"href":"https:\/\/belgrade.wordcamp.org\/2026\/wp-json\/wp\/v2\/media?parent=1252"}],"wp:term":[{"taxonomy":"wcb_track","embeddable":true,"href":"https:\/\/belgrade.wordcamp.org\/2026\/wp-json\/wp\/v2\/session_track?post=1252"},{"taxonomy":"wcb_session_category","embeddable":true,"href":"https:\/\/belgrade.wordcamp.org\/2026\/wp-json\/wp\/v2\/session_category?post=1252"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}