{"id":8014,"date":"2026-09-17T11:00:31","date_gmt":"2026-09-17T05:30:31","guid":{"rendered":"https:\/\/rajasthan.wordcamp.org\/2026\/?post_type=wcb_session&#038;p=8014"},"modified":"2026-10-02T19:42:19","modified_gmt":"2026-10-02T14:12:19","slug":"wordpress-core-development-setup-workshop","status":"publish","type":"wcb_session","link":"https:\/\/rajasthan.wordcamp.org\/2026\/session\/wordpress-core-development-setup-workshop\/","title":{"rendered":"WordPress Core Development Setup [Workshop]"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Most first-time Core contributors don&#8217;t stop because the code is hard. They stop because the afternoon disappears into installing tools and debugging a build that won&#8217;t run.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This hands-on workshop takes you from a laptop with nothing installed to a working WordPress Core development environment, and then to a real ticket. Bring a laptop and leave with a setup you can keep contributing from.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">No prior Core contribution experience needed.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-default\" style=\"margin-top:30px;margin-bottom:30px\" \/>\n\n\n\n<h3 class=\"wp-block-heading\">Prerequisites for the Core table<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Here are the prerequisites for the Core table. The main goal is to get the big downloads done at home, not on venue Wi-Fi.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">1. LOCAL ENVIRONMENT<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Recommended: WordPress Contributor Toolkit, a single desktop app from the WordPress project. It bundles Git, Node.js, npm and the WordPress server (via WordPress Playground and SQLite), so attendees don&#8217;t need to install Git, Node.js, npm, Docker or MySQL themselves.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Download: <a href=\"https:\/\/github.com\/WordPress\/contributor-toolkit\/releases\/latest\" target=\"_blank\" rel=\"noopener\">https:\/\/github.com\/WordPress\/contributor-toolkit\/releases\/latest<\/a><br><\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Under &#8220;Assets&#8221;, pick one file:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>macOS (Apple Silicon): .dmg<\/li>\n\n\n\n<li>Windows (x64): .exe<\/li>\n\n\n\n<li>Linux (x86_64): .AppImage<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/freescout.wprajasthan.org\/\/storage\/attachment\/3\/8\/1\/image.png?id=843&amp;token=e033d0b55a4d0fed7b7fdc7019ec7fc5\" alt=\"image.png\" width=\"578\" height=\"128\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Please note:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>The installers are 250 to 340 MB, so please download before the event.<\/li>\n\n\n\n<li>There is no Intel Mac build yet. Intel Mac users can pair with someone at the table.<\/li>\n\n\n\n<li>If macOS blocks the app, right-click it and choose Open.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Already have a WordPress-develop setup with Docker (Git, Node.js, npm, Docker)? Keep using it. Everything we do at the table works the same way.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">2. ACCOUNTS &amp; ACCESS<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Please create all three accounts before the event. The Slack signup requires the WordPress.org account, so create that one first.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">a) <strong>WordPress.org account<\/strong>: <a href=\"https:\/\/login.wordpress.org\/register\" target=\"_blank\" rel=\"noopener\">https:\/\/login.wordpress.org\/register<\/a><br>Used for contribution props and for commenting on and attaching patches to Trac tickets.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">b) <strong>GitHub account<\/strong>: <a href=\"https:\/\/github.com\/signup\" target=\"_blank\" rel=\"noopener\">https:\/\/github.com\/signup<\/a><br>Used to open pull requests to wordpress-develop, where the automated tests run.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">c) <strong>Make WordPress Slack<\/strong>: <a href=\"https:\/\/make.wordpress.org\/chat\/\" target=\"_blank\" rel=\"noopener\">https:\/\/make.wordpress.org\/chat\/<\/a><br>Follow the steps on that page using your WordPress.org account, then join the #core channel.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">LINK GITHUB TO <a href=\"http:\/\/wordpress.org\/\" target=\"_blank\" rel=\"noopener\">WORDPRESS.ORG<\/a><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">This makes sure work done on GitHub is credited to your WordPress.org profile:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Log in to WordPress.org and open <a href=\"https:\/\/profiles.wordpress.org\/me\/profile\/edit\/\" target=\"_blank\" rel=\"noopener\">https:\/\/profiles.wordpress.org\/me\/profile\/edit\/<\/a><\/li>\n\n\n\n<li>Go to the &#8220;Account &amp; Security&#8221; tab and click &#8220;link your GitHub account&#8221;.<\/li>\n\n\n\n<li>On GitHub, authorize the WordPress.org Profiles app. It only gets read-only access to your public information.<\/li>\n\n\n\n<li>On GitHub, go to <a href=\"https:\/\/github.com\/settings\/emails\" target=\"_blank\" rel=\"noopener\">https:\/\/github.com\/settings\/emails<\/a> and add <a href=\"mailto:YOUR-WPORG-USERNAME@git.wordpress.org\" target=\"_blank\" rel=\"noopener\">YOUR-WPORG-USERNAME@git.wordpress.org<\/a> as an email address. GitHub will mark it as &#8220;Unverified&#8221;. That&#8217;s expected, because it isn&#8217;t a real inbox. Leave it as it is. Your WordPress.org credit comes from the account link in steps 1 to 3.<\/li>\n\n\n\n<li>To check it worked, open <a href=\"https:\/\/profiles.wordpress.org\/github:YOUR-GITHUB-USERNAME\" target=\"_blank\" rel=\"noopener\">https:\/\/profiles.wordpress.org\/github:YOUR-GITHUB-USERNAME<\/a>. It should redirect to your WordPress.org profile.<\/li>\n<\/ol>\n\n\n\n<h4 class=\"wp-block-heading\">3. REPOSITORIES &amp; ASSETS<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">There is nothing to clone manually. However, creating the first site in the Toolkit downloads the full wordpress-develop repository, runs npm install, and does a full build, which is the heaviest part of setup.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">We&#8217;d strongly recommend attendees do this at home:<br><strong>Open the Toolkit &gt; Create a site &gt; choose a folder &gt; keep &#8220;WordPress Core&#8221; selected &gt; let it finish.<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/freescout.wprajasthan.org\/\/storage\/attachment\/9\/7\/1\/image.png?id=844&amp;token=b704acb9a2f42235f0d2ec63d85a192c\" alt=\"image.png\" style=\"aspect-ratio:1.8585209003215435\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Anyone who arrives with a working site can start on a ticket right away.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">4. BEGINNERS \/ NON-TECHNICAL CONTRIBUTORS<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">First-time contributors are very welcome. Testing an existing patch or pull request and leaving a comment on the ticket is a real contribution and doesn&#8217;t require writing code.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Helpful reading (optional):<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Toolkit guide<\/strong>: <a href=\"https:\/\/wordpress.github.io\/contributor-toolkit\" target=\"_blank\" rel=\"noopener\">https:\/\/wordpress.github.io\/contributor-toolkit<\/a><\/li>\n\n\n\n<li><strong>Core Contributor Handbook<\/strong>: <a href=\"https:\/\/make.wordpress.org\/core\/handbook\/\" target=\"_blank\" rel=\"noopener\">https:\/\/make.wordpress.org\/core\/handbook\/<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Most first-time Core contributors don&#8217;t stop because the code is hard. They stop because the afternoon disappears into installing tools and debugging a build that won&#8217;t run. This hands-on workshop takes you from a laptop with nothing installed to a working WordPress Core development environment, and then to a real ticket. Bring a laptop and [&hellip;]<\/p>\n","protected":false},"author":20350174,"featured_media":0,"template":"","meta":{"advanced_seo_description":"","jetpack_seo_html_title":"","jetpack_seo_noindex":false,"jetpack_seo_schema_type":"","_wcpt_session_time":1791004800,"_wcpt_session_duration":3600,"_wcpt_session_type":"session","_wcpt_speaker_id":[8304],"footnotes":""},"session_track":[38],"session_category":[],"class_list":["post-8014","wcb_session","type-wcb_session","status-publish","hentry","wcb_track-track-2"],"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/ph49ZU-25g","session_date_time":{"date":"October 3, 2026","time":"10:50 am"},"session_speakers":[{"id":"8304","slug":"nimesh-agrawal","name":"Nimesh Agrawal","link":"https:\/\/rajasthan.wordcamp.org\/2026\/speaker\/nimesh-agrawal\/"}],"session_cats_rendered":null,"_links":{"self":[{"href":"https:\/\/rajasthan.wordcamp.org\/2026\/wp-json\/wp\/v2\/sessions\/8014","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/rajasthan.wordcamp.org\/2026\/wp-json\/wp\/v2\/sessions"}],"about":[{"href":"https:\/\/rajasthan.wordcamp.org\/2026\/wp-json\/wp\/v2\/types\/wcb_session"}],"version-history":[{"count":14,"href":"https:\/\/rajasthan.wordcamp.org\/2026\/wp-json\/wp\/v2\/sessions\/8014\/revisions"}],"predecessor-version":[{"id":8889,"href":"https:\/\/rajasthan.wordcamp.org\/2026\/wp-json\/wp\/v2\/sessions\/8014\/revisions\/8889"}],"speakers":[{"embeddable":true,"href":"https:\/\/rajasthan.wordcamp.org\/2026\/wp-json\/wp\/v2\/speakers\/8304"}],"author":[{"embeddable":true,"href":"https:\/\/rajasthan.wordcamp.org\/2026\/wp-json\/wporg\/v1\/users\/nimeshatxecurify"}],"wp:attachment":[{"href":"https:\/\/rajasthan.wordcamp.org\/2026\/wp-json\/wp\/v2\/media?parent=8014"}],"wp:term":[{"taxonomy":"wcb_track","embeddable":true,"href":"https:\/\/rajasthan.wordcamp.org\/2026\/wp-json\/wp\/v2\/session_track?post=8014"},{"taxonomy":"wcb_session_category","embeddable":true,"href":"https:\/\/rajasthan.wordcamp.org\/2026\/wp-json\/wp\/v2\/session_category?post=8014"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}