From fa53c1e3b0fa29c481a529dc75f9908ffb72aa4c Mon Sep 17 00:00:00 2001 From: Kevin Heis Date: Mon, 2 Feb 2026 08:37:08 -0800 Subject: [PATCH 1/4] Add react_app and page_type to hydro-analytics events (#59437) --- src/events/components/hydro-analytics.ts | 13 ++++++++++- src/events/tests/hydro-analytics.ts | 29 ++++++++++++++++++++++++ 2 files changed, 41 insertions(+), 1 deletion(-) diff --git a/src/events/components/hydro-analytics.ts b/src/events/components/hydro-analytics.ts index 7a39ac08651e..1a1ae51cd3be 100644 --- a/src/events/components/hydro-analytics.ts +++ b/src/events/components/hydro-analytics.ts @@ -57,7 +57,8 @@ const AUTO_COLLECTED_FIELDS = new Set([ /** * Flatten a nested event body into a single-level context object, - * excluding fields that hydro-analytics-client already auto-collects. + * excluding fields that hydro-analytics-client already auto-collects, + * and adding fields required for analytics_v0_page_view compatibility. */ export function prepareData(body: Record): { type: string @@ -74,6 +75,16 @@ export function prepareData(body: Record): { .filter(([key]) => !AUTO_COLLECTED_FIELDS.has(key)) .map(([key, value]) => [key, String(value)]), ) + + // Add fields required for analytics_v0_page_view compatibility + // These are expected by the BI team's dashboards + context.react_app = 'docs' + // Preserve our page_type as docs_page_type, then set page_type to 'marketing' for BI + if (context.page_type) { + context.docs_page_type = context.page_type + } + context.page_type = 'marketing' + return { type: typeof type === 'string' ? type : 'unknown', context } } diff --git a/src/events/tests/hydro-analytics.ts b/src/events/tests/hydro-analytics.ts index e29858da7f18..2f00389bb67c 100644 --- a/src/events/tests/hydro-analytics.ts +++ b/src/events/tests/hydro-analytics.ts @@ -99,4 +99,33 @@ describe('prepareData', () => { expect(result.type).toBe('page') expect(result.context.exit_scroll_length).toBe('0.5') }) + + test('adds react_app field for analytics_v0_page_view compatibility', () => { + const body = { + type: 'page', + context: { event_id: '123' }, + } + const result = prepareData(body) + expect(result.context.react_app).toBe('docs') + }) + + test('adds page_type field when not present', () => { + const body = { + type: 'page', + context: { event_id: '123' }, + } + const result = prepareData(body) + expect(result.context.page_type).toBe('marketing') + expect(result.context.docs_page_type).toBeUndefined() + }) + + test('preserves existing page_type as docs_page_type and sets page_type to marketing', () => { + const body = { + type: 'page', + context: { event_id: '123', page_type: 'article' }, + } + const result = prepareData(body) + expect(result.context.page_type).toBe('marketing') + expect(result.context.docs_page_type).toBe('article') + }) }) From f228dff43e034557d6b478c95e3bd4d94f9d5bdf Mon Sep 17 00:00:00 2001 From: docs-bot <77750099+docs-bot@users.noreply.github.com> Date: Mon, 2 Feb 2026 08:49:30 -0800 Subject: [PATCH 2/4] Delete orphaned files (2026-02-02-16-31) (#59448) --- .../copilot/coding-agent/open-workbench.png | Bin 8527 -> 0 bytes assets/images/social-cards/_convert-svgs.sh | 87 ------------------ assets/images/social-cards/_default.svg | 37 -------- assets/images/social-cards/_template.svg | 48 ---------- data/reusables/copilot/metrics-api-ghecom.md | 1 - 5 files changed, 173 deletions(-) delete mode 100644 assets/images/help/copilot/coding-agent/open-workbench.png delete mode 100755 assets/images/social-cards/_convert-svgs.sh delete mode 100644 assets/images/social-cards/_default.svg delete mode 100644 assets/images/social-cards/_template.svg delete mode 100644 data/reusables/copilot/metrics-api-ghecom.md diff --git a/assets/images/help/copilot/coding-agent/open-workbench.png b/assets/images/help/copilot/coding-agent/open-workbench.png deleted file mode 100644 index 59d06a65f67b786790490c6792f6b307a8cf4c22..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8527 zcmZ8{by!=?w{A))S_n>y1uOOycMI+iBtQ$ric=_BoZ!VB+9HKu#S6uXJH;)00MMT_K)TkVCxsrVA@rK2GqNubYz<70+(%)PrdchW)=)Foh~~*9yk` zB!OM6h>}K?{Y}(aHJIt~Wa3A> z3bvZ`62gLlABjgtG^3dWB5ZN^1vSbA13Y(k$Q;kHMMbZhb95_K?hXvbb7F?dWbQd& z_w{%Lq-PL%ebDr%+XX{vj=8}vJNVZ(o=*FrZL!79Uz0@uA2xR}vlJ8tlt2=?p9z(f2meRy_u`$yMxR8HTW_=F`bPLq&#e(@kKT&M9+No1l{e2N z?Fh5*v{Y<^Z^cRyaWnQv7)!J*lpLxZ9!DHwZ^?c(-*Hdav06zT{OTJpR*1X756}!2 zV#%ba1>v5#4Oq)yVV~jun7h!Q6<#Bd%OBfnz5cr^?QM3qdcm>jTS80R87RaF+wV7p z-HagHABAFcLY7ujxemJm$>Ud*grs{vDpFjvuWZbiH>a7AjT5lrvG26 zpFYJgblBRhjfVXmI`Ea16;tYqKhgzQxwRHrFMjk^8NB?MSxzzrS58KWdKB4BGrELap$@U zv|!%t73f}Y{$Wme1dV~840a`EQlGhnrsbNIZ|t-bV0vY8#bfe6sk|xxM+2y2GHFH= z*h;=PPwB#5rV>iX>VSrJG3WxJkHw~6eM=9cAuWD>ep`n|g&f=Sdk27>f>OkuedvSJ z1m;fxoEB$!C6|Awm{cj&gF12;T_CF@>uG$2)uUEDWPao(pza z30m<$9i@C5?k8>QDQ{rN1yk&hKiVNz(zUbOwk{jbB-|YXOM*JXK)K*ddaa4evPA4( z0X9p?`gsqMg3f>)mONkRiAdl*=Gt|IyrVmb_lYcQ=|Z|`KTrogMYZ#|B(Zf{o2?v7 zzmW%KlQzV_ncCQ&ojsZ=W+?}M-zWnYaaKYPk0OlE=QMQTAE+Nb_>Z)e0chXnj@ZCG z`_T${8V0a4nQQ>(TAfz;*TTmMH&%x)zq0h#tK80-w0mb{L}vVV;qMutqwC`n6!ciR zem7nj$k4R0yO{BTE84V7{{oThRPL=}POk@51`Rp|v7-vEnkev@L_HGc#gNq#aIXgs z_0&N;CfHZx;L2g(Y2o{-!it6Vb`NnB%dz*3r$Sf!=T|xubTom7?b@!Yuiey)+Q@ps z)h2O(^u9+&{J5|s`*+5(WN%r9haaO)#V~4~T4zk~9xYEn@C91x&_1AxAGe<=?`)O- zM|5pe7?>DSxNX=P#}!Csm}YKbkOhIfwHcm&YYxFXC*tB8l0FZA!&4MLPc!>o4SC@B zJSPYM7kyID(EFP}qfAlHP?se|lJ|rb8)}%Nxpp8~Stu%nnH!M&aTio|fF`Gg*I6KH zfHGI>RrfyH3z6`Ed6&*4M^Wcla{hqhvx_C0mCzT&7@xVF0^k0km<6Yn-~Uu?KXC4 z>upANyfPp=Z9Gl{_h962$<>3lU%k|(pkh!vIbwikLJ{vEjegxm*W}XU&)M5*HxC$d zRr!LWkrVqPIC5~a;ey8Nx%X~4@}P^R$no>(C3|gn+s#Q92tev_y(qJ~_`|_b&7mm_ zoTCB~wS*BlhY&#`{BE+$$Ql#ej+3!MKZA9?Xui9F}QPJ@ouE#^;9Y2*{1B2Id z$0f&)emC`N%6MvC#|%a($rN*3e4*qXY5Rw_>NEb8#lib6)JEMCJLhPj_8*IUH=4$?qC{2z%7US^{%N;6v2h% ztu?L73&g}2G1Me0A~N7?D*;Rm+8X+~Z0qb3G8pB)ua<*`tWb{6;&foD61Lv{(EV?1 zasE5tBofeC&d>c8v3j#^+!^sx2)`gn)+reEu9hmcCrXH1oBR0O?P1C3> z<+W?L@y+l2(aUJ)<1l&d33h1~$I}^lddZ8+z2U>=GgPhDE!%x?KQSgf3l>Gn{)!$^ zygdVM#a7^vYO#lGl$Dg_#=3$EZVdnI+wqTktt`I}WLV|vNL!j32_2D?^PV*^TC}ke zE$H6wlzh4rXjl9b#$4#RIMu@uM6w?5dRtFaFYR0P9cJ^VkOgX7kU-?J7}oq+L>jAwfr_ z{b2m%bX2zbfV#z~@9pREh4f;YM#rPGS<&^{b)%7D#JDZ|Ypm;Ro3v)&#;De}pIbW; ztUI~}w5|T>QiD;jg7^2D&4TFlQ;jY)Cf{Gad4qYc%*|-qy$g4K_54EWI_TECe9O6Z z@+_Vhh6K$$xW<%9rN%K(1T4l}I`yr41cuKMAjZYVS!=>-boEKB)&3FFM`ot2h^pPO z!e%=vPey1WvJkK+L5nTZ2EmEy|__4aFlj@Ft!jQBQ#rgcsg`^O``Rc-ua+{Qm} zs~}@hA^u=ez2)}~$ni;q>#AsQ06V#Vx-drHVAf}OoTgDElL_0>MeNHv;?L_tBjqL@ z5+Cg@9sD>d6{wO_+^^Qf&MKwGUR0Frw;r7nGEYeDr<$6ct|GQ|?ei+gFb}Jg$Xtpq z;J%ARUc_$9tVFAS7n!l_4>W1_Tjr4RIADG&Yiuzgb9cM8-vX>#qvkcAoVvTK0v;^+ z{~?3bc$_SF??jk5N)?~QilH__bgP2At8J)l9l=$UUknGGJhaC}hbB*cldJ@I40D(S zx_$F?BdZ~QA!bZN%iWDa+i%Do>VR~&yp$_Q*IES$-}&#!wM4`a^N|iRI5o10;g9JI z2|`AwuI9ov>V3<~%9B86GG^ZB`43jLC3(F3dM3fKdH}|eawPrE?eIy1Vf$*rBkT$L zcag9}dEEfjF)iIpvq$W`FN>uI!+TP#r|LEY_wF^zzPHw8iVF*iy-r58P7;os9u374 z!jSNp2ai@e*womKOX@qey6QTd#SU1~^s=O+?GZfpWMWid{RdKbbe38z$3fe#TztbX z)0i6`o503|SeRPI7yf*tFjDV3)pzRPtmz0%ZT+4zTp(26wQHHMJX}TuJ6|2qUs0G2 z*7#1+88-W56++A})01K~n3SrU%34#Y!91GD+E_hBg*xSGzC1nd!ec*(!kv|h1JgA6 z*rsq!+Ty=y^&_{w=Q$!u>nVYl`q6=RK3>_ahV*b7d&{1zM8c*0PBa}XasBQK#*>0h zu4XkpS2cTX-&IQEN_;rDJGL`lQ=FVAE@@2r;2r*SzS{9{_*KY~{oduE>fL$OMU`2{ z^pB{G-0@~dT9an(8x|~*tuM%i*YgWBFh14+$hb)2^T%ObTUl>T)lZVKUp#3rUN%%B z9*ilik?k~;a|l_Yw@S%$o&QLw8cc?$QwEVus1IojsP?03HfKZ*I8LC65K#)ukj5b{b>bH3MCeS)6pmvxroyJ2Ojn7Izb^&^E5~3&6`}i|k+9UuvA&*8&56K{mjc zxw{M>z#0R83e&bs+!wbhq_Sdr!KANMLur3e>OHUbe4szBc`;qqjQxblZNW}%;)xf1 zQ>sl++H)9|m4>4H$ro|1s||iRUnK)&d?I5%8na&FcsbSlve_I+eIsXPVowZTQZ9b- zQHHYY?|X^wu+e#3G9?dG#IvXD7iODbY=4#$C*>U#K+Rwpa%|(b$`ZR@1W&Y|W?H&Z z8|u$kkjT$@1zv8dG(B59;!4Tn$xLCWnsc03cotpXt=M~g^7It=0>;NhvKH5dU!SM_ zTD~;BpUo+e{J;$alNyyi&=z(bz~k>hQd7)#{F+_8?JYSByy51S*1)$~Cj;NEzd`Ox zcp1p+D0gnQH^32fEMFC~B!j9`{IkWlheTbL4djOiiRk%pu0&Vw_f|sxrPpasvZkGkh)LTk#ppG;c6lxV*W399#*NPJn#lzg>@&FR2`O{%nf9X2 zuj>qS*6OEU&57k5=ATGlCK6VM^@h@u^>^sfUv!rsYi!I0>n_pm-_+8k?KVQO2hxtF z;5qeS4FXE}^K(c283Tj7bxA{rzu7+X2cdhblzM1`hKQ%Z>!_+l=ffz~c;sVJuAs7C zM`ytoa+0VpPxW0IfBVo6+)^!#aufY~#c#ZHXHM^5nh{JPAL)?blgbDD>MXbdRkx=Z zq&3BZ&x6>`YUbQCEz)bx4554ZrO@L1Nq51hW(#PSuVs-Vf%SMDxyMsg!Jnov9KJ` zAyO4z@P6u86*Is?uy>yvD*y-*exh$aAgvuZ7Z^p=E#vt7=j1^7Z{PW=!ueKlWt$jDf!8*HByN&cL?|0hY%1AENWlGZH4$0G$W~yOUd5KRU1d|^ibp^CLEFn-?x1; z3GuHZg)Ws1Nb6)lm5&_rUl_h>CtiIv{0hrF4XcQSm5QjSIuZQv+cQsfwQUcj*s>El zW?YN|+m5F-vzpNpC`{8-C40#O^Az%0t2m-b{`3gIFi_B0n{Xhg~a9=s+IoMw&* ze1`|REEng`3UF`9Cs(IVv9K{zRnxlvvoWrlF7Ds1DmJelVbbOWg|aPbG#B16^_vgm zS$rifa#(*UDA}rq=;`nvzhD=2x{%nlc(AFp_B;Ux(s31TswK?z!qyKcU$^~G=w zNgnKVUw!L#)0cmqRWemuWEuakj_zLVTKa$H@m#>UQrW7R+EIOAZTxfAn_pfhi$jK6 zAzK0|ZW+g0JT=uq=&k~G??Sp@U2-1-)JETUVZDgs0=f4$_dQxkjM(5l24R{OliUn0 zIuYcG+D_E5U$^^?h$Il|U17#$j8aS%qvTUPt%6C2sOmK?HwvMv#lO>L>Z6jq_49gn zm;)L`(9eG|DMNXY- z2=7TpoM7T}(ZM({*^5zRvaZYbx9|M6_^Y6GbB(>;N;1y>ZflLkd{=mCKNJYF9~PnJ z%Wst5cs#m_{6|?`RAaAR_)ytcMsq|({!&W$=0IEJqMYzt;b6r>!zBv^H8Fd-+o%~q z)9#WMA@Q3lQXWf7BA>#-xfs9I&laUFRz1<~?ipqyrild-7W6ClqAqmyzt&Q za1znSJW@S$MhoGqHRR4r?cw1KS_|TQCs}tpk=Y|hb*?h+Vi}=(s8mr&kIqZ3{>Ge8 zdKrqnh$C#p>hy78$kv)EFEdN$1Bw2=0JP9T= z;upk_1cWIXI{p2)*-CLdfD0q8{YitFyU)<~lK%08#Id-kn&O>2*|L(Vfo2)@T7^>u zu929Xk1jO*z245I4purgvks#~eH`8rFB`T7r`<2?8I*!FEwW?e>9?F50g6&Wg^x?I ziq5T4Hk8wr|L6(h>`S)($0HP~q;{n8WY}(2g=_o9W5l%(=YF)jGOgnP*IS8hB+H)? zCn>QeZ2O}se65s&gi!Gjap{K8PiZ^T;E*SZJXQ*p6kW4;zN8+eAP>FUvtr-T?Mppz zd--e&^@5dL{`GW04lxsX+R%FqPQZ(u)17)+q0!BMW=qV3_lvkCO$7U&oip@*= zb+!kg_eTfPF1rn`3A{>rG6iT6r$ap98{a)bRuP2Cb7O0@-zUH4iw)3~Wy}SX>1+9H zIl4J%sfE9@_X@^yuKhn+SQCCBBsBaIzx=7DhHLO+QTXLoAD#v-nXI$-r#+{>^(GW0N~drg3mJ48U9N$E#~qRh7$O9MwM zBo%P-S-JS`s2qH$o6AdUqk7-{9j6unnR=JP!|_4Bz6|;@q;0F$DZ!iM$p|~Q?Z;B+ zdV{HY!{L#;zwvcuE87T@X?KvkNXfL}?<7U;fB^LjHgV@ZGVlcDfzn^g?}a$PJ$d7n z2(U@=;J2sLHufp2p+K^53Nmv&S`6O!U@D+Wr(zq?k7d6jDg07QC}63V(>P%oDAO?4 z45N1Dtp&3^Kl$!=L4SF8A@iAe?6TwhKnAHtjv)nQq-wnBqec;(z!*q2z{4T<{hR;4Rr<15h{DQ6ugGtGMawWxQ=}(BXuG!6~U#4LUoZo zZ}tj+FD}K*)MF+&{DIGk|Hev(-J0!Bx&k8z67zuH7q@bfVz7vLxSpxirCyB$Jc+sy zjd&bey%qM7Ri2KQ;i&lCn~gvLJD>Uc4A#cTvJ}m4cY@nR6mJE#mq_Imk3Kj422}OM zJY19xC~o(ow>O@uq!s; zR~09)74){h2Hf)xe=S`sp++&+tyJv9u#%@~aUzTf%9VDJuSkbcaK3weAT+EtJPN+~8cI}5o4)|Fl za<|R@@MJr+aBM502Wr!iDPdO>RN`vSmrABaGn^m|o&h&I~&p zML3fN8j(LfJ^ZCA3TzCbg#}8>p}PP>(TBH3w0*R)vEZK1r~)PUKlB)({PE-pC3ukn zydyCI{Lu*gw`1zd>irON<@R@3J`zDkwy`BaR9NK))TGepd+jB)#MPtTQCyMsnasi@ zYQ4!1C@A|xF$yw9t$Kwjn7Zh=8I-tl5&DFWV`)3un{oXXv7KXgNDWJw!C+Ken0X7? z62Vsxo@Uu070|c4n_^4)`qzWP1pDgXN2-6d=);`HB+f@1b&5^Xo3;_#dXZrBJ2a)iL7(=@LM*s2V$Wo#K)XFP zmOJSLp~5L}HR%%6ax7TF4SJZ&DXQmmpPI*{WEYb+3v%0Fci8_7^!@);P=FSTY9(av z4)6QAyRfpZ`f?wv)8+wA*xg>8j|W|TmG2k22Deq!FNFcC0JQE- z_mdg4JtLasg3pnSp+IIYW7bK;|8ztW_jlrqJ5Y^@*KI*5bnN!@4H--z+axd~3S5Ru zE2A}eckE61PZsy6Qu9SYhOHCSs%WGF`UWgH-r5`wKlVAfx#ry~1bv5PX4n3S!g9-n3Uq+5J2OurJav87j#>F(2Bx_qA4 z?~>#D4;L7K=YL@Y{Olv50A!=LW_7;m{S3r^Agw5Mn3n{ha;Bh|W;4p)ceC?|4`iF3NA#}-o-Fx~uilQdHGl*A0Wwn# zqeFJLsaQ3#%mcr;E-L6fl>)Zz?{bvjivNS08pZKy?)7G@^{A#`|EUAUNc?J@;cVo&15$!a; z3?3Kxl4)3y-}bh_ov$PFt9CQ{;F@e3{0wPnnT#_soQ#C5p(aTQXC9S|@c+wonqHe; zXrSeFq_OoYnVo0C*;_vCsF`LXgT-hHlc%V+wRTOWlATeE3F~5kpHMh?2PDDRNqnLx z0Mj06=)sR4SWnV^$;)DqgaA}WZ|?UEub*0VF-snv9!vJlp5iRm!Z0^7e;*eb+$jRS z)7m$M|8e|g`Zw@XJ&l(HtPm*s_b<-Ext$fxvb(~!;t03GMD!yL+7G5KR*zr&R3oy| z0{wk#&zOtzH&qG-2v&vHX{3Pxve#Gq(#zV5(hZ}!mFP!+1KxzmqVa&=NOch4&zak2 zAsFO*1y23 /dev/null; then - echo "Error: rsvg-convert not found. Install with: brew install librsvg" - exit 1 -fi - -if ! command -v zopflipng &> /dev/null; then - echo "Error: zopflipng not found. Install with: brew install zopfli" - exit 1 -fi - -# Check for Mona Sans font -if ! fc-list | grep -qi "Mona Sans"; then - echo "Error: Mona Sans font not found. Install with: brew install --cask font-mona-sans" - exit 1 -fi - -# Labels to generate from template (filename:Label Text) -LABELS=( - "account-and-profile:Account" - "actions:Actions" - "admin:Admin" - "apps:Apps" - "authentication:Auth" - "billing:Billing" - "code-security:Security" - "codespaces:Codespaces" - "communities:Community" - "contributing:Contributing" - "copilot:Copilot" - "desktop:Desktop" - "discussions:Discussions" - "education:Education" - "enterprise-onboarding:Enterprise" - "get-started:Get Started" - "github-cli:GitHub CLI" - "github-models:Models" - "graphql:GraphQL" - "integrations:Integrations" - "issues:Issues" - "migrations:Migrations" - "nonprofit:Nonprofit" - "organizations:Orgs" - "packages:Packages" - "pages:Pages" - "pull-requests:Pull requests" - "repositories:Repositories" - "rest:REST" - "search-github:Search" - "site-policy:Site Policy" - "sponsors:Sponsors" - "subscriptions-and-notifications:Account" - "support:Support" - "webhooks:Webhooks" -) - -# Generate default.png from _default.svg -echo "Converting _default.svg to default.png..." -rsvg-convert -w 1200 -h 628 "$SCRIPT_DIR/_default.svg" -o "$SCRIPT_DIR/default.png" -echo "Optimizing default.png with zopflipng..." -zopflipng -y "$SCRIPT_DIR/default.png" "$SCRIPT_DIR/default.png" - -# Generate labeled PNGs from _template.svg -for entry in "${LABELS[@]}"; do - filename="${entry%%:*}" - label="${entry##*:}" - png="$SCRIPT_DIR/$filename.png" - - echo "Generating $filename.png with label \"$label\"..." - sed "s/{{LABEL}}/$label/g" "$SCRIPT_DIR/_template.svg" | rsvg-convert -w 1200 -h 628 -o "$png" - echo "Optimizing $filename.png with zopflipng..." - zopflipng -y "$png" "$png" -done - -echo "Done!" diff --git a/assets/images/social-cards/_default.svg b/assets/images/social-cards/_default.svg deleted file mode 100644 index 09c966f62c1e..000000000000 --- a/assets/images/social-cards/_default.svg +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - GitHub - - - Docs - - - diff --git a/assets/images/social-cards/_template.svg b/assets/images/social-cards/_template.svg deleted file mode 100644 index 82d14ad1aef8..000000000000 --- a/assets/images/social-cards/_template.svg +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - GitHub - - - Docs - - - - {{LABEL}} - - diff --git a/data/reusables/copilot/metrics-api-ghecom.md b/data/reusables/copilot/metrics-api-ghecom.md deleted file mode 100644 index ce6f064b635f..000000000000 --- a/data/reusables/copilot/metrics-api-ghecom.md +++ /dev/null @@ -1 +0,0 @@ ->[!NOTE] The {% data variables.product.prodname_copilot_short %} metrics endpoints are **not** available for {% data variables.enterprise.data_residency %} on {% data variables.enterprise.data_residency_site %}. From d80860d73d0fd0f3c17af33fe1871fc376b26318 Mon Sep 17 00:00:00 2001 From: Copilot <198982749+Copilot@users.noreply.github.com> Date: Mon, 2 Feb 2026 17:04:52 +0000 Subject: [PATCH 3/4] Add missing category frontmatter to 42 Copilot documentation files (#59419) Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: subatoi <32935794+subatoi@users.noreply.github.com> Co-authored-by: Anne-Marie <102995847+am-stead@users.noreply.github.com> --- .../concepts/about-enterprise-accounts-for-copilot-business.md | 2 ++ content/copilot/concepts/agents/about-agent-skills.md | 2 ++ .../concepts/agents/coding-agent/about-custom-agents.md | 2 ++ .../copilot/concepts/agents/coding-agent/agent-management.md | 3 +++ content/copilot/concepts/agents/enterprise-management.md | 2 ++ content/copilot/concepts/agents/openai-codex.md | 2 ++ content/copilot/concepts/copilot-metrics.md | 3 +++ content/copilot/concepts/mcp-management.md | 3 +++ content/copilot/concepts/tools/about-copilot-integrations.md | 3 +++ .../manage-agents/monitor-agentic-activity.md | 2 ++ .../manage-agents/prepare-for-custom-agents.md | 3 +++ .../manage-for-enterprise/use-your-own-api-keys.md | 3 +++ .../manage-for-enterprise/view-code-generation.md | 2 ++ .../manage-for-enterprise/view-usage-and-adoption.md | 2 ++ .../manage-for-organization/prepare-for-custom-agents.md | 3 +++ .../manage-for-organization/use-your-own-api-keys.md | 3 +++ .../manage-mcp-usage/configure-mcp-registry.md | 3 +++ .../how-tos/provide-context/use-mcp/change-mcp-registry.md | 2 ++ .../how-tos/provide-context/use-mcp/configure-toolsets.md | 2 ++ .../provide-context/use-mcp/enterprise-configuration.md | 2 ++ .../set-up-a-dedicated-enterprise-for-copilot-business.md | 3 +++ .../how-tos/troubleshoot-copilot/troubleshoot-common-issues.md | 2 ++ .../troubleshoot-copilot/troubleshoot-firewall-settings.md | 2 ++ .../troubleshoot-copilot/troubleshoot-network-errors.md | 2 ++ .../copilot/how-tos/troubleshoot-copilot/troubleshoot-spark.md | 2 ++ content/copilot/how-tos/troubleshoot-copilot/view-logs.md | 2 ++ .../use-copilot-agents/coding-agent/create-custom-agents.md | 3 +++ .../coding-agent/integrate-coding-agent-with-linear.md | 2 ++ .../coding-agent/integrate-coding-agent-with-slack.md | 2 ++ .../coding-agent/make-changes-to-an-existing-pr.md | 2 ++ .../use-copilot-agents/coding-agent/test-custom-agents.md | 3 +++ content/copilot/how-tos/use-copilot-agents/manage-agents.md | 2 ++ content/copilot/reference/agentic-audit-log-events.md | 2 ++ content/copilot/reference/copilot-feature-matrix.md | 2 ++ .../reference/copilot-usage-metrics/copilot-usage-metrics.md | 2 ++ .../copilot-usage-metrics/interpret-copilot-metrics.md | 2 ++ .../reference/copilot-usage-metrics/lines-of-code-metrics.md | 2 ++ .../copilot-usage-metrics/reconciling-usage-metrics.md | 2 ++ content/copilot/reference/custom-agents-configuration.md | 2 ++ content/copilot/reference/custom-instructions-support.md | 2 ++ content/copilot/reference/hooks-configuration.md | 2 ++ content/copilot/reference/mcp-allowlist-enforcement.md | 2 ++ 42 files changed, 96 insertions(+) diff --git a/content/copilot/concepts/about-enterprise-accounts-for-copilot-business.md b/content/copilot/concepts/about-enterprise-accounts-for-copilot-business.md index 28c43fac7926..e2c9d15f7f23 100644 --- a/content/copilot/concepts/about-enterprise-accounts-for-copilot-business.md +++ b/content/copilot/concepts/about-enterprise-accounts-for-copilot-business.md @@ -14,6 +14,8 @@ redirect_from: - /early-access/copilot/managing-copilot-business-licenses-with-an-enterprise-account - /early-access/copilot/managing-copilot-business-licenses-with-an-enterprise-account contentType: concepts +category: + - Learn about Copilot --- ## How can my enterprise use {% data variables.product.prodname_copilot %} only? diff --git a/content/copilot/concepts/agents/about-agent-skills.md b/content/copilot/concepts/agents/about-agent-skills.md index 6cf3dd7ee5f4..81bf82fb1930 100644 --- a/content/copilot/concepts/agents/about-agent-skills.md +++ b/content/copilot/concepts/agents/about-agent-skills.md @@ -7,6 +7,8 @@ versions: feature: copilot topics: - Copilot +category: + - Learn about Copilot --- ## About Agent Skills diff --git a/content/copilot/concepts/agents/coding-agent/about-custom-agents.md b/content/copilot/concepts/agents/coding-agent/about-custom-agents.md index e0837e0e73f2..74a30030372d 100644 --- a/content/copilot/concepts/agents/coding-agent/about-custom-agents.md +++ b/content/copilot/concepts/agents/coding-agent/about-custom-agents.md @@ -7,6 +7,8 @@ versions: feature: copilot topics: - Copilot +category: + - Learn about Copilot --- ## About {% data variables.copilot.custom_agents_short %} diff --git a/content/copilot/concepts/agents/coding-agent/agent-management.md b/content/copilot/concepts/agents/coding-agent/agent-management.md index fb7fe4f3c15a..cb8a0541743d 100644 --- a/content/copilot/concepts/agents/coding-agent/agent-management.md +++ b/content/copilot/concepts/agents/coding-agent/agent-management.md @@ -10,6 +10,9 @@ topics: redirect_from: - /copilot/concepts/agents/coding-agent/managing-agents contentType: concepts +category: + - Learn about Copilot + - Author and optimize with Copilot --- ## About agents diff --git a/content/copilot/concepts/agents/enterprise-management.md b/content/copilot/concepts/agents/enterprise-management.md index ce4d31c7a990..9e0334a5e522 100644 --- a/content/copilot/concepts/agents/enterprise-management.md +++ b/content/copilot/concepts/agents/enterprise-management.md @@ -7,6 +7,8 @@ versions: topics: - Copilot contentType: concepts +category: + - Learn about Copilot --- {% data reusables.enterprise-accounts.ai-controls-preview-note %} diff --git a/content/copilot/concepts/agents/openai-codex.md b/content/copilot/concepts/agents/openai-codex.md index a4a4b64663aa..2875ea15f2c5 100644 --- a/content/copilot/concepts/agents/openai-codex.md +++ b/content/copilot/concepts/agents/openai-codex.md @@ -9,6 +9,8 @@ versions: topics: - Copilot contentType: concepts +category: + - Learn about Copilot --- > [!NOTE] {% data variables.product.prodname_openai_codex %} integration is currently in {% data variables.release-phases.public_preview %}. diff --git a/content/copilot/concepts/copilot-metrics.md b/content/copilot/concepts/copilot-metrics.md index efaa12287306..c54e7e7e375d 100644 --- a/content/copilot/concepts/copilot-metrics.md +++ b/content/copilot/concepts/copilot-metrics.md @@ -15,6 +15,9 @@ redirect_from: - /early-access/copilot-metrics/apis/about-the-copilot-metrics-apis - /early-access/copilot-metrics/dashboards/about-the-copilot-metrics-dashboard - /early-access/copilot-metrics/apis/rest-api-endpoints-for-copilot-enterprise-and-user-usage-metrics +category: + - Learn about Copilot + - Manage Copilot for a team --- {% data reusables.copilot.usage-metrics-preview %} diff --git a/content/copilot/concepts/mcp-management.md b/content/copilot/concepts/mcp-management.md index bcd284f24e54..a55de3b6265d 100644 --- a/content/copilot/concepts/mcp-management.md +++ b/content/copilot/concepts/mcp-management.md @@ -7,6 +7,9 @@ versions: topics: - Copilot contentType: concepts +category: + - Learn about Copilot + - Manage Copilot for a team --- You can manage Model Context Protocol (MCP) server usage in your organization or enterprise by configuring a series of MCP policies on {% data variables.product.prodname_dotcom_the_website %}. Through these policies, you can allow or block MCP server usage entirely, or restrict access to a list of servers that you define in an MCP registry. diff --git a/content/copilot/concepts/tools/about-copilot-integrations.md b/content/copilot/concepts/tools/about-copilot-integrations.md index 128ac385e585..d9f85d93a63e 100644 --- a/content/copilot/concepts/tools/about-copilot-integrations.md +++ b/content/copilot/concepts/tools/about-copilot-integrations.md @@ -8,6 +8,9 @@ topics: - Copilot product: '{% data reusables.gated-features.copilot-integrations %}
Sign up for {% data variables.product.prodname_copilot_short %} {% octicon "link-external" height:16 %}' contentType: concepts +category: + - Learn about Copilot + - Integrate Copilot with your tools --- ## Overview diff --git a/content/copilot/how-tos/administer-copilot/manage-for-enterprise/manage-agents/monitor-agentic-activity.md b/content/copilot/how-tos/administer-copilot/manage-for-enterprise/manage-agents/monitor-agentic-activity.md index 66b589d519fc..51b6229be007 100644 --- a/content/copilot/how-tos/administer-copilot/manage-for-enterprise/manage-agents/monitor-agentic-activity.md +++ b/content/copilot/how-tos/administer-copilot/manage-for-enterprise/manage-agents/monitor-agentic-activity.md @@ -8,6 +8,8 @@ topics: - Copilot shortTitle: Monitor agentic activity contentType: how-tos +category: + - Manage Copilot for a team --- {% data reusables.enterprise-accounts.ai-controls-preview-note %} diff --git a/content/copilot/how-tos/administer-copilot/manage-for-enterprise/manage-agents/prepare-for-custom-agents.md b/content/copilot/how-tos/administer-copilot/manage-for-enterprise/manage-agents/prepare-for-custom-agents.md index a21a96a6ed3c..9caafaae8f38 100644 --- a/content/copilot/how-tos/administer-copilot/manage-for-enterprise/manage-agents/prepare-for-custom-agents.md +++ b/content/copilot/how-tos/administer-copilot/manage-for-enterprise/manage-agents/prepare-for-custom-agents.md @@ -8,6 +8,9 @@ topics: - Copilot shortTitle: Prepare for custom agents contentType: how-tos +category: + - Configure Copilot + - Manage Copilot for a team --- {% data reusables.enterprise-accounts.ai-controls-preview-note %} diff --git a/content/copilot/how-tos/administer-copilot/manage-for-enterprise/use-your-own-api-keys.md b/content/copilot/how-tos/administer-copilot/manage-for-enterprise/use-your-own-api-keys.md index 512389803d8d..5e81c6889bd5 100644 --- a/content/copilot/how-tos/administer-copilot/manage-for-enterprise/use-your-own-api-keys.md +++ b/content/copilot/how-tos/administer-copilot/manage-for-enterprise/use-your-own-api-keys.md @@ -8,6 +8,9 @@ topics: - Copilot contentType: how-tos allowTitleToDifferFromFilename: true +category: + - Configure Copilot + - Manage Copilot for a team --- {% data reusables.copilot.byok-intro %} diff --git a/content/copilot/how-tos/administer-copilot/manage-for-enterprise/view-code-generation.md b/content/copilot/how-tos/administer-copilot/manage-for-enterprise/view-code-generation.md index 61ad9fd54f88..f146c79dd8f7 100644 --- a/content/copilot/how-tos/administer-copilot/manage-for-enterprise/view-code-generation.md +++ b/content/copilot/how-tos/administer-copilot/manage-for-enterprise/view-code-generation.md @@ -9,6 +9,8 @@ topics: - Copilot contentType: how-tos allowTitleToDifferFromFilename: true +category: + - Manage Copilot for a team --- {% data reusables.copilot.usage-metrics-preview %} diff --git a/content/copilot/how-tos/administer-copilot/manage-for-enterprise/view-usage-and-adoption.md b/content/copilot/how-tos/administer-copilot/manage-for-enterprise/view-usage-and-adoption.md index c2dc27ac7246..2e33f847848d 100644 --- a/content/copilot/how-tos/administer-copilot/manage-for-enterprise/view-usage-and-adoption.md +++ b/content/copilot/how-tos/administer-copilot/manage-for-enterprise/view-usage-and-adoption.md @@ -9,6 +9,8 @@ topics: - Copilot contentType: how-tos allowTitleToDifferFromFilename: true +category: + - Manage Copilot for a team --- {% data reusables.copilot.usage-metrics-preview %} diff --git a/content/copilot/how-tos/administer-copilot/manage-for-organization/prepare-for-custom-agents.md b/content/copilot/how-tos/administer-copilot/manage-for-organization/prepare-for-custom-agents.md index 7d19226925d6..d902330fa407 100644 --- a/content/copilot/how-tos/administer-copilot/manage-for-organization/prepare-for-custom-agents.md +++ b/content/copilot/how-tos/administer-copilot/manage-for-organization/prepare-for-custom-agents.md @@ -8,6 +8,9 @@ topics: - Copilot shortTitle: Prepare for custom agents contentType: how-tos +category: + - Configure Copilot + - Manage Copilot for a team --- {% data reusables.copilot.custom-agents-preview-note %} diff --git a/content/copilot/how-tos/administer-copilot/manage-for-organization/use-your-own-api-keys.md b/content/copilot/how-tos/administer-copilot/manage-for-organization/use-your-own-api-keys.md index 02dbed0d6bd4..823400a77ede 100644 --- a/content/copilot/how-tos/administer-copilot/manage-for-organization/use-your-own-api-keys.md +++ b/content/copilot/how-tos/administer-copilot/manage-for-organization/use-your-own-api-keys.md @@ -8,6 +8,9 @@ topics: - Copilot contentType: how-tos allowTitleToDifferFromFilename: true +category: + - Configure Copilot + - Manage Copilot for a team --- {% data reusables.copilot.byok-intro %} diff --git a/content/copilot/how-tos/administer-copilot/manage-mcp-usage/configure-mcp-registry.md b/content/copilot/how-tos/administer-copilot/manage-mcp-usage/configure-mcp-registry.md index b4e4f8428580..7602ec4f652e 100644 --- a/content/copilot/how-tos/administer-copilot/manage-mcp-usage/configure-mcp-registry.md +++ b/content/copilot/how-tos/administer-copilot/manage-mcp-usage/configure-mcp-registry.md @@ -10,6 +10,9 @@ topics: - Enterprise shortTitle: Configure MCP registry contentType: how-tos +category: + - Configure Copilot + - Manage Copilot for a team --- ## Prerequisites diff --git a/content/copilot/how-tos/provide-context/use-mcp/change-mcp-registry.md b/content/copilot/how-tos/provide-context/use-mcp/change-mcp-registry.md index b583d57067b8..f7e28fa5d8e0 100644 --- a/content/copilot/how-tos/provide-context/use-mcp/change-mcp-registry.md +++ b/content/copilot/how-tos/provide-context/use-mcp/change-mcp-registry.md @@ -7,6 +7,8 @@ versions: feature: copilot defaultTool: jetbrains contentType: how-tos +category: + - Configure Copilot --- MCP registries for {% data variables.product.prodname_copilot_short %} in your IDE streamline the process of discovering and setting up MCP servers. By default, {% data variables.product.prodname_copilot_short %} uses the {% data variables.product.github %} MCP Registry, but you can configure your own MCP registry to customize the list of servers available in your environment. diff --git a/content/copilot/how-tos/provide-context/use-mcp/configure-toolsets.md b/content/copilot/how-tos/provide-context/use-mcp/configure-toolsets.md index d3166c21b8f3..a1aa4f36bb23 100644 --- a/content/copilot/how-tos/provide-context/use-mcp/configure-toolsets.md +++ b/content/copilot/how-tos/provide-context/use-mcp/configure-toolsets.md @@ -10,6 +10,8 @@ topics: redirect_from: - /copilot/how-tos/context/use-mcp/configure-toolsets contentType: how-tos +category: + - Configure Copilot --- The {% data variables.product.github %} MCP server includes default toolsets (`repos`, `issues`, and `pull_requests`) that are enabled automatically. You can customize toolset configuration by: diff --git a/content/copilot/how-tos/provide-context/use-mcp/enterprise-configuration.md b/content/copilot/how-tos/provide-context/use-mcp/enterprise-configuration.md index 4470411d4f8b..5defeb78a460 100644 --- a/content/copilot/how-tos/provide-context/use-mcp/enterprise-configuration.md +++ b/content/copilot/how-tos/provide-context/use-mcp/enterprise-configuration.md @@ -8,6 +8,8 @@ defaultTool: vscode topics: - Copilot contentType: how-tos +category: + - Configure Copilot --- The {% data variables.product.github %} MCP server can be configured to work with {% data variables.product.prodname_ghe_server %} and {% data variables.enterprise.data_residency %}. The configuration steps differ depending on whether you are using the remote or local MCP server. diff --git a/content/copilot/how-tos/set-up/set-up-a-dedicated-enterprise-for-copilot-business.md b/content/copilot/how-tos/set-up/set-up-a-dedicated-enterprise-for-copilot-business.md index 57ebd093574b..4960ac9f46e6 100644 --- a/content/copilot/how-tos/set-up/set-up-a-dedicated-enterprise-for-copilot-business.md +++ b/content/copilot/how-tos/set-up/set-up-a-dedicated-enterprise-for-copilot-business.md @@ -15,6 +15,9 @@ topics: - Accounts - Copilot shortTitle: Set up a dedicated enterprise +category: + - Configure Copilot + - Manage Copilot for a team --- You can create an enterprise account specifically for managing {% data variables.copilot.copilot_business_short %} licenses, without adopting {% data variables.product.prodname_enterprise %}. With this account, you will have access to enterprise-grade integrations with identity providers for authentication and provisioning, without needing to pay for {% data variables.product.prodname_enterprise %} licenses. See [AUTOTITLE](/copilot/concepts/about-enterprise-accounts-for-copilot-business). diff --git a/content/copilot/how-tos/troubleshoot-copilot/troubleshoot-common-issues.md b/content/copilot/how-tos/troubleshoot-copilot/troubleshoot-common-issues.md index 94cd025ce4a9..4be80d2b8dcf 100644 --- a/content/copilot/how-tos/troubleshoot-copilot/troubleshoot-common-issues.md +++ b/content/copilot/how-tos/troubleshoot-copilot/troubleshoot-common-issues.md @@ -15,6 +15,8 @@ redirect_from: - /copilot/how-tos/troubleshoot/troubleshooting-common-issues-with-github-copilot - /copilot/how-tos/troubleshoot/troubleshoot-common-issues contentType: how-tos +category: + - Troubleshooting Copilot --- diff --git a/content/copilot/how-tos/troubleshoot-copilot/troubleshoot-firewall-settings.md b/content/copilot/how-tos/troubleshoot-copilot/troubleshoot-firewall-settings.md index c6eb9665a51b..2530b50a5b9e 100644 --- a/content/copilot/how-tos/troubleshoot-copilot/troubleshoot-firewall-settings.md +++ b/content/copilot/how-tos/troubleshoot-copilot/troubleshoot-firewall-settings.md @@ -13,6 +13,8 @@ redirect_from: - /copilot/how-tos/troubleshoot/troubleshooting-firewall-settings-for-github-copilot - /copilot/how-tos/troubleshoot/troubleshoot-firewall-settings contentType: how-tos +category: + - Troubleshooting Copilot --- ## About the problem diff --git a/content/copilot/how-tos/troubleshoot-copilot/troubleshoot-network-errors.md b/content/copilot/how-tos/troubleshoot-copilot/troubleshoot-network-errors.md index 94a96a788d82..51748b4eacd8 100644 --- a/content/copilot/how-tos/troubleshoot-copilot/troubleshoot-network-errors.md +++ b/content/copilot/how-tos/troubleshoot-copilot/troubleshoot-network-errors.md @@ -14,6 +14,8 @@ versions: feature: copilot shortTitle: Troubleshoot network errors contentType: how-tos +category: + - Troubleshooting Copilot --- If you're working on company equipment and connecting to a corporate network, you may be connecting to the Internet via a VPN or an HTTP proxy server. In some cases, these types of network setups may prevent {% data variables.product.prodname_copilot %} from connecting to {% data variables.product.prodname_dotcom %}'s server. For more information about the options for setting up proxies with {% data variables.product.prodname_copilot %}, see [AUTOTITLE](/copilot/configuring-github-copilot/configuring-network-settings-for-github-copilot). diff --git a/content/copilot/how-tos/troubleshoot-copilot/troubleshoot-spark.md b/content/copilot/how-tos/troubleshoot-copilot/troubleshoot-spark.md index 8ea5edac6b98..0ea0b201d1d0 100644 --- a/content/copilot/how-tos/troubleshoot-copilot/troubleshoot-spark.md +++ b/content/copilot/how-tos/troubleshoot-copilot/troubleshoot-spark.md @@ -7,6 +7,8 @@ topics: - Copilot shortTitle: Troubleshoot Spark contentType: how-tos +category: + - Troubleshooting Copilot --- ## Error: "Live preview is interrupted. Try refreshing the page to reconnect." diff --git a/content/copilot/how-tos/troubleshoot-copilot/view-logs.md b/content/copilot/how-tos/troubleshoot-copilot/view-logs.md index f09afe0540aa..b6d2e304a5b5 100644 --- a/content/copilot/how-tos/troubleshoot-copilot/view-logs.md +++ b/content/copilot/how-tos/troubleshoot-copilot/view-logs.md @@ -18,6 +18,8 @@ versions: feature: copilot shortTitle: View logs contentType: how-tos +category: + - Troubleshooting Copilot --- {% jetbrains %} diff --git a/content/copilot/how-tos/use-copilot-agents/coding-agent/create-custom-agents.md b/content/copilot/how-tos/use-copilot-agents/coding-agent/create-custom-agents.md index 99ddf1d4e888..cab507467e25 100644 --- a/content/copilot/how-tos/use-copilot-agents/coding-agent/create-custom-agents.md +++ b/content/copilot/how-tos/use-copilot-agents/coding-agent/create-custom-agents.md @@ -7,6 +7,9 @@ versions: feature: copilot topics: - Copilot +category: + - Configure Copilot + - Author and optimize with Copilot --- {% data variables.copilot.custom_agents_caps_short %} allow you to create specialized agents with tailored expertise for specific tasks. For a conceptual overview of {% data variables.copilot.custom_agents_short %}, see [AUTOTITLE](/copilot/concepts/agents/coding-agent/about-custom-agents). diff --git a/content/copilot/how-tos/use-copilot-agents/coding-agent/integrate-coding-agent-with-linear.md b/content/copilot/how-tos/use-copilot-agents/coding-agent/integrate-coding-agent-with-linear.md index 5a333a1cc481..58f775a1db13 100644 --- a/content/copilot/how-tos/use-copilot-agents/coding-agent/integrate-coding-agent-with-linear.md +++ b/content/copilot/how-tos/use-copilot-agents/coding-agent/integrate-coding-agent-with-linear.md @@ -7,6 +7,8 @@ versions: topics: - Copilot contentType: how-tos +category: + - Integrate Copilot with your tools --- > [!NOTE] diff --git a/content/copilot/how-tos/use-copilot-agents/coding-agent/integrate-coding-agent-with-slack.md b/content/copilot/how-tos/use-copilot-agents/coding-agent/integrate-coding-agent-with-slack.md index 220c5016736e..faff8eb32cc4 100644 --- a/content/copilot/how-tos/use-copilot-agents/coding-agent/integrate-coding-agent-with-slack.md +++ b/content/copilot/how-tos/use-copilot-agents/coding-agent/integrate-coding-agent-with-slack.md @@ -5,6 +5,8 @@ intro: 'Provide context to the {% data variables.product.prodname_copilot_short versions: feature: copilot contentType: how-tos +category: + - Integrate Copilot with your tools --- > [!NOTE] diff --git a/content/copilot/how-tos/use-copilot-agents/coding-agent/make-changes-to-an-existing-pr.md b/content/copilot/how-tos/use-copilot-agents/coding-agent/make-changes-to-an-existing-pr.md index 22941dd26cbe..1c587a32fb8f 100644 --- a/content/copilot/how-tos/use-copilot-agents/coding-agent/make-changes-to-an-existing-pr.md +++ b/content/copilot/how-tos/use-copilot-agents/coding-agent/make-changes-to-an-existing-pr.md @@ -9,6 +9,8 @@ versions: topics: - Copilot contentType: how-tos +category: + - Author and optimize with Copilot --- > [!NOTE] diff --git a/content/copilot/how-tos/use-copilot-agents/coding-agent/test-custom-agents.md b/content/copilot/how-tos/use-copilot-agents/coding-agent/test-custom-agents.md index ccdf4c74d999..152a40a3e56f 100644 --- a/content/copilot/how-tos/use-copilot-agents/coding-agent/test-custom-agents.md +++ b/content/copilot/how-tos/use-copilot-agents/coding-agent/test-custom-agents.md @@ -7,6 +7,9 @@ topics: - Copilot shortTitle: Test custom agents contentType: how-tos +category: + - Configure Copilot + - Manage Copilot for a team --- {% data reusables.copilot.custom-agents-preview-note %} diff --git a/content/copilot/how-tos/use-copilot-agents/manage-agents.md b/content/copilot/how-tos/use-copilot-agents/manage-agents.md index bd1bacc61e3e..856121c52ea8 100644 --- a/content/copilot/how-tos/use-copilot-agents/manage-agents.md +++ b/content/copilot/how-tos/use-copilot-agents/manage-agents.md @@ -8,6 +8,8 @@ versions: topics: - Copilot contentType: how-tos +category: + - Author and optimize with Copilot --- {% data reusables.copilot.coding-agent.agent-management-intro %} diff --git a/content/copilot/reference/agentic-audit-log-events.md b/content/copilot/reference/agentic-audit-log-events.md index efe042df3be0..8d422a838f3b 100644 --- a/content/copilot/reference/agentic-audit-log-events.md +++ b/content/copilot/reference/agentic-audit-log-events.md @@ -8,6 +8,8 @@ versions: topics: - Copilot contentType: reference +category: + - Learn about Copilot --- You can apply the `actor:Copilot` filter to your enterprise audit log to view agentic activity over the last 180 days. The following key fields can help you interpret agentic events: diff --git a/content/copilot/reference/copilot-feature-matrix.md b/content/copilot/reference/copilot-feature-matrix.md index d6f1c02b4848..988d1e7e6f38 100644 --- a/content/copilot/reference/copilot-feature-matrix.md +++ b/content/copilot/reference/copilot-feature-matrix.md @@ -5,6 +5,8 @@ versions: feature: copilot topics: - Copilot +category: + - Learn about Copilot --- > [!NOTE] diff --git a/content/copilot/reference/copilot-usage-metrics/copilot-usage-metrics.md b/content/copilot/reference/copilot-usage-metrics/copilot-usage-metrics.md index d9962ce915a8..54bc54036eaf 100644 --- a/content/copilot/reference/copilot-usage-metrics/copilot-usage-metrics.md +++ b/content/copilot/reference/copilot-usage-metrics/copilot-usage-metrics.md @@ -11,6 +11,8 @@ type: reference topics: - Copilot - Enterprise +category: + - Manage Copilot for a team --- {% data reusables.copilot.usage-metrics-preview %} diff --git a/content/copilot/reference/copilot-usage-metrics/interpret-copilot-metrics.md b/content/copilot/reference/copilot-usage-metrics/interpret-copilot-metrics.md index f8be6b21d698..73b3336a07db 100644 --- a/content/copilot/reference/copilot-usage-metrics/interpret-copilot-metrics.md +++ b/content/copilot/reference/copilot-usage-metrics/interpret-copilot-metrics.md @@ -12,6 +12,8 @@ allowTitleToDifferFromFilename: true redirect_from: - /early-access/copilot-metrics/dashboards/interpreting-the-metrics - /copilot/reference/interpret-copilot-metrics +category: + - Manage Copilot for a team --- >[!NOTE] The {% data variables.product.prodname_copilot_short %} usage metrics dashboard is currently in {% data variables.release-phases.public_preview %} and subject to change. diff --git a/content/copilot/reference/copilot-usage-metrics/lines-of-code-metrics.md b/content/copilot/reference/copilot-usage-metrics/lines-of-code-metrics.md index c2c95b04f9d7..e74f89a775bd 100644 --- a/content/copilot/reference/copilot-usage-metrics/lines-of-code-metrics.md +++ b/content/copilot/reference/copilot-usage-metrics/lines-of-code-metrics.md @@ -12,6 +12,8 @@ topics: - Copilot contentType: reference allowTitleToDifferFromFilename: true +category: + - Manage Copilot for a team --- {% data reusables.copilot.usage-metrics-preview %} diff --git a/content/copilot/reference/copilot-usage-metrics/reconciling-usage-metrics.md b/content/copilot/reference/copilot-usage-metrics/reconciling-usage-metrics.md index 346b57db7208..f26e8a40d736 100644 --- a/content/copilot/reference/copilot-usage-metrics/reconciling-usage-metrics.md +++ b/content/copilot/reference/copilot-usage-metrics/reconciling-usage-metrics.md @@ -12,6 +12,8 @@ allowTitleToDifferFromFilename: true redirect_from: - /early-access/copilot-metrics/dashboards/best-practices-for-correlating-usage-metrics - /copilot/reference/reconciling-usage-metrics +category: + - Manage Copilot for a team --- {% data reusables.copilot.usage-metrics-preview %} diff --git a/content/copilot/reference/custom-agents-configuration.md b/content/copilot/reference/custom-agents-configuration.md index 73426f40da34..5cbe431f5136 100644 --- a/content/copilot/reference/custom-agents-configuration.md +++ b/content/copilot/reference/custom-agents-configuration.md @@ -7,6 +7,8 @@ versions: topics: - Copilot contentType: reference +category: + - Configure Copilot --- This reference article provides detailed configuration information for {% data variables.copilot.custom_agents_short %}. For general information about creating {% data variables.copilot.custom_agents_short %}, see [AUTOTITLE](/copilot/how-tos/use-copilot-agents/coding-agent/create-custom-agents). diff --git a/content/copilot/reference/custom-instructions-support.md b/content/copilot/reference/custom-instructions-support.md index 1a17ca3c1716..c0cd9d833630 100644 --- a/content/copilot/reference/custom-instructions-support.md +++ b/content/copilot/reference/custom-instructions-support.md @@ -7,6 +7,8 @@ versions: topics: - Copilot contentType: reference +category: + - Learn about Copilot --- This reference article provides details of which types of custom instructions are supported in various environments. For more information about the various types of custom instructions for {% data variables.product.prodname_copilot %}, see [AUTOTITLE](/copilot/concepts/prompting/response-customization). diff --git a/content/copilot/reference/hooks-configuration.md b/content/copilot/reference/hooks-configuration.md index d2cb6d07e626..d6c956f2084b 100644 --- a/content/copilot/reference/hooks-configuration.md +++ b/content/copilot/reference/hooks-configuration.md @@ -7,6 +7,8 @@ versions: topics: - Copilot contentType: reference +category: + - Configure Copilot --- This reference article describes the available hook types with examples, including their input and output formats, script best practices, and advanced patterns for logging, security enforcement, and external integrations. For general information about creating hooks, see [AUTOTITLE](/copilot/how-tos/use-copilot-agents/coding-agent/use-hooks). diff --git a/content/copilot/reference/mcp-allowlist-enforcement.md b/content/copilot/reference/mcp-allowlist-enforcement.md index 2d69575f6164..cb9d4d4a6d48 100644 --- a/content/copilot/reference/mcp-allowlist-enforcement.md +++ b/content/copilot/reference/mcp-allowlist-enforcement.md @@ -6,6 +6,8 @@ versions: topics: - Copilot contentType: reference +category: + - Learn about Copilot --- ## Current enforcement limitations From df525ea4a1313edbe84f9e5f2aace23a84cfb8c9 Mon Sep 17 00:00:00 2001 From: hubwriter Date: Mon, 2 Feb 2026 17:25:51 +0000 Subject: [PATCH 4/4] Add getting started and best practices articles for Copilot CLI (#59405) Co-authored-by: Siara <108543037+SiaraMist@users.noreply.github.com> --- .../how-tos/copilot-cli/cli-best-practices.md | 445 ++++++++++++++++++ .../copilot-cli/cli-getting-started.md | 123 +++++ content/copilot/how-tos/copilot-cli/index.md | 3 +- .../reference/cli-command-reference.md | 148 ++++++ content/copilot/reference/index.md | 1 + data/code-languages.yml | 2 +- package-lock.json | 45 +- 7 files changed, 749 insertions(+), 18 deletions(-) create mode 100644 content/copilot/how-tos/copilot-cli/cli-best-practices.md create mode 100644 content/copilot/how-tos/copilot-cli/cli-getting-started.md create mode 100644 content/copilot/reference/cli-command-reference.md diff --git a/content/copilot/how-tos/copilot-cli/cli-best-practices.md b/content/copilot/how-tos/copilot-cli/cli-best-practices.md new file mode 100644 index 000000000000..a6902af66bf9 --- /dev/null +++ b/content/copilot/how-tos/copilot-cli/cli-best-practices.md @@ -0,0 +1,445 @@ +--- +title: Best practices for GitHub Copilot CLI +shortTitle: Copilot CLI best practices +intro: 'Learn how to get the most out of {% data variables.copilot.copilot_cli %}.' +allowTitleToDifferFromFilename: true +versions: + feature: copilot +topics: + - Copilot +contentType: get-started +category: + - Learn about Copilot + - Author and optimize with Copilot +--- + +## Introduction + +{% data variables.copilot.copilot_cli %} is a terminal-native AI coding assistant that brings agentic capabilities directly to your command line. {% data variables.copilot.copilot_cli_short %} can operate like a chatbot, answering your questions, but its true power lies in its ability to work autonomously as your coding partner, allowing you to delegate tasks and oversee its work. + +This article provides tips for getting the most out of {% data variables.copilot.copilot_cli_short %}, from using the various CLI commands effectively to managing the CLI's access to files. Consider these tips as starting points, then experiment to find out what works best for your workflows. + +> [!NOTE] +> {% data variables.copilot.copilot_cli %} is continually evolving. Use the `/help` command to see the most up to date information. + +## 1. Customize your environment + +### Use custom instructions files + +{% data variables.copilot.copilot_cli_short %} automatically reads instructions from multiple locations, allowing you to define organization-wide standards and repository-specific conventions. + +**Supported locations (in order of discovery):** + +| Location | Scope | +|---------------------------------------------|-----------------------| +| `~/.copilot/copilot-instructions.md` | All sessions (global) | +| `.github/copilot-instructions.md` | Repository | +| `.github/instructions/**/*.instructions.md` | Repository (modular) | +| `AGENTS.md` (in Git root or cwd) | Repository | +| `{% data variables.product.prodname_copilot_short %}.md`, `GEMINI.md`, `CODEX.md` | Repository | + +#### Best practice + +Repository instructions **always take precedence** over global instructions. Use this to enforce team conventions. For example, this is a simple `.github/copilot-instructions.md` file. + +```markdown +## Build Commands +- `npm run build` - Build the project +- `npm run test` - Run all tests +- `npm run lint:fix` - Fix linting issues + +## Code Style +- Use TypeScript strict mode +- Prefer functional components over class components +- Always add JSDoc comments for public APIs + +## Workflow +- Run `npm run lint:fix && npm test` after making changes +- Commit messages follow conventional commits format +- Create feature branches from `main` +``` + +> [!TIP] +> Keep instructions concise and actionable. Lengthy instructions can dilute effectiveness. + +For more information, see [AUTOTITLE](/copilot/concepts/prompting/response-customization?tool=webui). + +### Configure allowed tools + +Manage which tools {% data variables.product.prodname_copilot_short %} can run without asking for permission. When {% data variables.product.prodname_copilot_short %} requests permission for an action, you can choose to **Allow once**, or **Always allow** to add the tool to your allowlist for this and future sessions. + +To reset previously approved tools, use: + +```copilot +/reset-allowed-tools +``` + +You can also preconfigure allowed tools via CLI flags: + +```bash +copilot --allow-tool 'shell(git:*)' --deny-tool 'shell(git push)' +``` + +**Common permission patterns:** + +* `shell(git:*)` — Allow all Git commands +* `shell(npm run:*)` — Allow all npm scripts +* `shell(npm run test:*)` — Allow npm test commands +* `write` — Allow file writes + +### Select your preferred model + +Use `/model` to choose from available models based on your task complexity: + +| Model | Best For | Tradeoffs | +| ----- | -------- | --------- | +| **Claude Opus 4.5** (default) | Complex architecture, difficult debugging, nuanced refactoring | Most capable but uses more [premium requests](/copilot/concepts/billing/copilot-requests#model-multipliers) | +| **Claude Sonnet 4.5** | Day-to-day coding, most routine tasks | Fast, cost-effective, handles most work well | +| **GPT-5.2 Codex** | Code generation, code review, straightforward implementations | Excellent for reviewing code produced by other models | + +**Recommendations:** + +* **Opus 4.5** is ideal for tasks requiring deep reasoning, complex system design, subtle bug investigation, or extensive context understanding. +* **Switch to Sonnet 4.5** for routine tasks where speed and cost efficiency matter—it handles the majority of everyday coding effectively. +* **Use Codex** for high-volume code generation and as a second opinion for reviewing code produced by other models. + +You can switch models mid-session with `/model` as task complexity changes. + +## 2. Plan before you code + +### Plan mode + +**Models achieve higher success rates when given a concrete plan to follow.** In plan mode, {% data variables.product.prodname_copilot_short %} will create a structured implementation plan before any code is written. + +Press Shift+Tab to toggle between normal mode and plan mode. In plan mode, all prompts you enter will trigger the plan workflow. + +Alternatively, you can use the `/plan` command in normal mode to achieve the same effect. + +**Example prompt (from normal mode):** + +```copilot +/plan Add OAuth2 authentication with Google and GitHub providers +``` + +**What happens:** + +* {% data variables.product.prodname_copilot_short %} analyzes your request and codebase. +* **Asks clarifying questions** to align on requirements and approach. +* Creates a structured implementation plan with checkboxes. +* Saves the plan to `plan.md` in your session folder. +* **Waits for your approval** before implementing. + +You can press Ctrl+y to view and edit the plan in your default editor for Markdown files. + +**Example plan output:** + +```markdown +# Implementation Plan: OAuth2 Authentication + +## Overview +Add social authentication using OAuth2 with Google and GitHub providers. + +## Tasks +- [ ] Install dependencies (passport, passport-google-oauth20, passport-github2) +- [ ] Create authentication routes in `/api/auth` +- [ ] Implement passport strategies for each provider +- [ ] Add session management middleware +- [ ] Create login/logout UI components +- [ ] Add environment variables for OAuth credentials +- [ ] Write integration tests + +## Detailed Steps +1. **Dependencies**: Add to package.json... +2. **Routes**: Create `/api/auth/google` and `/api/auth/github`... +``` + +### When to use plan mode + +| Scenario | Use plan mode? | +| ---------------------------------- | ------------ | +| Complex multi-file changes | {% octicon "check" aria-label="Yes" %} | +| Refactoring with many touch points | {% octicon "check" aria-label="Yes" %} | +| New feature implementation | {% octicon "check" aria-label="Yes" %} | +| Quick bug fixes | {% octicon "x" aria-label="No" %} | +| Single file changes | {% octicon "x" aria-label="No" %} | + +### The explore → plan → code → commit workflow + +For best results on complex tasks: + +* **Explore**: + + `Read the authentication files but don't write code yet` + +* **Plan**: + + `/plan Implement password reset flow` + +* **Review**: + + Check the plan, suggest modifications + +* **Implement**: + + `Proceed with the plan` + +* **Verify**: + + `Run the tests and fix any failures` + +* **Commit**: + + `Commit these changes with a descriptive message` + +## 3. Leverage infinite sessions + +### Automatic context window management + +{% data variables.copilot.copilot_cli_short %} features **infinite sessions**. You don't need to worry about running out of context. The system automatically manages context through intelligent compaction that summarizes conversation history while preserving essential information. + +**Session storage location:** + +```copilot +~/.copilot/session-state/{session-id}/ +├── events.jsonl # Full session history +├── workspace.yaml # Metadata +├── plan.md # Implementation plan (if created) +├── checkpoints/ # Compaction history +└── files/ # Persistent artifacts +``` + +> [!NOTE] +> If you ever need to manually trigger compaction, use `/compact`. This is rarely necessary since the system handles it automatically. + +### Session management commands + +```bash +# View session info +/session + +# View checkpoint history +/session checkpoints + +# View files in session +/session files + +# View current plan +/session plan +``` + +### Best practice: Keep sessions focused + +While infinite sessions allow long-running work, focused sessions produce better results: + +* Use `/clear` or `/new` between unrelated tasks. +* This resets context and improves response quality. +* Think of it like starting a fresh conversation with a colleague. + +### The `/context` command + +Visualize your current context usage with `/context`. It shows a breakdown of: + +* System/tools tokens +* Message history tokens +* Available free space +* Buffer allocation + +## 4. Delegate work effectively + +### The `/delegate` command + +**Offload work to run in the cloud using {% data variables.copilot.copilot_coding_agent %}.** This is particularly powerful for: + +* Tasks that can run asynchronously. +* Changes to other repositories. +* Long-running operations you don't want to wait for. + +**Example prompt:** + +```copilot +/delegate Add dark mode support to the settings page +``` + +**What happens:** + +* Your request is sent to {% data variables.copilot.copilot_coding_agent %}. +* The agent creates a pull request with the changes. +* You can continue working locally while the cloud agent works. + +### When to use `/delegate` + +| Use `/delegate` | Work locally | +|------------------------------|-------------------------| +| Tangential tasks | Core feature work | +| Documentation updates | Debugging | +| Refactoring separate modules | Interactive exploration | + +## 5. Common workflows + +### Codebase onboarding + +Use {% data variables.copilot.copilot_cli_short %} as your pair programming partner when joining a new project. For example, you could ask {% data variables.product.prodname_copilot_short %}: + +* `How is logging configured in this project?` +* `What's the pattern for adding a new API endpoint?` +* `Explain the authentication flow` +* `Where are the database migrations?` + +### Test-driven development + +Pair with {% data variables.copilot.copilot_cli_short %} to develop tests. + +* `Write failing tests for the user registration flow` +* *Review and approve the tests.* +* `Now implement code to make all tests pass` +* *Review the implementation.* +* `Commit with message "feat: add user registration"` + +### Code review assistance + +* ``/review Use Opus 4.5 and Codex 5.2 to review the changes in my current branch against `main`. Focus on potential bugs and security issues.`` + +### Git operations + +{% data variables.product.prodname_copilot_short %} excels at Git workflows: + +* ``What changes went into version `2.3.0`?`` +* `Create a PR for this branch with a detailed description` +* ``Rebase this branch against `main` `` +* ``Resolve the merge conflicts in `package.json` `` + +### Bug investigation + +* ``The `/api/users` endpoint returns 500 errors intermittently. Search the codebase and logs to identify the root cause.`` + +### Refactoring + +* `/plan Migrate all class components to functional components with hooks` + + Then answer the questions {% data variables.product.prodname_copilot_short %} asks. Review the plan it creates, and ask {% data variables.product.prodname_copilot_short %} to make changes if necessary. When you are happy with the plan you can prompt: + + `Implement this plan` + +## 6. Advanced patterns + +### Work across multiple repositories + +**{% data variables.copilot.copilot_cli_short %} provides flexible multi-repository workflows**—a key differentiator for teams working on microservices, monorepos, or related projects. + +**Option 1: Run from a parent directory** + +```bash +# Navigate to a parent directory containing multiple repos +cd ~/projects +copilot +``` + +{% data variables.product.prodname_copilot_short %} can now access and work across all child repositories simultaneously. This is ideal for: + +* Microservices architectures +* Making coordinated changes across related repos +* Refactoring shared patterns across projects + +**Option 2: Use `/add-dir` to expand access** + +```bash +# Start in one repo, then add others (requires full paths) +copilot +/add-dir /Users/me/projects/backend-service +/add-dir /Users/me/projects/shared-libs +/add-dir /Users/me/projects/documentation +``` + +**View and manage allowed directories:** + +```bash +/list-dirs +``` + +**Example workflow: coordinated API changes** + +```bash +I need to update the user authentication API. The changes span: + +- @/Users/me/projects/api-gateway (routing changes) +- @/Users/me/projects/auth-service (core logic) +- @/Users/me/projects/frontend (client updates) + +Start by showing me the current auth flow across all three repos. +``` + +This multi-repository capability enables: + +* Cross-cutting refactors (update a shared pattern everywhere) +* API contract changes with client updates +* Documentation that references multiple codebases +* Dependency upgrades across a monorepo + +### Using images for UI work + +{% data variables.product.prodname_copilot_short %} can work with visual references. Simply **drag and drop** images directly into the CLI input, or reference image files: + +```bash +Implement this design: @mockup.png +Match the layout and spacing exactly +``` + +### Checklists for complex migrations + +For large-scale changes: + +```bash +Run the linter and write all errors to `migration-checklist.md` as a checklist. +Then fix each issue one by one, checking them off as you go. +``` + +## 7. Team guidelines + +### Recommended repository setup + +* **Create `.github/copilot-instructions.md`** with: + * Build and test commands + * Code style guidelines + * Required checks before commits + * Architecture decisions + +* **Establish conventions** for: + * When to use `/plan` (complex features, refactoring) + * When to use `/delegate` (tangential work) + * Code review processes with AI assistance + +### Security considerations + +* {% data variables.copilot.copilot_cli_short %} requires explicit approval for potentially destructive operations. +* Review all proposed changes before accepting. +* Use permission allowlists judiciously. +* Never commit secrets. {% data variables.product.prodname_copilot_short %} is designed to avoid this, but always verify. + +### Measuring productivity + +Track metrics like: + +* Time from issue to pull request +* Number of iterations before merge +* Code review feedback cycles +* Test coverage improvements + +### Getting help + +```bash +# In-CLI help +/help + +# View usage statistics +/usage + +# Submit feedback +/feedback +``` + +## Further reading + +* [AUTOTITLE](/copilot/concepts/agents/about-copilot-cli) +* [AUTOTITLE](/copilot/how-tos/use-copilot-agents/use-copilot-cli) +* [AUTOTITLE](/copilot/reference/cli-command-reference) +* [{% data variables.product.prodname_copilot_short %} plans and pricing](https://github.com/features/copilot/plans) diff --git a/content/copilot/how-tos/copilot-cli/cli-getting-started.md b/content/copilot/how-tos/copilot-cli/cli-getting-started.md new file mode 100644 index 000000000000..429fa006346c --- /dev/null +++ b/content/copilot/how-tos/copilot-cli/cli-getting-started.md @@ -0,0 +1,123 @@ +--- +title: Getting started with GitHub Copilot CLI +shortTitle: Copilot CLI quickstart +intro: 'Quickly learn how to use {% data variables.copilot.copilot_cli %}.' +allowTitleToDifferFromFilename: true +versions: + feature: copilot +topics: + - Copilot +contentType: get-started +category: + - Learn about Copilot + - Author and optimize with Copilot +--- + +## Introduction + +{% data variables.copilot.copilot_cli %} is a powerful terminal-native AI coding assistant that brings agentic capabilities directly to your command line. The {% data variables.copilot.copilot_cli_short %} offers deep flexibility, {% data variables.product.github %} workflow integration, and the ability to work autonomously on complex tasks while maintaining full user control. + +This guide will help you start using the CLI. + +## Installation + +Use one of these commands: + +* **Cross-platform (npm)** + + ```bash copy + npm install -g @github/copilot + ``` + +* **Windows (WinGet)** + + ```bash copy + winget install GitHub.Copilot + ``` + +* **macOS/Linux (Homebrew)** + + ```bash copy + brew install copilot-cli + ``` + +## Starting the CLI for the first time + +1. In the terminal, navigate to the project directory where you want to use {% data variables.copilot.copilot_cli_short %}. +1. Start an interactive CLI session: + + ```bash + copilot + ``` + +1. In the CLI interface, enter `/login` and follow the on-screen prompts to authenticate with your {% data variables.product.github %} account. + + You'll only have to do this the first time you use the CLI. + +1. When prompted, confirm that you trust that the files in the current directory are suitable for use with an AI tool. + + > [!NOTE] + > {% data variables.product.prodname_copilot_short %} won't make changes to your files without your explicit approval. + +1. Try asking {% data variables.product.prodname_copilot_short %} a question, for example: + + ```copilot copy + Give me an overview of this project. + ``` + +## Core shortcuts to master + +| Shortcut | Action | +| -------- | ------ | +| Esc | Cancel the current operation | +| Ctrl+C | Cancel if thinking, clear input, or exit | +| Ctrl+L | Clear the screen | +| `@` | Mention files to include in context | +| `/` | Show slash commands | +| and | Navigate the command history | + +For a full list of shortcuts and available commands, enter: + +```bash +/help +``` + +## Using {% data variables.copilot.copilot_cli %} non-interactively + +You can also enter a command and get a response from {% data variables.product.prodname_copilot_short %} directly in your terminal, without starting an interactive session. + +To do this, pass a prompt to the CLI with the `-p` flag. For example: + +```bash +copilot -p "In Git, how can I apply a commit from another branch" +``` + +The `-p` flag allows you to use {% data variables.copilot.copilot_cli %} programmatically within scripts, for example to automate tasks using AI. + +You can add the `-s` flag to tell the CLI to output only {% data variables.product.prodname_copilot_short %}'s response, omitting the additional usage information. + +```bash +copilot -sp "YOUR PROMPT HERE" +``` + +For details of other flags you can use programmatically, and for more information, enter: + +```bash +copilot help +``` + +or: + +```bash +copilot help TOPIC +``` + +where TOPIC is one of the topics listed in the help output. + +## Next steps + +Find out more about {% data variables.copilot.copilot_cli_short %}: + +* [AUTOTITLE](/copilot/concepts/agents/about-copilot-cli) +* [AUTOTITLE](/copilot/how-tos/use-copilot-agents/use-copilot-cli) +* [AUTOTITLE](/copilot/how-tos/copilot-cli/cli-best-practices) diff --git a/content/copilot/how-tos/copilot-cli/index.md b/content/copilot/how-tos/copilot-cli/index.md index 88abbde343fc..07fb025c3ae2 100644 --- a/content/copilot/how-tos/copilot-cli/index.md +++ b/content/copilot/how-tos/copilot-cli/index.md @@ -5,10 +5,11 @@ intro: Learn how to use {% data variables.product.prodname_copilot %} in your te versions: feature: copilot children: + - /cli-getting-started + - /cli-best-practices - /install-copilot-cli - /add-repository-instructions - /use-hooks - /use-copilot-cli contentType: how-tos --- - diff --git a/content/copilot/reference/cli-command-reference.md b/content/copilot/reference/cli-command-reference.md new file mode 100644 index 000000000000..f083f41ee392 --- /dev/null +++ b/content/copilot/reference/cli-command-reference.md @@ -0,0 +1,148 @@ +--- +title: GitHub Copilot CLI command reference +shortTitle: CLI command reference +intro: 'Find commands and keyboard shortcuts to help you use {% data variables.copilot.copilot_cli_short %} effectively.' +versions: + feature: copilot +category: + - Author and optimize with Copilot +topics: + - Copilot +contentType: reference +--- + +## Command-line commands + +| Command | Purpose | +|------------------------|----------------------------------------------------| +| `copilot` | Launch interactive mode. | +| `copilot help [topic]` | Display help information. Help topics include: `config`, `commands`, `environment`, `logging`, and `permissions`. | +| `copilot init` | Initialize {% data variables.product.prodname_copilot_short %} custom instructions for this repository. | +| `copilot update` | Download and install the latest version. | +| `copilot version` | Display version information and check for updates. | +| `copilot plugin` | Manage plugins and plugin marketplaces. | + +## Global shortcuts in interactive mode + +| Shortcut | Purpose | +|-------------------------------------|---------------------------------------| +| `@ FILENAME` | Include file contents in the context. | +| Ctrl+X then `/` | After you have started typing a prompt, this allows you to run a slash command—for example, if you want to change the model without having to retype your prompt. | +| Esc | Cancel the current operation. | +| `! COMMAND` | Execute a command in your local shell, bypassing {% data variables.product.prodname_copilot_short %}. | +| Ctrl+C | Cancel operation / clear input. Press twice to exit. | +| Ctrl+D | Shutdown. | +| Ctrl+L | Clear the screen. | + +## Timeline shortcuts in interactive mode + +| Shortcut | Purpose | +|-------------------------------------|---------------------------------------| +| ctrl+o | While there is not input, this expands recent items in {% data variables.product.prodname_copilot_short %}'s response timeline to show more details. | +| ctrl+e | While there is not input, this expands all items in {% data variables.product.prodname_copilot_short %}'s response timeline. | + +## Navigation shortcuts in interactive mode + +| Shortcut | Purpose | +|-------------------------------------|----------------------------------------------| +| Ctrl+A | Move to beginning of the line (when typing). | +| Ctrl+E | Move to end of the line (when typing). | +| Ctrl+H | Delete the previous character. | +| Ctrl+W | Delete the previous word. | +| Ctrl+U | Delete from cursor to beginning of the line. | +| Ctrl+K | Delete from cursor to end of the line. | +| Meta+/ | Move the cursor by a word. | +| / | Navigate the command history. | + + +## Slash commands in interactive mode + +| Command | Purpose | +|-----------------------------------------------------|---------| +| `/add-dir PATH` | Add a directory to the allowed list for file access. | +| `/agent` | Browse and select from available agents (if any). | +| `/allow-all`, `/yolo` | Enable all permissions (tools, paths, and URLs). | +| `/clear`, `/new` | Clear the conversation history. | +| `/compact` | Summarize the conversation history to reduce context window usage. | +| `/context` | Show the context window token usage and visualization. | +| `/cwd`, `/cd [PATH]` | Change the working directory or display the current directory. | +| `/delegate [PROMPT]` | Delegate changes to a remote repository with an AI-generated pull request. | +| `/diff` | Review the changes made in the current directory. | +| `/exit`, `/quit` | Exit the CLI. | +| `/experimental [on\|off]` | Toggle or turn on/off experimental features. | +| `/share [file\|gist] [PATH]` | Share the session to a Markdown file or GitHub gist. | +| `/feedback` | Provide feedback about the CLI. | +| `/help` | Show the help for interactive commands. | +| `/ide` | Connect to an IDE workspace. | +| `/init` | Initialize {% data variables.product.prodname_copilot_short %} custom instructions and agentic features for this repository. | +| `/list-dirs` | Display all of the directories for which file access has been allowed. | +| `/login` | Log in to {% data variables.product.prodname_copilot_short %}. | +| `/logout` | Log out of {% data variables.product.prodname_copilot_short %}. | +| `/lsp [show\|test\|reload\|help] [SERVER-NAME]` | Manage the language server configuration. | +| `/mcp [show\|add\|edit\|delete\|disable\|enable] [SERVER-NAME]` | Manage the MCP server configuration. | +| `/model`, `/models [MODEL]` | Select the AI model you want to use. | +| `/plan [PROMPT]` | Create an implementation plan before coding. | +| `/plugin [marketplace\|install\|uninstall\|update\|list] [ARGS...]` | Manage plugins and plugin marketplaces. | +| `/rename NAME` | Rename the current session (alias for `/session rename`). | +| `/reset-allowed-tools` | Reset the list of allowed tools. | +| `/resume [SESSION-ID]` | Switch to a different session (optionally specify a session ID). | +| `/review [PROMPT]` | Run the code review agent to analyze changes. | +| `/session [checkpoints [n]\|files\|plan\|rename NAME]` | Show session information and a workspace summary. Use the subcommands for details. | +| `/skills [list\|info\|add\|remove\|reload] [ARGS...]` | Manage skills for enhanced capabilities. | +| `/terminal-setup` | Configure the terminal for multiline input support (Shift+Enter and Ctrl+Enter). | +| `/theme [show\|set\|list] [auto\|THEME-ID]` | View or configure the terminal theme. | +| `/usage` | Display session usage metrics and statistics. | +| `/user [show\|list\|switch]` | Manage the current {% data variables.product.github %} user. | + +For a complete list of available slash commands enter `/help` in interactive mode. + +## Command-line options + +| Option | Purpose | +|------------------------------------|------------------------------------------| +| `--acp` | Start the Agent Client Protocol server. | +| `--add-dir PATH` | Add a directory to the allowed list for file access (can be used multiple times). | +| `--add-github-mcp-tool TOOL` | Add a tool to enable for the {% data variables.product.github %} MCP server, instead of the default CLI subset (can be used multiple times). Use `*` for all tools. | +| `--add-github-mcp-toolset TOOLSET` | Add a toolset to enable for the {% data variables.product.github %} MCP server, instead of the default CLI subset (can be used multiple times). Use `all` for all toolsets. | +| `--additional-mcp-config JSON` | Additional MCP servers configuration as a JSON string or a file path (prefix with `@`) (can be used multiple times). Augments the configuration from `~/.copilot/mcp-config.json` for this session. | +| `--agent AGENT` | Specify a custom agent to use. | +| `--allow-all` | Enable all permissions (equivalent to `--allow-all-tools --allow-all-paths --allow-all-urls`). | +| `--allow-all-paths` | Disable file path verification and allow access to any path. | +| `--allow-all-tools` | Allow all tools to run automatically without confirmation. Required for non-interactive mode (env: `COPILOT_ALLOW_ALL`). | +| `--allow-all-urls` | Allow access to all URLs without confirmation. | +| `--allow-tool [TOOLS...]` | Tools the CLI has permission to use. Will not prompt for permission. | +| `--allow-url [URLS...]` | Allow access to specific URLs or domains. | +| `--available-tools [TOOLS...]` | Only these tools will be available to the model. | +| `--banner` | Show the startup banner. | +| `--config-dir PATH` | Set the configuration directory (default: `~/.copilot`). | +| `--continue` | Resume the most recent session. | +| `--deny-tool [TOOLS...]` | Tools the CLI does not have permission to use. Will not prompt for permission. | +| `--deny-url [URLS...]` | Deny access to specific URLs or domains, takes precedence over `--allow-url`. | +| `--disable-builtin-mcps` | Disable all built-in MCP servers (currently: `github-mcp-server`). | +| `--disable-mcp-server SERVER-NAME` | Disable a specific MCP server (can be used multiple times). | +| `--disable-parallel-tools-execution` | Disable parallel execution of tools (LLM can still make parallel tool calls, but they will be executed sequentially). | +| `--disallow-temp-dir` | Prevent automatic access to the system temporary directory. | +| `--enable-all-github-mcp-tools` | Enable all {% data variables.product.github %} MCP server tools, instead of the default CLI subset. Overrides the `--add-github-mcp-toolset` and `--add-github-mcp-tool` options. | +| `--excluded-tools [TOOLS...]` | These tools will not be available to the model. | +| `--experimental` | Enable experimental features (use `--no-experimental` to disable). | +| `-h`, `--help` | Display help. | +| `-i PROMPT`, `--interactive PROMPT` | Start interactive mode and automatically execute this prompt. | +| `--log-dir DIRECTORY` | Set the log file directory (default: `~/.copilot/logs/`). | +| `--log-level LEVEL` | Set the log level (choices: `none`, `error`, `warning`, `info`, `debug`, `all`, `default`). | +| `--model MODEL` | Set the AI model you want to use. | +| `--no-ask-user` | Disable the `ask_user` tool (the agent works autonomously without asking questions). | +| `--no-auto-update` | Disable downloading CLI updates automatically. | +| `--no-color` | Disable all color output. | +| `--no-custom-instructions` | Disable loading of custom instructions from `AGENTS.md` and related files. | +| `-p PROMPT`, `--prompt PROMPT` | Execute a prompt in non-interactive mode (exits after completion). | +| `--plain-diff` | Disable rich diff rendering (syntax highlighting via the diff tool specified by your git config). | +| `--resume [SESSION-ID]` | Resume from a previous session (optionally specify a session ID). | +| `-s`, `--silent` | Output only the agent response (without usage statistics), useful for scripting with `-p`. | +| `--screen-reader` | Enable screen reader optimizations. | +| `--share [PATH]` | Share a session to a Markdown file after completion in non-interactive mode (default path: `./copilot-session-.md`). | +| `--share-gist` | Share a session to a secret {% data variables.product.github %} gist after completion in non-interactive mode. | +| `--stream MODE` | Enable or disable streaming mode (mode choices: `on` or `off`). | +| `-v`, `--version` | Show version information. | +| `--yolo` | Enable all permissions (equivalent to `--allow-all-tools --allow-all-paths --allow-all-urls`). | + +For a complete list of commands and options, run `copilot help`. diff --git a/content/copilot/reference/index.md b/content/copilot/reference/index.md index b60d775408d8..f1e42319f595 100644 --- a/content/copilot/reference/index.md +++ b/content/copilot/reference/index.md @@ -11,6 +11,7 @@ children: - /ai-models - /copilot-feature-matrix - /keyboard-shortcuts + - /cli-command-reference - /custom-agents-configuration - /acp-server - /hooks-configuration diff --git a/data/code-languages.yml b/data/code-languages.yml index f40c63a8cee5..5162abfb4f9f 100644 --- a/data/code-languages.yml +++ b/data/code-languages.yml @@ -8,7 +8,7 @@ bicep: name: Bicep comment: slash copilot: - name: Copilot Chat prompt + name: Copilot prompt comment: none csharp: name: C# diff --git a/package-lock.json b/package-lock.json index 3dff5c246fb6..adb77ee3929b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -301,7 +301,6 @@ "version": "2.3.0", "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", - "peer": true, "dependencies": { "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.24" @@ -487,7 +486,6 @@ "version": "7.23.3", "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.3.tgz", "integrity": "sha512-BmR4bWbDIoFJmJ9z2cZ8Gmm2MXgEDgjdWgpKmKWUt54UGFJdlj31ECtbaDvCG/qVdG3AQ1SfpZEs01lUFbzLOQ==", - "peer": true, "engines": { "node": ">=6.9.0" } @@ -525,14 +523,12 @@ "node_modules/@babel/core/node_modules/convert-source-map": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", - "peer": true + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==" }, "node_modules/@babel/core/node_modules/semver": { "version": "6.3.1", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "peer": true, "bin": { "semver": "bin/semver.js" } @@ -566,7 +562,6 @@ "version": "7.22.15", "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.15.tgz", "integrity": "sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw==", - "peer": true, "dependencies": { "@babel/compat-data": "^7.22.9", "@babel/helper-validator-option": "^7.22.15", @@ -582,7 +577,6 @@ "version": "5.1.1", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "peer": true, "dependencies": { "yallist": "^3.0.2" } @@ -591,7 +585,6 @@ "version": "6.3.1", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "peer": true, "bin": { "semver": "bin/semver.js" } @@ -599,8 +592,7 @@ "node_modules/@babel/helper-compilation-targets/node_modules/yallist": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "peer": true + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" }, "node_modules/@babel/helper-environment-visitor": { "version": "7.22.20", @@ -648,7 +640,6 @@ "version": "7.23.3", "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz", "integrity": "sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==", - "peer": true, "dependencies": { "@babel/helper-environment-visitor": "^7.22.20", "@babel/helper-module-imports": "^7.22.15", @@ -675,7 +666,6 @@ "version": "7.22.5", "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", - "peer": true, "dependencies": { "@babel/types": "^7.22.5" }, @@ -714,7 +704,6 @@ "version": "7.22.15", "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.15.tgz", "integrity": "sha512-bMn7RmyFjY/mdECUbgn9eoSY4vqvacUnS9i9vGAGttgFWesO6B4CYWA7XlpbWgBt71iv/hfbPlynohStqnu5hA==", - "peer": true, "engines": { "node": ">=6.9.0" } @@ -723,7 +712,6 @@ "version": "7.26.10", "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.26.10.tgz", "integrity": "sha512-UPYc3SauzZ3JGgj87GgZ89JVdC5dj0AoetR5Bw6wj4niittNyFh6+eOGonYvJ1ao6B8lEa3Q3klS7ADZ53bc5g==", - "peer": true, "dependencies": { "@babel/template": "^7.26.9", "@babel/types": "^7.26.10" @@ -2640,6 +2628,7 @@ "resolved": "https://registry.npmjs.org/@octokit/core/-/core-7.0.6.tgz", "integrity": "sha512-DhGl4xMVFGVIyMwswXeyzdL4uXD5OGILGX5N8Y+f6W7LhC1Ze2poSNrkF/fedpVDHEEZ+PHFW0vL14I+mm8K3Q==", "license": "MIT", + "peer": true, "dependencies": { "@octokit/auth-token": "^6.0.0", "@octokit/graphql": "^9.0.3", @@ -2940,6 +2929,7 @@ "resolved": "https://registry.npmjs.org/@opentelemetry/api/-/api-1.9.0.tgz", "integrity": "sha512-3giAOQvZiH5F9bMlMiv8+GSPMeqg0dbaeo58/0SlA9sxSqZhnUtxzX9/2FzyhS9sWQf5S0GJE0AKBrFqjpeYcg==", "license": "Apache-2.0", + "peer": true, "engines": { "node": ">=8.0.0" } @@ -3311,6 +3301,7 @@ "integrity": "sha512-vSMYtL/zOcFpvJCW71Q/OEGQb7KYBPAdKh35WNSkaZA75JlAO8ED8UN6GUNTm3drWomcbcqRPFqQbLae8yBTdg==", "devOptional": true, "license": "Apache-2.0", + "peer": true, "dependencies": { "playwright": "1.56.1" }, @@ -4134,6 +4125,7 @@ "integrity": "sha512-wGA0NX93b19/dZC1J18tKWVIYWyyF2ZjT9vin/NRu0qzzvfVzWjs04iq2rQ3H65vCTQYlRqs3YHfY7zjdV+9Kw==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@types/body-parser": "*", "@types/express-serve-static-core": "^5.0.0", @@ -4295,6 +4287,7 @@ "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.20.tgz", "integrity": "sha512-IPaCZN7PShZK/3t6Q87pfTkRm6oLTd4vztyoj+cbHUF1g3FfVb2tFIL79uCRKEfv16AhqDMBywP2VW3KIZUvcg==", "license": "MIT", + "peer": true, "dependencies": { "@types/prop-types": "*", "csstype": "^3.0.2" @@ -4306,6 +4299,7 @@ "integrity": "sha512-nf22//wEbKXusP6E9pfOCDwFdHAX4u172eaJI4YkDRQEZiorm6KfYnSC2SWLDMVWUOWPERmJnN0ujeAfTBLvrw==", "devOptional": true, "license": "MIT", + "peer": true, "peerDependencies": { "@types/react": "^18.0.0" } @@ -4476,6 +4470,7 @@ "integrity": "sha512-pUXGCuHnnKw6PyYq93lLRiZm3vjuslIy7tus1lIQTYVK9bL8XBgJnCWm8a0KcTtHC84Yya1Q6rtll+duSMj0dg==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@typescript-eslint/scope-manager": "8.39.1", "@typescript-eslint/types": "8.39.1", @@ -5121,6 +5116,7 @@ "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", "dev": true, "license": "MIT", + "peer": true, "bin": { "acorn": "bin/acorn" }, @@ -5150,6 +5146,7 @@ "version": "8.17.1", "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", + "peer": true, "dependencies": { "fast-deep-equal": "^3.1.3", "fast-uri": "^3.0.1", @@ -5715,6 +5712,7 @@ } ], "license": "MIT", + "peer": true, "dependencies": { "caniuse-lite": "^1.0.30001733", "electron-to-chromium": "^1.5.199", @@ -5996,6 +5994,7 @@ "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.12.tgz", "integrity": "sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==", "license": "MIT", + "peer": true, "dependencies": { "cheerio-select": "^2.1.0", "dom-serializer": "^2.0.0", @@ -7267,6 +7266,7 @@ "integrity": "sha512-TS9bTNIryDzStCpJN93aC5VRSW3uTx9sClUn4B87pwiCaJh220otoI0X8mJKr+VcPtniMdN8GKjlwgWGUv5ZKA==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.12.1", @@ -7328,6 +7328,7 @@ "integrity": "sha512-82GZUjRS0p/jganf6q1rEO25VSoHH0hKPCTrgillPjdI/3bgBhAE1QzHrHTizjpRvy6pGAvKjDJtk2pF9NDq8w==", "dev": true, "license": "MIT", + "peer": true, "bin": { "eslint-config-prettier": "bin/cli.js" }, @@ -7603,6 +7604,7 @@ "integrity": "sha512-whOE1HFo/qJDyX4SnXzP4N6zOWn79WhnCUY/iDR0mPfQZO8wcYE4JClzI2oZrhBnnMUCBCHZhO6VQyoBU95mZA==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@rtsao/scc": "^1.1.0", "array-includes": "^3.1.9", @@ -8798,7 +8800,6 @@ "node_modules/gensync": { "version": "1.0.0-beta.2", "license": "MIT", - "peer": true, "engines": { "node": ">=6.9.0" } @@ -9005,6 +9006,7 @@ "resolved": "https://registry.npmjs.org/graphql/-/graphql-16.9.0.tgz", "integrity": "sha512-GGTKBX4SD7Wdb8mqeDLni2oaRGYQWjWHGKPQ24ZMnUtKfcsVoiv4uX8+LJr1K6U5VW2Lu1BwJnj7uiori0YtRw==", "dev": true, + "peer": true, "engines": { "node": "^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0" } @@ -10377,6 +10379,7 @@ "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.6.1.tgz", "integrity": "sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==", "dev": true, + "peer": true, "bin": { "jiti": "lib/jiti-cli.mjs" } @@ -10503,7 +10506,6 @@ "node_modules/json5": { "version": "2.2.3", "license": "MIT", - "peer": true, "bin": { "json5": "lib/cli.js" }, @@ -13466,6 +13468,7 @@ "integrity": "sha512-hutraynyn31F+Bifme+Ps9Vq59hKuUCz7H1kDOcBs+2oGguKkWTU50bBWrtz34OUWmIwpBTWDxaRPXrIXkgvmQ==", "devOptional": true, "license": "Apache-2.0", + "peer": true, "bin": { "playwright-core": "cli.js" }, @@ -13529,6 +13532,7 @@ "integrity": "sha512-QQtaxnoDJeAkDvDKWCLiwIXkTgRhwYDEQCghU9Z6q03iyek/rxRh/2lC3HB7P8sWT2xC/y5JDctPLBIGzHKbhw==", "dev": true, "license": "MIT", + "peer": true, "bin": { "prettier": "bin/prettier.cjs" }, @@ -13698,6 +13702,7 @@ "version": "18.3.1", "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz", "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==", + "peer": true, "dependencies": { "loose-envify": "^1.1.0" }, @@ -13718,6 +13723,7 @@ "version": "18.3.1", "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz", "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==", + "peer": true, "dependencies": { "loose-envify": "^1.1.0", "scheduler": "^0.23.2" @@ -14385,6 +14391,7 @@ "integrity": "sha512-d0NoFH4v6SjEK7BoX810Jsrhj7IQSYHAHLi/iSpgqKc7LaIDshFRlSg5LOymf9FqQhxEHs2W5ZQXlvy0KD45Uw==", "devOptional": true, "license": "MIT", + "peer": true, "dependencies": { "chokidar": "^4.0.0", "immutable": "^5.0.2", @@ -15322,6 +15329,7 @@ "resolved": "https://registry.npmjs.org/styled-components/-/styled-components-5.3.11.tgz", "integrity": "sha512-uuzIIfnVkagcVHv9nE0VPlHPSCmXIUGKfJ42LNjxCCTDTL5sgnJ8Z7GZBq0EnLYGln77tPpEpExt2+qa+cZqSw==", "license": "MIT", + "peer": true, "dependencies": { "@babel/helper-module-imports": "^7.0.0", "@babel/traverse": "^7.4.5", @@ -15580,6 +15588,7 @@ "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": ">=12" }, @@ -15905,6 +15914,7 @@ "integrity": "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==", "dev": true, "license": "Apache-2.0", + "peer": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -16259,6 +16269,7 @@ "dev": true, "hasInstallScript": true, "license": "MIT", + "peer": true, "dependencies": { "napi-postinstall": "^0.2.2" }, @@ -16461,6 +16472,7 @@ "integrity": "sha512-ZWyE8YXEXqJrrSLvYgrRP7p62OziLW7xI5HYGWFzOvupfAlrLvURSzv/FyGyy0eidogEM3ujU+kUG1zuHgb6Ug==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "esbuild": "^0.25.0", "fdir": "^6.5.0", @@ -16569,6 +16581,7 @@ "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": ">=12" },