1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4671],{36317:function(e,r,t){(window.__NEXT_P=window.__NEXT_P||[]).push(["/community/contribute/how-graphql-is-developed",function(){return t(54018)}])},2144:function(e,r,t){"use strict";t.d(r,{o:function(){return s}});var i=t(52676),n=t(4814),a=t(85454),o=t(17676);function s({items:e,numbered:r}){return(0,i.jsx)("ul",{className:"grid grid-cols-1 justify-stretch gap-2 pt-6 sm:grid-cols-2 lg:gap-4",children:e.map((e,t)=>{let s;let l=e.link.replace(/^\/learn\//,"").replace(/\/$/,""),p=o.g[l];return p&&(s=p.section),(0,i.jsx)("li",{className:"flex text-neu-900",children:(0,i.jsxs)("a",{href:e.link,className:(0,n.W)("gql-focus-visible grid w-full border border-neu-200 bg-neu-0 transition-colors [grid-template-areas:'header''desc'] [grid-template-rows:auto_1fr] hover:ring hover:ring-neu-100 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 dark:border-neu-100 dark:hover:ring-neu-50 lg:[grid-template-areas:'header_header''desc_arrow'] lg:[grid-template-columns:1fr_64px]","getting-started"===s&&"bg-pri-lighter/10 dark:bg-pri-lighter/5","best-practices"===s&&"bg-sec-lighter/10 dark:bg-sec-lighter/5"),children:[(0,i.jsxs)("span",{className:"flex flex-col gap-1 [grid-area:header]",children:[r&&(0,i.jsxs)("span",{className:"typography-body-sm px-2 pt-2 text-neu-700 max-lg:typography-body-md lg:px-4 lg:pt-4",children:[r," ",t+1]}),(0,i.jsxs)("span",{className:(0,n.W)("typography-h3 flex items-center gap-2 border-neu-200 text-neu-900 dark:border-neu-100",e.icon?"border-b":"pl-2 lg:pl-4"),children:[e.icon&&(0,i.jsx)("span",{className:"flex items-center justify-center border-r border-neu-200 p-2 lg:p-4",children:"function"==typeof e.icon?(0,i.jsx)(e.icon,{className:"size-8 shrink-0"}):e.icon}),e.title]})]}),(0,i.jsx)("p",{className:"typography-body-sm text-pretty p-4 text-neu-900 [grid-area:desc] max-lg:typography-body-md max-lg:border-t max-lg:border-neu-200 dark:max-lg:border-neu-100",children:e.description?e.description:e.link.replace(/^https?:\/\//,"")}),(0,i.jsx)("span",{className:(0,n.W)("hidden items-center justify-center place-self-end border-l border-neu-200 p-4 [grid-area:arrow] dark:border-neu-100 lg:flex",e.icon?"h-full":"border-t"),children:(0,i.jsx)(a.Z,{className:"size-8 shrink-0 -rotate-90"})})]})},e.title)})})}},54018:function(e,r,t){"use strict";t.r(r),t.d(r,{useTOC:function(){return p}});var i=t(52676),n=t(92937),a=t(45043),o=t(79428),s=t(2144),l=t(22261);function p(e){return[{value:"Working Groups",id:"working-groups",depth:2},{value:"The GraphQL Working Group",id:"the-graphql-working-group",depth:3}]}r.default=(0,n.c)(function(e){let{toc:r=p(e)}=e,t={a:"a",h1:"h1",h2:"h2",h3:"h3",p:"p",...(0,o.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.h1,{children:"How GraphQL Is Developed"}),"\n",(0,i.jsxs)(t.p,{children:["At its core, the GraphQL project is organized around the ",(0,i.jsx)(t.a,{href:"https://spec.graphql.org",children:"specification"}),", with a wide variety of supporting implementations and tools."]}),"\n",(0,i.jsxs)(t.p,{children:["GraphQL has an active and mutually beneficial relationship with its many implementations. The GraphQL specification is continuously evolving under the care of the ",(0,i.jsx)(t.a,{href:"https://github.com/graphql/graphql-wg",children:"GraphQL Working Group"}),", which consists of GraphQL spec experts, contributors to public ",(0,i.jsx)(t.a,{href:"/community/contribute/development/#graphql-projects-and-implementations",children:"reference implementations"}),", and implementers. At any given time, GraphQL specification updates are a combination of anticipatory planning with documentation of patterns and behaviors that are already proven in production, sometimes at very large scale."]}),"\n",(0,i.jsx)(t.h2,{id:r[0].id,children:r[0].value}),"\n",(0,i.jsx)(t.p,{children:"The GraphQL specification, sub-specifications, and official reference implementations are developed using the working group model. The working groups meet monthly or as-needed in order to review ideas and plan their work."}),"\n",(0,i.jsxs)("div",{className:"border-l-2 border-primary pl-6 md:pl-10",children:[(0,i.jsx)(t.h3,{id:r[1].id,children:r[1].value}),(0,i.jsxs)(t.p,{children:["The ",(0,i.jsx)(t.a,{href:"https://github.com/graphql/graphql-wg",children:"GraphQL Working Group"})," is the main group that plans and implements changes to the ",(0,i.jsx)(t.a,{href:"https://spec.graphql.org",children:"GraphQL specification"}),". It meets actively and is the default place for discussion for topics which do not have a separate breakout working group (breakout working groups include the ",(0,i.jsx)(t.a,{href:"https://github.com/graphql/composite-schemas-wg/",children:"Composite Schemas WG"})," and the ",(0,i.jsx)(t.a,{href:"https://github.com/graphql/graphql-over-http",children:"GraphQL-over-HTTP WG"}),", see ",(0,i.jsx)(t.a,{href:"/community/contribute/project-meetings/#graphql-subcommittee-meetings",children:"GraphQL subcommittee meetings"})," for more)."]}),(0,i.jsx)(s.o,{items:[{icon:l.fy,title:"GitHub Working Group",link:"https://github.com/graphql/graphql-wg"},{icon:l.EC,title:"Meeting frequency",link:"https://calendar.graphql.org",description:"Monthly, generally the first Thursday"},{icon:l.fy,title:"Agenda",link:"https://github.com/graphql/graphql-wg/tree/main/agendas",description:"GitHub"},{icon:l.Fc,title:"Recordings",link:"https://www.youtube.com/playlist?list=PLP1igyLx8foH30_sDnEZnxV_8pYW3SDtb",description:"YouTube"}]})]})]})},"/community/contribute/how-graphql-is-developed",{filePath:"src/pages/community/contribute/how-graphql-is-developed.mdx",timestamp:1789481543e3,pageMap:a.v,frontMatter:{},title:"How GraphQL Is Developed"},"undefined"==typeof RemoteContent?p:RemoteContent.useTOC)}},function(e){e.O(0,[3556,5043,2888,9774,179],function(){return e(e.s=36317)}),_N_E=e.O()}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.