Drupal AI Contribution meeting 2026-04-06
>>> [!note] Migrated issue <!-- Drupal.org comment --> <!-- Migrated from issue #3582020. --> Reported by: [valthebald](https://www.drupal.org/user/239562) >>> <p>Drupal AI Contribution meeting from April 6 at 17:00 UTC to April 7, 2026 17:00 UTC (Check your local time at <a href="https://www.timebie.com/std/universal.php?q=17">https://www.timebie.com/std/universal.php?q=17</a>)</p> <p>Previous meeting <span class="drupalorg-gitlab-issue-link project-issue-status-info project-issue-status-7"><a href="https://www.drupal.org/project/ai/issues/3581001" title="Status: Closed (fixed)">#3581001: Drupal AI Contribution meeting 2026-03-23</a></span><br> Next meeting <span class="drupalorg-gitlab-issue-link drupalorg-gitlab-link-wrapper"><a href="https://git.drupalcode.org/project/ai/-/work_items/3585373" class="drupalorg-gitlab-link">https://git.drupalcode.org/project/ai/-/work_items/3585373</a></span></p> <h2>Where</h2> <p>#ai-contrib channel in <a href="https://www.drupal.org/slack/">Drupal Slack</a></p> <h2>Agenda</h2> <h3>Attendees self-intro and interests</h3> <h3>Follow-up to topics of previous meeting</h3> <h3>Suggest your topic in comments</h3> <h3>Add the issue you want to discuss as a related issue to this meeting</h3> <h2>Transcript</h2> <p>Hello everyone, and welcome to the Drupal AI contribution meeting!<br> &nbsp;This meeting:<br> &nbsp;&#10148; Starts on every other Monday and lasts for 24 hours<br> &nbsp;&#10148; Is text only!<br> &nbsp;&#10148; Happens in threads, which you can follow to be notified of new replies even if you don&rsquo;t comment in the thread. You may also join the meeting later and participate asynchronously.<br> &nbsp;&#10148; Refers to various issues and plans tracking in d.o project: <a href="https://www.drupal.org/project/ai/issues/3582020">https://www.drupal.org/project/ai/issues/3582020</a> Please comment there so we can grant you credit for attending/contributing! Please note, we will only give attributions for active engagement.<br> &nbsp;&#10148; Transcript will be exported and posted* to the agenda issue. For anonymous comments, start with a :bust_in_silhouette: emoji. To take a comment or thread off the record, start with a :no_entry_sign: emoji.<br> &nbsp;Some other emojis used in this meeting:<br> &nbsp;:construction: - issue is in the works<br> &nbsp;:blob_help: - help needed<br> &nbsp;:status_needs_review: - needs review<br> &nbsp;:pear: - low hanging fruit (novice or easy success issue)<br> &nbsp;:comment: - call for discussion</p> <h2>0&#65039;&#8419; Roll call! Who's here? (Please mention your <a href="http://drupal.org">drupal.org</a> username when answering) And if you're up for a small talk, is today a bank holiday in your country? Is it your personal holy day?</h2> <table> <tr> <td>matthews</td> <td>matthews&nbsp; It isn't a bank holiday. Yesterday was the holy day. I'm working away as if it were any old other work day.</td> </tr> <tr> <td>webchick</td> <td>:wave: Hi, I'm webchick &#128578; from Vancouver, Canada :flag-ca:Today is a bank + school holiday for my kiddo, but not for me. :sob:</td> </tr> <tr> <td>Nick</td> <td>unqunq I'm on 'holiday' since September. Hopefully I'll have a contract in a week or so. Yes, a bank holiday in the UK.</td> </tr> <tr> <td>valthebald</td> <td>@unqunq fingers crossed!</td> </tr> <tr> <td>Kristen Pol (she/her)</td> <td>Kristen, CaliforniaI had to look up the official holidays and it's not todaySome days I wish my kids were little again so we could have done Easter baskets and egg hunting yesterday :bunnyparrot:</td> </tr> <tr> <td>Marcus Johansson</td> <td>marcus_johansson, Berlin.It was a bank holiday here yesterday - its just annoying since all the stores closes in Germany &#128578;</td> </tr> <tr> <td>svendecabooter</td> <td>svendecabooter - yesterday was a bank holiday here too</td> </tr> <tr> <td>d34dman</td> <td>d34dman - it was holiday and was a good day &#128578;</td> </tr> <tr> <td>hrishikesh-dalal</td> <td>hrishikesh-dalal Not a bank holiday today, just a standard day : (Hope everyone is having a great week!</td> </tr> </table> <h2>1&#65039;&#8419; Releases since last meeting</h2> <table> </table> <h2>1&#65039;&#8419; 1&#65039;&#8419; Stable releases of AI module: <a href="https://www.drupal.org/project/ai/releases/1.3.2">1.3.2</a> and <a href="https://www.drupal.org/project/ai/releases/1.3.2">1.2.13</a> (quick reminder that 1.1.x series is discontinued)</h2> <table> <tr> <td>Marcus Johansson</td> <td>1.1.x is still available until tomorrow :smile:</td> </tr> </table> <h2>1&#65039;&#8419; 2&#65039;&#8419; <a href="https://www.drupal.org/project/ai_context/releases/1.0.0-beta1">First beta of Context Control Center</a></h2> <table> <tr> <td>Kristen Pol (she/her)</td> <td>Beta testers wanted :pray:</td> </tr> <tr> <td>Kristen Pol (she/her)</td> <td>Help us identify and squash bugs and improve UX :+1:</td> </tr> <tr> <td>Kristen Pol (she/her)</td> <td>The plan is to do a beta2 this month then an rc1 and maybe rc2 then 1.0 in May</td> </tr> <tr> <td>Kristen Pol (she/her)</td> <td>Here's the planning issu[#3567798]</td> </tr> <tr> <td>valthebald</td> <td>@Kristen Pol (she/her) that's good to know.Maybe we can gather folks to work on this in Athens</td> </tr> <tr> <td>Kristen Pol (she/her)</td> <td>That would be FANTASTIC</td> </tr> <tr> <td>Kristen Pol (she/her)</td> <td>I can prep issues specifically for the event if people would be able to work on them</td> </tr> <tr> <td>Kristen Pol (she/her)</td> <td>let me know and I'll make a planning issue specifically for this</td> </tr> <tr> <td>valthebald</td> <td>oh that would be very helpful I think</td> </tr> <tr> <td>Kristen Pol (she/her)</td> <td>cool, will do</td> </tr> <tr> <td>valthebald</td> <td>by the next meeting &#128578;</td> </tr> <tr> <td>valthebald</td> <td>DDD starts on April 22</td> </tr> <tr> <td>Kristen Pol (she/her)</td> <td><a href="https://www.drupal.org/project/ai_context/issues/3583319">https://www.drupal.org/project/ai_context/issues/3583319</a></td> </tr> <tr> <td>Kristen Pol (she/her)</td> <td>I'll fill it out right before DDD</td> </tr> <tr> <td>Kristen Pol (she/her)</td> <td>so the information is correct</td> </tr> <tr> <td>Kristen Pol (she/her)</td> <td>I've added to my calendar so I remember to do it &#128578;</td> </tr> <tr> <td>valthebald</td> <td>Awesome :+1:</td> </tr> </table> <h2>1&#65039;&#8419; 3&#65039;&#8419; Git branches simplified</h2> <table> <tr> <td>valthebald</td> <td>Instead of having 1.4.x, 1.3.x, 1.2.x etc., there is now single branch 1.x</td> </tr> <tr> <td>valthebald</td> <td>"Next major" development is now in 2.x branch</td> </tr> <tr> <td>Kristen Pol (she/her)</td> <td>I heard this was happeningSo how does this work with versioning now logistically?I thought about doing this for CCC but I'm not sure I understand how to have a 1.0* and 1.1* versions managed at the same time with one code base when 1.1* will have features that aren't in 1.0*</td> </tr> <tr> <td>valthebald</td> <td>@Kristen Pol (she/her) there's 2.x branch in ai module for the features that shouldn't appear in 1.4.0before 1.3.0, there were 3 active branches (1.3.x as HEAD, 1.2.x for security/bugfixes, and 2.0.x for refactoring/Symfony components), but it has become too much of a burden to manage those</td> </tr> <tr> <td>valthebald</td> <td>bottom line, it's always a balance between manageability and flexibility to ship feature sets in different branches</td> </tr> <tr> <td>Kristen Pol (she/her)</td> <td>So then there will just be 2 versions supported once we decommission 1.3? 1.4* and 2.0*Or we will still somehow magically support more than 2 minor versions?</td> </tr> <tr> <td>valthebald</td> <td>I guess @RobLoach or @Marcus Johansson can answer better than me</td> </tr> <tr> <td>RobLoach</td> <td>We've been cherry-picking commits across the different versions in order to support &gt;=1.2 .... That includes 2.x, 1.4.x, 1.3.x, and 1.2.x. Having just a 1.4.x will make this a lot easier moving forwards. In terms of timeline, that's yet to be determined.For CCC, keep focus on 1.x for now. 2.x is still far off. Biggest change there will be using the Symfony API, though it should be encapsulated, so CCC shouldn't have to change much if anything to support both 1.x or 2.x.</td> </tr> <tr> <td>Kristen Pol (she/her)</td> <td>I'm already using 1.0.x and will start a 1.1.x after the 1.0 release in MayBut I would only have those two</td> </tr> <tr> <td>Marcus Johansson</td> <td>We added 1.x recently because the abstraction layer is quite mature now, so we do not have to do these planned monster feature releases over multiple projects. Instead we can do minor releases a little bit when we feel like there is enough features. This means that when some none-breaking feature is finished at the moment it would go to 1.4.x, if it happens to merged later it goes to 1.5.x.We will always have two minors supported until 2.0.0 is released and three in the case where a new minor was recently released. This is to make sure that we have one minor branch that is fairly mature at any time, since we tend to find new bugs on new minor releases.When 2.0.0 is released the last minor of 1.x will be the one supported. For how long is unclear, but at least until the Drupal 10 EOL.So currently:1.1.x &lt;- Losing support any day now.1.2.x and 1.3.x &lt;- Bug fixes1.4.x &lt;- Feature branch2.0.x/2.x &lt;- Breaking changes&nbsp;(edited)</td> </tr> <tr> <td>Kristen Pol (she/her)</td> <td>Hmm&hellip; okay I guess I&rsquo;ll have to see how this goes as I'm still not clear how you only have a 1.x branch without having the minor release branches Or are you saying that you still have the minor release branches and merge from 1.x as appropriate?Sorry for the confusion</td> </tr> <tr> <td>Marcus Johansson</td> <td>So we have minor branches as well - we are just having a 1.x and 2.x to make the cherry picking to minors easier. So main maintenance branch is 1.x and 1.x.x is minor maintenance branches.</td> </tr> <tr> <td>Kristen Pol (she/her)</td> <td>That totally clarifies thisI thought you were somehow getting rid of the minor branches and my brain imploded Thanks :pray:</td> </tr> </table> <h2>2&#65039;&#8419; Major in-person events</h2> <table> <tr> <td>matthews</td> <td>API Days put on by FOST is happening in NYC May 13 and 14th. <a href="https://www.apidays.global/events/new-york">https://www.apidays.global/events/new-york</a> On the 14th, there will be a Drupal AI track - <a href="https://new.drupal.org/ai/events/Drupal-AI-Summit-New-York-CityThe">https://new.drupal.org/ai/events/Drupal-AI-Summit-New-York-CityThe</a> tickets for this event are normally $999 after early bird is over. For the Drupal community, we have $150 early bird tickets available. <a href="https://portal.joinfost.io/event/future-of-software-technology-new-york-2026/82677ac7-3989-456b-93a7-b1c215bd51d6/drupal-aiThis">https://portal.joinfost.io/event/future-of-software-technology-new-york-2026/82677ac7-3989-456b-93a7-b1c215bd51d6/drupal-aiThis</a> event is an opportunity to get outside our bubble and see what other software projects are doing with AI AND to support Drupal as a leader in the AI space.I'm helping organize the Drupal part of the event. I'd love to see you there.</td> </tr> </table> <h2>2&#65039;&#8419; 2&#65039;&#8419; <a href="https://devdays2026.drupal.org.gr/">Drupal Developer Days Athens</a> starts in 2 weeks</h2> <table> <tr> <td>valthebald</td> <td>Do you plan to attend?</td> </tr> <tr> <td>valthebald</td> <td>If yes, what do you plan to achieve during the event?</td> </tr> <tr> <td>valthebald</td> <td>If not, are you interested in remote participation in DDD-related activities?</td> </tr> <tr> <td>Kristen Pol (she/her)</td> <td>Unfortunately not but I'd like to go to Dev Days some day</td> </tr> <tr> <td>valthebald</td> <td>@Kristen Pol (she/her) it's usually nice and more "casual" than on DrupalCons &#128578;</td> </tr> <tr> <td>svendecabooter</td> <td>I will be there :+1:&nbsp; not sure if I will have time to specifically work on AI stuff</td> </tr> <tr> <td>d34dman</td> <td>I will be there, interested in the topic of making "AI Agents" economical for large scale usage in Drupal.</td> </tr> <tr> <td>valthebald</td> <td>I'll be there too</td> </tr> </table> <h2>3&#65039;&#8419; This sprint priorities</h2> <table> </table> <h2>3&#65039;&#8419; 1&#65039;&#8419; For AI module</h2> <table> <tr> <td>valthebald</td> <td>Suite of agent skills + Drush generators for core plugin types Continue agent permissions work: allow agents to run with a specified user or roleProgress Symfony AI Platform integration as a provider replacement Reliability: fix cron processing only handling one automator queue item per run; land automator error handling (carried over)Observability: finalize summarizer improvements for AI request logs and spans (carried over)</td> </tr> </table> <h2>3&#65039;&#8419; 2&#65039;&#8419; <a href="https://www.drupal.org/project/tool">Tool API</a> module</h2> <table> <tr> <td>valthebald</td> <td>Drush CLI commands for listing, searching, and running toolsFile input handlingFull MCP + agent lifecycle support</td> </tr> </table> <h2>3&#65039;&#8419; 3&#65039;&#8419; <a href="https://www.drupal.org/project/ai_claude_agent_sdk">Claude Agent SDK</a></h2> <table> </table> <h2>3&#65039;&#8419; 4&#65039;&#8419; How to pick an issue</h2> <table> <tr> <td>valthebald</td> <td>All Issues for the Sprint have 2 tags : AI Initiative Sprint and a sub-tag (one of the following 2) : All <a href="https://www.drupal.org/project/issues/search?text=&amp;projects=&amp;assigned=&amp;submitted=&amp;project_issue_followers=&amp;status%5B%5D=Open&amp;issue_tags_op=%3D&amp;issue_tags=AI+Product+Development">issues</a> for Innovation are available with AI Innovation tag All <a href="https://www.drupal.org/project/issues/search?text=&amp;projects=&amp;assigned=&amp;submitted=&amp;project_issue_followers=&amp;status%5B%5D=Open&amp;issue_tags_op=%3D&amp;issue_tags=AI+Product+Development">issues</a> for Product are available with AI Product Development tag</td> </tr> <tr> <td>Kristen Pol (she/her)</td> <td>It's important to use "is all of" and include both "AI Initiative Sprint" and the other tage.g.<a href="https://www.drupal.org/project/issues/search?text=&amp;projects=&amp;assigned=&amp;submitted=&amp;project_issue_followers=&amp;status%5B%5D=Open&amp;issue_tags_op=all+of&amp;issue_tags=AI+Product+Development%2C+AI+Initiative+Sprint">https://www.drupal.org/project/issues/search?text=&amp;projects=&amp;assigned=&amp;submitted=&amp;pr[&hellip;]+of&amp;issue_tags=AI+Product+Development%2C+AI+Initiative+Sprint</a><a href="https://www.drupal.org/project/issues/search?text=&amp;projects=&amp;assigned=&amp;submitted=&amp;project_issue_followers=&amp;status%5B%5D=Open&amp;issue_tags_op=all+of&amp;issue_tags=AI+Innovation%2C+AI+Initiative+Sprint">https://www.drupal.org/project/issues/search?text=&amp;projects=&amp;assigned=&amp;submitted=&amp;pr[&hellip;]gs_op=all+of&amp;issue_tags=AI+Innovation%2C+AI+Initiative+Sprint</a></td> </tr> <tr> <td>Kristen Pol (she/her)</td> <td>if you don't include both then you won't have the right listfor example, AI Innovation alone has 126 issues but with the sprint tag it's only 90 issues</td> </tr> </table> <h2>3&#65039;&#8419; 5&#65039;&#8419; Things to consider when working on issues</h2> <table> <tr> <td>valthebald</td> <td>If you plan to work an issue during the next 2 weeks, please assign it to yourself, preferrably during the next 24 hours</td> </tr> <tr> <td>valthebald</td> <td>If testing is required: Add the tag &ldquo;Needs QA&rdquo;If a UX review is required: Add the tag &ldquo;Needs UX review&rdquo;</td> </tr> <tr> <td>Kristen Pol (she/her)</td> <td>perhaps combining this info with 3&#65039;&#8419; 4&#65039;&#8419; going forward makes sense?</td> </tr> <tr> <td>valthebald</td> <td>3&#65039;&#8419; 4&#65039;&#8419; got too overloaded, so... &macr;\_(&#12484;)_/&macr;</td> </tr> <tr> <td>valthebald</td> <td>but sure, they are connected</td> </tr> <tr> <td>Kristen Pol (she/her)</td> <td>Perhaps just &ldquo;Finding and working on issues&rdquo; or something :woman-shrugging:</td> </tr> </table> <h2>4&#65039;&#8419; Organizational</h2> <table> </table> <h2>4&#65039;&#8419; 1&#65039;&#8419; Move of issues to gitlab is postponed and won't happen this sprint</h2> <table> </table> <h2>4&#65039;&#8419; 2&#65039;&#8419; Daylight time and beginning of bi-weekly meetings</h2> <table> <tr> <td>valthebald</td> <td>There was another daylight time switch, the third since we began regular meetings in #ai-contrib</td> </tr> <tr> <td>valthebald</td> <td>Previous times, we changed the time according to European/US time zones but not UTC as advertised in the channel description</td> </tr> <tr> <td>valthebald</td> <td>If that's OK for everyone, we'll continue with the same pattern (and start at 16:00 UTC)</td> </tr> </table> <h2>5&#65039;&#8419; Discussions and new initiatives</h2> <table> </table> <h2>5&#65039;&#8419; 1&#65039;&#8419; Not part of AI initiative, but have some feedback? Please leave it <a href="https://www.drupal.org/project/ai_initiative/issues/3575262">here</a></h2> <table> </table> <h2>5&#65039;&#8419; 2&#65039;&#8419; The new <a href="https://www.drupal.org/project/ai_best_practices">AI Best Practices for Drupal project</a></h2> <table> <tr> <td>valthebald</td> <td>invented during the Contribution Sprint as a means to centralize various fragmented / undocumented guidance and best practice advice to help agents hopefully do fewer stupid things when assisting with Drupal development. &#128578; /via @webchick</td> </tr> <tr> <td>webchick</td> <td>This project has come quite a long way since DrupalCon, but it's still very early days and we are very much in "move fast and break things" mode. &#128578; But at this point, you can kind of start to get the "shape" of things:<a href="https://git.drupalcode.org/project/ai_best_practices/-/tree/1.0.x/agents">agents</a> &mdash; This creates a canonical <a href="https://git.drupalcode.org/project/ai_best_practices/-/blob/1.0.x/agents/AGENTS.md?ref_type=heads">AGENTS.md</a> file to instruct agents how to behave (and points other agents with their own "special snowflake" versions of that .md file such as Claude to it). That has some scaffolding to move the files to the right places and automatically acts as an index to...<a href="https://git.drupalcode.org/project/ai_best_practices/-/tree/1.0.x/skills">skills</a> &mdash; Here is where we put specific guidance around common tasks / info agents are likely to screw up, etc. There are two of them there so far (<a href="https://git.drupalcode.org/project/ai_best_practices/-/blob/1.0.x/skills/how-to-write-documentation/SKILL.md?ref_type=heads">how to write documentation</a>, <a href="https://git.drupalcode.org/project/ai_best_practices/-/tree/1.0.x/skills/writing-automated-tests">writing automated tests</a>), with others itemized in the <a href="https://www.drupal.org/project/issues/ai_best_practices?text=&amp;status=Open&amp;priorities=All&amp;categories=All&amp;version=All&amp;component=Guidelines">issue queue</a>.<a href="https://git.drupalcode.org/project/ai_best_practices/-/tree/1.0.x/evals?ref_type=heads">evals</a> &mdash; This is a framework for comparing "before/after" skills and changes to skills, to help ensure that we're making things better, not worse, as we proceed.There will probably be more stuff under here; for example there's talk of moving to a <a href="https://www.drupal.org/project/ai_best_practices/issues/3583214">local-first architecture</a> and the notion of <a href="https://www.drupal.org/project/ai_best_practices/issues/3583213">incorporating experts' advice when a skill isn't quite delivering the expected results</a>.It's been a really collaborative project so far, with a bunch of maintainers from across core/contrib/AI participating. &#10084;&#65039;&nbsp;(edited)</td> </tr> <tr> <td>Kristen Pol (she/her)</td> <td>Thanks for getting this going :pray: it's much needed and there so much great cross-pollination :heart_eyes:</td> </tr> </table> <h2>5&#65039;&#8419; 3&#65039;&#8419; A proposed new Documentation Guide: <a href="https://www.drupal.org/docs/develop/development-tools/ai-coding-tools-for-drupal-development">AI Coding Tools for Drupal Development</a></h2> <table> <tr> <td>valthebald</td> <td>as a place to house information intended more for humans than for agents, including "overview" info of what all modules exist and what's good for what, "how to" information to set up tools, and a place to archive community learning resources /via @webchick</td> </tr> <tr> <td>webchick</td> <td>Here, I am mainly blocked, and would love advice on getting un-blocked.The top of the page has a yellow box which says:"This page has not yet been reviewed by <a href="https://www.drupal.org/docs/develop/development-tools">Development tools</a> maintainer(s) and added to the menu."I am not sure what the process is for getting this reviewed. Just DM those people? Is there a Documentation meeting to join? etc.</td> </tr> <tr> <td>webchick</td> <td>Because once this page exists, we can start taking learnings from #ai-learners and other places and capturing here for the benefit of humans and LLMs alike.</td> </tr> <tr> <td>valthebald</td> <td>I don't know if there is a dedicated channel for development tools, but@Darren and @Sal can help with all the things DrupalForge@rfay with the latest reincarnation of DrupalPod</td> </tr> <tr> <td>webchick</td> <td>I do not know what DrupalForge or DrupalPod are :smile:<a href="https://www.drupalforge.org/">https://www.drupalforge.org/</a> seems to be some kind of Drupal as a SaaS tool?<a href="https://www.drupal.org/drupalpod">https://www.drupal.org/drupalpod</a> seems to be an alternative to DDEV?</td> </tr> <tr> <td>Kristen Pol (she/her)</td> <td>@eojthebrave ^ see docs question above please&nbsp;(edited)</td> </tr> <tr> <td>Kristen Pol (she/her)</td> <td>Val summoned the best people to articulate Drupal Forge and DrupalPod so you'll likely have good responses today ish</td> </tr> <tr> <td>valthebald</td> <td>DrupalPod is a Drupal inside Gitpod, and the latest reincarnation is <a href="https://coder.ddev.com/">https://coder.ddev.com/</a></td> </tr> <tr> <td>valthebald</td> <td>more details in #ddev</td> </tr> <tr> <td>Darren</td> <td>@webchick DrupalPod was originally a way of using DDEV to launch development environments on GitPod. It had a browser extension that would create GitPod URLs from Drupal issues. When GitPod stopped offering hosting, I made of fork of the browser extension that creates Drupal Forge URLs. These use DevPanel, not DDEV, to launch development environments. @rfay has recently launched <a href="https://start.coder.ddev.com/drupal-issue">https://start.coder.ddev.com/drupal-issue</a> as a new way to start development environments for Drupal issues that does use DDEV.&nbsp;(edited)</td> </tr> <tr> <td>eojthebrave</td> <td>I can take care of adding that page to the menu. And yes, the current practice is to ping someone who is listed as a guide maintainer (like me) or someone who has permission to add the page to the menu (also like me, lol). Some guides allow auto-approval of new pages, and some don't and require maintainer review first.I'll both approve this new guide, and set it to auto-approval for the future. Thanks!&nbsp;(edited)</td> </tr> <tr> <td>webchick</td> <td>Ok, I am still a bit confused on what the relation of DrupalPod + DrupalForge are to my question (happy to learn more!) but in the meantime, THANK YOU @eojthebrave for approving <a href="https://www.drupal.org/docs/develop/development-tools/ai-coding-tools-for-drupal-development">https://www.drupal.org/docs/develop/development-tools/ai-coding-tools-for-drupal-development</a> ... I'll start fleshing that out over the coming days so it's not just a stub.@eojthebrave more dumb "sorry, I'm out of the loop" questions: how do I add child pages here? Is this no longer book module?</td> </tr> <tr> <td>webchick</td> <td>And also how do I appoint other maintainers, since I will likely get yanked back to my day job at any moment and don't want this to stall</td> </tr> <tr> <td>eojthebrave</td> <td>Yeah, no worries. It's no longer book module. There's a guide content type, and a guide page content type. Guides can have child pages, and child guides ... so if you want nested pages this should be a guide with nested pages. If it's a guide you can appoint one or more maintainers, and they'll have maintainer ship over anything nested under that guide (regardless of depth).</td> </tr> <tr> <td>eojthebrave</td> <td>Seems like we should create a guide, and then nested pages. There's no way to convert the existing page, just create a new guide, and we will delete the page once that's done. I can help with this, but I also have to head out in about 5 minutes and won't be able to help until later today or maybe tomorrow.If you leave me a list of things you want moved/changed though I can take care of it when I get back. Either here or in an issue is fine.</td> </tr> <tr> <td>webchick</td> <td>Ok, sweet. I think the only change needed is "guide with nested pages" I can try and fumble my way to do that too if I'm allowed</td> </tr> <tr> <td>webchick</td> <td>But there's no time crunch on this, whenever you're around is fine &#128578; Thank you SO much for the help!!</td> </tr> <tr> <td>webchick</td> <td>List of things moved/changed:Just this one page you just approved. <a href="https://www.drupal.org/docs/develop/development-tools/ai-coding-tools-for-drupal-development">https://www.drupal.org/docs/develop/development-tools/ai-coding-tools-for-drupal-development</a> I would love it to be instead set up the same way as <a href="https://www.drupal.org/docs/develop/development-tools">https://www.drupal.org/docs/develop/development-tools</a> is, where there are Guide Maintainers, and sub-pages underneath it. (I thought that's what "Add guide" did from the green + menu, my bad.)No worries about deleting the current one in order to make this happen, it's just a stub page and nothing is pointing to it yet.(edited)</td> </tr> <tr> <td>eojthebrave</td> <td>Okay, I replaced the page with a guide node. Guide nodes have a limited number of characters allowed in the description so the complete page content didn't fit. My assumption here is that each of the sub-sections becomes a page though.You can create a new page by going to the new guide node and selecting "Add page" in the drop-down menu for the edit button.The guide is set to approve new pages automatically. And, I made you a maintainer so you can add anyone else you want (or ping me and I can).Here's the text that was in the body of the now delete page that will need to get turned into sub-pages of the new guide.In this guide <p>## Drupal AI Quickstart: your first 15 minutes</p> <p>Skip the theory. Pick a tool, point it at a real Drupal project, and run one task you already know how to evaluate. This page walks you through the fastest path to a result you can actually judge (with and without Drupal-specific context loaded) so you can see the difference immediately.</p> <p>## Setting up AI tools for a Drupal project</p> <p>The single biggest factor in output quality is whether your AI tool understands Drupal conventions before you start. This page explains how context files like CLAUDE.md and AGENTS.md work, and introduces the ai_best_practices Composer package &mdash; a community-maintained set of Drupal-specific skills and rules that can be scaffolded directly into your project and picked up automatically by your coding agent.</p> <p>## AI tools and projects in the Drupal ecosystem</p> <p>The Drupal community is building quickly in this space. This page is an orientation to the tools, projects, and initiatives that are specifically relevant to Drupal development, including Drupal Surge, various Drupal-specific Agent Skills, and others, with a plain description of what each one does and who it is aimed at.</p> <p>## Security and contrib considerations</p> <p>AI tools generate plausible-looking code fast. They do not run your tests, do not know your site's configuration, and do not have opinions about whether a contrib module already solves the problem better. This page covers what to look for when reviewing AI-generated Drupal code, how to prompt your tool to prefer contrib solutions, and the categories of Drupal-specific security issues that are most likely to appear in generated output.</p> <p>## Community resources</p> <p>Links to the Drupal Slack AI channels and other community spaces where this conversation is actively happening.Should we create stub pages for each of these headings with content underneath as the placeholder content?</p></td> </tr> <tr> <td>eojthebrave</td> <td>Oh, new guide is here <a href="https://www.drupal.org/docs/develop/development-tools/ai-coding-tools-for-drupal-development">https://www.drupal.org/docs/develop/development-tools/ai-coding-tools-for-drupal-development</a>, I deleted the page so we could use the same URL. &#128578;</td> </tr> <tr> <td>eojthebrave</td> <td>I'm mostly offline again for the rest of the day. But leave a message here if you need anything and I can help in the morning.</td> </tr> <tr> <td>webchick</td> <td>Currently getting 500 errors on d.o but will take a look later tonight. Thank you SO much!!! :star-struck:</td> </tr> <tr> <td>webchick</td> <td>Yay! I'm in :smile: I have started[#3583351] as the meta issue to coordinate fleshing out this part of the docs.</td> </tr> <tr> <td>rfay</td> <td>So nice and so amazing to see you working away here!</td> </tr> <tr> <td>webchick</td> <td>Ok, <a href="https://www.drupal.org/docs/develop/development-tools/ai-coding-tools-for-drupal-development">https://www.drupal.org/docs/develop/development-tools/ai-coding-tools-for-drupal-development</a> now has some actual content under it; would love reviews! :smile:</td> </tr> <tr> <td>Kristen Pol (she/her)</td> <td>I'm seeing it we can officially add the docs issue to our current sprint to get more eyes :crossed_fingers:</td> </tr> <tr> <td>webchick</td> <td>No problem if not, it's not particularly urgent. &#128578; Before there was zero documentation and now there is some so :smile:</td> </tr> </table> <h2>5&#65039;&#8419; 4&#65039;&#8419; The new <a href="https://luma.com/drupal-ai">Drupal AI Learners Club</a> initiative (see also #ai-learners)</h2> <table> <tr> <td>valthebald</td> <td>an attempt to create a space for folks new to using AI tools and sharing what's working and not, getting help getting started, etc. around Drupal + AI development, and has its first "show and tell" meeting on Wednesday. /via @webchick</td> </tr> <tr> <td>webchick</td> <td>Yep, this is very much an experiment, but comes from some observations at DrupalCon where there is a pretty significant "digital divide" between the folks at the forefront of the AI initiative and your standard "heads down shipping things" developer around the usage of these tools.(This isn't unique to Drupal, btw; this dynamic is playing out everywhere across our entire industry.)So the goal of these is, much like the Drupal Dojo initiative back in the day, to create a "safe space" where there are "no stupid questions" to do some show and tell on what we're working on, and chat about what's working, what isn't, etc. in our use of AI + Drupal. And hopefully, this will help the entire community level up faster, spur more involvement in AI initiatives, etc.The goal is for this to be an ongoing initiative (this stuff changes every 5 minutes so even if you knew best practices 2 months ago you're probably out of date :sweat_smile:). I plan to run the first couple, but then ideally this would become something that anyone could do!</td> </tr> </table> <h2>5&#65039;&#8419; 5&#65039;&#8419; <a href="https://www.drupal.org/project/ai/issues/3577844">Glossary for the Drupal AI initiative - discussion</a></h2> <table> <tr> <td>webchick</td> <td>Oooh, this is a great idea as a resource, there are SO many weird words. :sweat_smile:My only question is whether we should be following the newly-created <a href="https://git.drupalcode.org/project/ai_best_practices/-/blob/1.0.x/skills/how-to-write-documentation/SKILL.md">best practices around documentation</a> and <a href="https://git.drupalcode.org/project/ai_best_practices/-/blob/1.0.x/skills/how-to-write-documentation/SKILL.md?ref_type=heads#document-drupal-link-to-everything-else">Document Drupal; link to everything else</a>. In other words, is there someone else out there who's done a good job of explaining the "AI/agent words" so we can focus our docs down to things that are relevant to Drupal's usage of these terms?Or, is the idea that we need to re-define these broader industry terms because we are using them in a "Drupalism" kind of way? :eyes:</td> </tr> <tr> <td>Nick</td> <td>Apologies if I put more work on @Marcus Johansson and @yautja_cetanu (Jamie) but they'll probably be the best when it comes to "AI/agent words"</td> </tr> <tr> <td>Kristen Pol (she/her)</td> <td>I added a comment regarding a duplicate and closed out the duplicate@Aidan Foster @Emma Horrell it would be great to have you chime in on the glossary issu[#3577844]</td> </tr> </table> <h2>6&#65039;&#8419; Open mike! What are you working on? Are you blocked? Or do you want to discuss a specific topic? Add your status, questions, and topics (and discuss them in threads) for another 23 hours. Start a new thread with 6&#65039;&#8419; 1&#65039;&#8419; , 6&#65039;&#8419; 2&#65039;&#8419; etc.</h2> <table> </table> <h2>6&#65039;&#8419; 1&#65039;&#8419; I'm tempted to look at this issue:<span class="drupalorg-gitlab-issue-link drupalorg-gitlab-link-wrapper"><a href="https://git.drupalcode.org/project/ai_context/-/work_items/3577428" class="drupalorg-gitlab-link">https://git.drupalcode.org/project/ai_context/-/work_items/3577428</a></span></h2> <table> <tr> <td>mglaman</td> <td>Commented an approach that may keep it simpler</td> </tr> <tr> <td>mglaman</td> <td>no code in ai_context_modules_installed needed with this approach</td> </tr> <tr> <td>Kristen Pol (she/her)</td> <td>I bumped back to needs work for that and hopefully <a href="https://www.drupal.org/u/kostiantyn">@Kostiantyn </a>can take a look</td> </tr> <tr> <td>Daniel Rodriguez</td> <td>I might have a look later today</td> </tr> </table> <h2>6&#65039;&#8419; 2&#65039;&#8419; I'm looking after the Document Loader which has been released recently (with security coverage) - we've got a bit more to do there and I'm hoping to pick these up in a week or so. <a href="https://www.drupal.org/project/document_loader">https://www.drupal.org/project/document_loader</a></h2> <table> <tr> <td>Kristen Pol (she/her)</td> <td>@Nick when do you think it'll be "ready for prime time"? I need to update the CCC roadmap accordingly</td> </tr> <tr> <td>Nick</td> <td>@Kristen Pol (she/her) Other than the icon I believe it is working pretty well as Rob demoed before. We have FWA working and the MDX editor as two options to use. It handles Markdown as preferred output.</td> </tr> <tr> <td>Kristen Pol (she/her)</td> <td>Will the MDXEditor button be added to AI core?</td> </tr> <tr> <td>Kristen Pol (she/her)</td> <td>@Nick ^</td> </tr> <tr> <td>Nick</td> <td>There is a patch for that to work and it will allow any module to inject buttons+functionality. It's RTBC[#3581363]</td> </tr> <tr> <td>Andy Marquis</td> <td>@Nick - is there any reason why the FWA destination field types don&rsquo;t include &lsquo;string_long&rsquo; or is it just an oversight? <a href="https://git.drupalcode.org/project/document_loader/-/blob/2.0.x/modules/document_loader_fwa/src/Plugin/FieldWidgetAction/DocumentLoaderAction.php?ref_type=heads#L88">https://git.drupalcode.org/project/document_loader/-/blob/2.0.x/modules/document_loade[&hellip;]n/FieldWidgetAction/DocumentLoaderAction.php?ref_type=heads</a></td> </tr> <tr> <td>Kristen Pol (she/her)</td> <td>Thanks for the mdx issue, I'm following that now</td> </tr> <tr> <td>Nick</td> <td>@Andy Marquis just an oversight. What is your use case?</td> </tr> <tr> <td>Andy Marquis</td> <td>@Nick , im using text field for this example but assume string_long would have been an option:<a href="https://drupal.slack.com/archives/C0APH70JV18/p1775581104866029">https://drupal.slack.com/archives/C0APH70JV18/p1775581104866029</a></td> </tr> <tr> <td>Andy Marquis</td> <td>I&rsquo;m using ur modules for the pdf extraction</td> </tr> </table> <p>Participants:</p> <p>matthews, webchick, Nick, valthebald, Kristen Pol, Marcus Johansson, svendecabooter, d34dman, hrishikesh-dalal</p>
issue