From 14a5afd432b0ace5d3254069c679c8cbbbf125cf Mon Sep 17 00:00:00 2001 From: Muhammad Dhiyaul Atha Date: Thu, 22 Oct 2026 21:29:19 +0700 Subject: [PATCH] docs: remove error-red terminal screenshots, clean dry-run capture Replace the dry-run screenshot with a pure create plan (exit 0), drop the init-conflict and invalid-config shots from all pages, and rewrite captions to keep every visual error-free. Factual description of exit codes 2/3 remains as text; the exit-codes page now features the green validate capture. --- .../{index-CbQCMg9o.js => index-CNcHcO5J.js} | 8 +-- docs/web/dist/exit-codes/index.html | 6 +- docs/web/dist/img/dry-run.png | Bin 50595 -> 27855 bytes docs/web/dist/img/init-conflict.png | Bin 11079 -> 0 bytes docs/web/dist/img/invalid-config.png | Bin 10713 -> 0 bytes docs/web/dist/index.html | 2 +- docs/web/dist/init/index.html | 2 +- docs/web/img/dry-run.png | Bin 50595 -> 27855 bytes docs/web/img/init-conflict.png | Bin 11079 -> 0 bytes docs/web/img/invalid-config.png | Bin 10713 -> 0 bytes docs/web/public/img/dry-run.png | Bin 50595 -> 27855 bytes docs/web/public/img/init-conflict.png | Bin 11079 -> 0 bytes docs/web/public/img/invalid-config.png | Bin 10713 -> 0 bytes docs/web/src/pages/ExitCodes.jsx | 21 +++---- docs/web/src/pages/Home.jsx | 12 ++-- docs/web/src/pages/InitCmd.jsx | 53 ++++++++---------- docs/web/src/routes.jsx | 2 +- 17 files changed, 45 insertions(+), 61 deletions(-) rename docs/web/dist/assets/{index-CbQCMg9o.js => index-CNcHcO5J.js} (95%) delete mode 100644 docs/web/dist/img/init-conflict.png delete mode 100644 docs/web/dist/img/invalid-config.png delete mode 100644 docs/web/img/init-conflict.png delete mode 100644 docs/web/img/invalid-config.png delete mode 100644 docs/web/public/img/init-conflict.png delete mode 100644 docs/web/public/img/invalid-config.png diff --git a/docs/web/dist/assets/index-CbQCMg9o.js b/docs/web/dist/assets/index-CNcHcO5J.js similarity index 95% rename from docs/web/dist/assets/index-CbQCMg9o.js rename to docs/web/dist/assets/index-CNcHcO5J.js index 971f37f..0ee3903 100644 --- a/docs/web/dist/assets/index-CbQCMg9o.js +++ b/docs/web/dist/assets/index-CNcHcO5J.js @@ -8,18 +8,18 @@ Error generating stack: `+e.message+` `+e.stack}}var Je=Object.prototype.hasOwnProperty,Ye=t.unstable_scheduleCallback,Xe=t.unstable_cancelCallback,Ze=t.unstable_shouldYield,Qe=t.unstable_requestPaint,$e=t.unstable_now,et=t.unstable_getCurrentPriorityLevel,tt=t.unstable_ImmediatePriority,nt=t.unstable_UserBlockingPriority,rt=t.unstable_NormalPriority,it=t.unstable_LowPriority,at=t.unstable_IdlePriority,ot=t.log,st=t.unstable_setDisableYieldValue,ct=null,lt=null;function ut(e){if(typeof ot==`function`&&st(e),lt&&typeof lt.setStrictMode==`function`)try{lt.setStrictMode(ct,e)}catch{}}var dt=Math.clz32?Math.clz32:mt,ft=Math.log,pt=Math.LN2;function mt(e){return e>>>=0,e===0?32:31-(ft(e)/pt|0)|0}var ht=256,gt=262144,_t=4194304;function vt(e){var t=e&42;if(t!==0)return t;switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return e&-e;case 262144:case 524288:case 1048576:case 2097152:return e&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return e&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function yt(e,t,n){var r=e.pendingLanes;if(r===0)return 0;var i=0,a=e.suspendedLanes,o=e.pingedLanes;e=e.warmLanes;var s=r&134217727;return s===0?(s=r&~a,s===0?o===0?n||(n=r&~e,n!==0&&(i=vt(n))):i=vt(o):i=vt(s)):(r=s&~a,r===0?(o&=s,o===0?n||(n=s&~e,n!==0&&(i=vt(n))):i=vt(o)):i=vt(r)),i===0?0:t!==0&&t!==i&&(t&a)===0&&(a=i&-i,n=t&-t,a>=n||a===32&&n&4194048)?t:i}function bt(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function xt(e,t){t&8&&(t|=t&32);var n=e.entangledLanes;if(n!==0)for(e=e.entanglements,n&=t;0n;n++)t.push(e);return t}function Tt(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function Et(e,t,n,r,i,a){var o=e.pendingLanes;e.pendingLanes=n,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=n,e.entangledLanes&=n,e.errorRecoveryDisabledLanes&=n,e.shellSuspendCounter=0;var s=e.entanglements,c=e.expirationTimes,l=e.hiddenUpdates;for(n=o&~n;0=wr),Dr=` `,Or=!1;function kr(e,t){switch(e){case`keyup`:return Sr.indexOf(t.keyCode)!==-1;case`keydown`:return t.keyCode!==229;case`keypress`:case`mousedown`:case`focusout`:return!0;default:return!1}}function Ar(e){return e=e.detail,typeof e==`object`&&`data`in e?e.data:null}var jr=!1;function Mr(e,t){switch(e){case`compositionend`:return Ar(t);case`keypress`:return t.which===32?(Or=!0,Dr):null;case`textInput`:return e=t.data,e===Dr&&Or?null:e;default:return null}}function Nr(e,t){if(jr)return e===`compositionend`||!Cr&&kr(e,t)?(e=Gn(),Wn=Un=Hn=null,jr=!1,e):null;switch(e){case`paste`:return null;case`keypress`:if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:n,offset:t-e};e=r}a:{for(;n;){if(n.nextSibling){n=n.nextSibling;break a}n=n.parentNode}n=void 0}n=ni(n)}}function ii(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?ii(e,t.parentNode):`contains`in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function ai(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=ti(e.document);t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href==`string`}catch{n=!1}if(n)e=t.contentWindow;else break;t=ti(e.document)}return t}function oi(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t===`input`&&(e.type===`text`||e.type===`search`||e.type===`tel`||e.type===`url`||e.type===`password`)||t===`textarea`||e.contentEditable===`true`)}var si=zn&&`documentMode`in document&&11>=document.documentMode,ci=null,li=null,ui=null,di=!1;function fi(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;di||ci==null||ci!==ti(r)||(r=ci,`selectionStart`in r&&oi(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),ui&&ei(ui,r)||(ui=r,r=Jf(li,`onSelect`),0>=o,i-=o,ca=1<<32-dt(t)+i|n<h?(g=d,d=null):g=d.sibling;var _=p(i,d,s[h],c);if(_===null){d===null&&(d=g);break}e&&d&&_.alternate===null&&t(i,d),o=a(_,o,h),u===null?l=_:u.sibling=_,u=_,d=g}if(h===s.length)return n(i,d),A&&ua(i,h),l;if(d===null){for(;hg?(_=h,h=null):_=h.sibling;var y=p(i,h,v.value,l);if(y===null){h===null&&(h=_);break}e&&h&&y.alternate===null&&t(i,h),o=a(y,o,g),d===null?u=y:d.sibling=y,d=y,h=_}if(v.done)return n(i,h),A&&ua(i,g),u;if(h===null){for(;!v.done;g++,v=c.next())v=f(i,v.value,l),v!==null&&(o=a(v,o,g),d===null?u=v:d.sibling=v,d=v);return A&&ua(i,g),u}for(h=r(h);!v.done;g++,v=c.next())v=m(h,i,g,v.value,l),v!==null&&(e&&(_=v.alternate,_!==null&&h.delete(_.key===null?g:_.key)),o=a(v,o,g),d===null?u=v:d.sibling=v,d=v);return e&&h.forEach(function(e){return t(i,e)}),A&&ua(i,g),u}function _(e,r,a,c){if(typeof a==`object`&&a&&a.type===ce&&a.key===null&&a.props.ref===void 0&&(a=a.props.children),typeof a==`object`&&a){switch(a.$$typeof){case oe:a:{for(var l=a.key;r!==null;){if(r.key===l){if(l=a.type,l===ce){if(r.tag===7){n(e,r.sibling),c=i(r,a.props.children),vo(c,a),c.return=e,e=c;break a}}else if(r.elementType===l||typeof l==`object`&&l&&l.$$typeof===_e&&uo(l)===r.type){n(e,r.sibling),c=i(r,a.props),vo(c,a),c.return=e,e=c;break a}n(e,r);break}t(e,r),r=r.sibling}a.type===ce?(c=Yi(a.props.children,e.mode,c,a.key),vo(c,a),c.return=e,e=c):(c=Ji(a.type,a.key,a.props,null,e.mode,c),vo(c,a),c.return=e,e=c)}return o(e);case se:a:{for(l=a.key;r!==null;){if(r.key===l){if(r.tag===4&&r.stateNode.containerInfo===a.containerInfo&&r.stateNode.implementation===a.implementation){n(e,r.sibling),c=i(r,a.children||[]),c.return=e,e=c;break a}n(e,r);break}t(e,r),r=r.sibling}c=Qi(a,e.mode,c),c.return=e,e=c}return o(e);case _e:return a=uo(a),_(e,r,a,c)}if(De(a))return h(e,r,a,c);if(we(a)){if(l=we(a),typeof l!=`function`)throw Error(s(150));return a=l.call(a),g(e,r,a,c)}if(typeof a.then==`function`)return _(e,r,_o(a),c);if(a.$$typeof===fe)return _(e,r,Ia(e,a),c);yo(e,a)}return typeof a==`string`&&a!==``||typeof a==`number`||typeof a==`bigint`?(a=``+a,r!==null&&r.tag===6?(n(e,r.sibling),c=i(r,a),c.return=e,e=c):(n(e,r),c=Xi(a,e.mode,c),c.return=e,e=c),o(e)):n(e,r)}return function(e,t,n,r){try{go=0;var i=_(e,t,n,r);return ho=null,i}catch(t){if(t===io||t===oo)throw t;var a=Wi(29,t,null,e.mode);return a.lanes=r,a.return=e,a}}}var xo=bo(!0),So=bo(!1),Co=!1;function wo(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function To(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function Eo(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function Do(e,t,n){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,W&2){var i=r.pending;return i===null?t.next=t:(t.next=i.next,i.next=t),r.pending=t,t=Vi(e),Bi(e,null,n),t}return Li(e,r,t,n),Vi(e)}function Oo(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,n&4194048)){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,Ot(e,n)}}function ko(e,t){var n=e.updateQueue,r=e.alternate;if(r!==null&&(r=r.updateQueue,n===r)){var i=null,a=null;if(n=n.firstBaseUpdate,n!==null){do{var o={lane:n.lane,tag:n.tag,payload:n.payload,callback:null,next:null};a===null?i=a=o:a=a.next=o,n=n.next}while(n!==null);a===null?i=a=t:a=a.next=t}else i=a=t;n={baseState:r.baseState,firstBaseUpdate:i,lastBaseUpdate:a,shared:r.shared,callbacks:r.callbacks},e.updateQueue=n}else e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}var Ao=!1;function jo(){if(Ao){var e=Ya;if(e!==null)throw e}}function Mo(e,t,n,r){Ao=!1;var i=e.updateQueue;Co=!1;var a=i.firstBaseUpdate,o=i.lastBaseUpdate,s=i.shared.pending;if(s!==null){i.shared.pending=null;var c=s,l=c.next;c.next=null,o===null?a=l:o.next=l,o=c;var u=e.alternate;u!==null&&(u=u.updateQueue,s=u.lastBaseUpdate,s!==o&&(s===null?u.firstBaseUpdate=l:s.next=l,u.lastBaseUpdate=c))}if(a!==null){var d=i.baseState;o=0,u=l=c=null,s=a;do{var f=s.lane&-536870913,p=f!==s.lane;if(p?(q&f)===f:(r&f)===f){f!==0&&f===Ja&&(Ao=!0),u!==null&&(u=u.next={lane:0,tag:s.tag,payload:s.payload,callback:null,next:null});a:{var m=e,h=s;f=t;var g=n;switch(h.tag){case 1:if(m=h.payload,typeof m==`function`){d=m.call(g,d,f);break a}d=m;break a;case 3:m.flags=m.flags&-65537|128;case 0:if(m=h.payload,f=typeof m==`function`?m.call(g,d,f):m,f==null)break a;d=S({},d,f);break a;case 2:Co=!0}}f=s.callback,f!==null&&(e.flags|=64,p&&(e.flags|=8192),p=i.callbacks,p===null?i.callbacks=[f]:p.push(f))}else p={lane:f,tag:s.tag,payload:s.payload,callback:s.callback,next:null},u===null?(l=u=p,c=d):u=u.next=p,o|=f;if(s=s.next,s===null){if(s=i.shared.pending,s===null)break;p=s,s=p.next,p.next=null,i.lastBaseUpdate=p,i.shared.pending=null}}while(1);u===null&&(c=d),i.baseState=c,i.firstBaseUpdate=l,i.lastBaseUpdate=u,a===null&&(i.shared.lanes=0),sd|=o,e.lanes=o,e.memoizedState=d}}function No(e,t){if(typeof e!=`function`)throw Error(s(191,e));e.call(t)}function Po(e,t){var n=e.callbacks;if(n!==null)for(e.callbacks=null,e=0;ea?a:8;var o=C.T,s={};s.types=o===null?null:o.types,C.T=s,_c(e,!1,t,n);try{var c=i(),l=C.S;l!==null&&l(s,c),typeof c==`object`&&c&&typeof c.then==`function`?gc(e,t,Qa(c,r),jd(e)):gc(e,t,r,jd(e))}catch(n){gc(e,t,{then:function(){},status:`rejected`,reason:n},jd())}finally{w.p=a,o!==null&&s.types!==null&&(o.types=s.types),C.T=o}}function oc(){}function sc(e,t,n,r){if(e.tag!==5)throw Error(s(476));var i=cc(e).queue;ac(e,i,t,Oe,n===null?oc:function(){return lc(e),n(r)})}function cc(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:Oe,baseState:Oe,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:vs,lastRenderedState:Oe},next:null};var n={};return t.next={memoizedState:n,baseState:n,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:vs,lastRenderedState:n},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function lc(e){var t=cc(e);t.next===null&&(t=e.alternate.memoizedState),gc(e,t.next.queue,{},jd())}function uc(){return Fa(sh)}function dc(){return I().memoizedState}function fc(){return I().memoizedState}function pc(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var n=jd();e=Eo(n);var r=Do(t,e,n);r!==null&&(Pd(r,t,n),Oo(r,t,n)),t={cache:Va()},e.payload=t;return}t=t.return}}function mc(e,t,n){var r=jd();n={lane:r,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null},vc(e)?yc(t,n):(n=Ri(e,t,n,r),n!==null&&(Pd(n,e,r),bc(n,t,r)))}function hc(e,t,n){gc(e,t,n,jd())}function gc(e,t,n,r){var i={lane:r,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null};if(vc(e))yc(t,i);else{var a=e.alternate;if(e.lanes===0&&(a===null||a.lanes===0)&&(a=t.lastRenderedReducer,a!==null))try{var o=t.lastRenderedState,s=a(o,n);if(i.hasEagerState=!0,i.eagerState=s,$r(s,o))return Li(e,t,i,0),G===null&&Ii(),!1}catch{}if(n=Ri(e,t,i,r),n!==null)return Pd(n,e,r),bc(n,t,r),!0}return!1}function _c(e,t,n,r){if(r={lane:2,revertLane:Pf(),gesture:null,action:r,hasEagerState:!1,eagerState:null,next:null},vc(e)){if(t)throw Error(s(479))}else t=Ri(e,n,r,2),t!==null&&Pd(t,e,2)}function vc(e){var t=e.alternate;return e===M||t!==null&&t===M}function yc(e,t){$o=Qo=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function bc(e,t,n){if(n&4194048){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,Ot(e,n)}}var xc={readContext:Fa,use:gs,useCallback:F,useContext:F,useEffect:F,useImperativeHandle:F,useLayoutEffect:F,useInsertionEffect:F,useMemo:F,useReducer:F,useRef:F,useState:F,useDebugValue:F,useDeferredValue:F,useTransition:F,useSyncExternalStore:F,useId:F,useHostTransitionStatus:F,useFormState:F,useActionState:F,useOptimistic:F,useMemoCache:F,useCacheRefresh:F,useEffectEvent:F},Sc={readContext:Fa,use:gs,useCallback:function(e,t){return ps().memoizedState=[e,t===void 0?null:t],e},useContext:Fa,useEffect:Ks,useImperativeHandle:function(e,t,n){n=n==null?null:n.concat([e]),Ws(4194308,4,Qs.bind(null,t,e),n)},useLayoutEffect:function(e,t){return Ws(4194308,4,e,t)},useInsertionEffect:function(e,t){Ws(4,2,e,t)},useMemo:function(e,t){var n=ps();t=t===void 0?null:t;var r=e();if(es){ut(!0);try{e()}finally{ut(!1)}}return n.memoizedState=[r,t],r},useReducer:function(e,t,n){var r=ps();if(n!==void 0){var i=n(t);if(es){ut(!0);try{n(t)}finally{ut(!1)}}}else i=t;return r.memoizedState=r.baseState=i,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:i},r.queue=e,e=e.dispatch=mc.bind(null,M,e),[r.memoizedState,e]},useRef:function(e){var t=ps();return e={current:e},t.memoizedState=e},useState:function(e){e=Os(e);var t=e.queue,n=hc.bind(null,M,t);return t.dispatch=n,[e.memoizedState,n]},useDebugValue:ec,useDeferredValue:function(e,t){return rc(ps(),e,t)},useTransition:function(){var e=Os(!1);return e=ac.bind(null,M,e.queue,!0,!1),ps().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,n){var r=M,i=ps();if(A){if(n===void 0)throw Error(s(407));n=n()}else{if(n=t(),G===null)throw Error(s(349));q&127||Cs(r,t,n)}i.memoizedState=n;var a={value:n,getSnapshot:t};return i.queue=a,Ks(Ts.bind(null,r,a,e),[e]),r.flags|=2048,Hs(9,{destroy:void 0},ws.bind(null,r,a,n,t),null),n},useId:function(){var e=ps(),t=G.identifierPrefix;if(A){var n=la,r=ca;n=(r&~(1<<32-dt(r)-1)).toString(32)+n,t=`_`+t+`R_`+n,n=ts++,0<\/script>`,a=a.removeChild(a.firstChild);break;case`select`:a=typeof r.is==`string`?o.createElement(`select`,{is:r.is}):o.createElement(`select`),r.multiple?a.multiple=!0:r.size&&(a.size=r.size);break;default:a=typeof r.is==`string`?o.createElement(i,{is:r.is}):o.createElement(i)}}a[Ft]=t,a[It]=r;a:for(o=t.child;o!==null;){if(o.tag===5||o.tag===6)a.appendChild(o.stateNode);else if(o.tag!==4&&o.tag!==27&&o.child!==null){o.child.return=o,o=o.child;continue}if(o===t)break a;for(;o.sibling===null;){if(o.return===null||o.return===t)break a;o=o.return}o.sibling.return=o.return,o=o.sibling}t.stateNode=a;a:switch(np(a,i,r),i){case`button`:case`input`:case`select`:case`textarea`:r=!!r.autoFocus;break a;case`img`:r=!0;break a;default:r=!1}r&&vl(t)}}return z(t),t.subtreeFlags&=-33554433,yl(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,n),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==r&&vl(t);else{if(typeof r!=`string`&&t.stateNode===null)throw Error(s(166));if(e=Fe.current,xa(t)){if(e=t.stateNode,n=t.memoizedProps,r=null,i=O,i!==null)switch(i.tag){case 27:case 5:r=i.memoizedProps}e[Ft]=t,e=!!(e.nodeValue===n||r!==null&&!0===r.suppressHydrationWarning||ep(e.nodeValue,n)),e||va(t,!0)}else e=lp(e).createTextNode(r),e[Ft]=t,t.stateNode=e}return z(t),null;case 31:if(n=t.memoizedState,e===null||e.memoizedState!==null){if(r=xa(t),n!==null){if(e===null){if(!r)throw Error(s(318));if(e=t.memoizedState,e=e===null?null:e.dehydrated,!e)throw Error(s(557));e[Ft]=t}else Sa(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;z(t),e=!1}else n=Ca(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=n),e=!0;if(!e)return t.flags&256?(Ko(t),t):(Ko(t),null);if(t.flags&128)throw Error(s(558))}return z(t),null;case 13:if(r=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(i=xa(t),r!==null&&r.dehydrated!==null){if(e===null){if(!i)throw Error(s(318));if(i=t.memoizedState,i=i===null?null:i.dehydrated,!i)throw Error(s(317));i[Ft]=t}else Sa(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;z(t),i=!1}else i=Ca(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=i),i=!0;if(!i)return t.flags&256?(Ko(t),t):(Ko(t),null)}return Ko(t),t.flags&128?(t.lanes=n,t):(n=r!==null,e=e!==null&&e.memoizedState!==null,n&&(r=t.child,i=null,r.alternate!==null&&r.alternate.memoizedState!==null&&r.alternate.memoizedState.cachePool!==null&&(i=r.alternate.memoizedState.cachePool.pool),a=null,r.memoizedState!==null&&r.memoizedState.cachePool!==null&&(a=r.memoizedState.cachePool.pool),a!==i&&(r.flags|=2048)),n!==e&&n&&(t.child.flags|=8192),xl(t,t.updateQueue),z(t),null);case 4:return Re(),e===null&&Wf(t.stateNode.containerInfo),t.flags|=67108864,z(t),null;case 10:return ka(t.type),z(t),null;case 19:if(Yo(t),r=t.memoizedState,r===null)return z(t),null;if(i=!!(t.flags&128),a=r.rendering,a===null){if(i)Sl(r,!1);else{if(Y!==0||e!==null&&e.flags&128)for(e=t.child;e!==null;){if(a=Xo(e),a!==null){for(t.flags|=128,Sl(r,!1),e=a.updateQueue,t.updateQueue=e,xl(t,e),t.subtreeFlags=0,e=n,n=t.child;n!==null;)qi(n,e),n=n.sibling;return Jo(t,qo.current&1|2),A&&ua(t,r.treeForkCount),t.child}e=e.sibling}r.tail!==null&&$e()>_d&&(t.flags|=128,i=!0,Sl(r,!1),t.lanes=4194304)}}else{if(!i){if(e=Xo(a),e!==null){if(t.flags|=128,i=!0,e=e.updateQueue,t.updateQueue=e,xl(t,e),Sl(r,!0),r.tail===null&&r.tailMode!==`collapsed`&&r.tailMode!==`visible`&&!a.alternate&&!A)return z(t),null}else 2*$e()-r.renderingStartTime>_d&&n!==536870912&&(t.flags|=128,i=!0,Sl(r,!1),t.lanes=4194304)}r.isBackwards?(a.sibling=t.child,t.child=a):(e=r.last,e===null?t.child=a:e.sibling=a,r.last=a)}if(r.tail!==null){e=r.tail;a:{for(n=e;n!==null;){if(n.alternate!==null){n=!1;break a}n=n.sibling}n=!0}return r.rendering=e,r.tail=e.sibling,r.renderingStartTime=$e(),e.sibling=null,a=qo.current,a=i?a&1|2:a&1,r.tailMode===`visible`||r.tailMode===`collapsed`||!n||A?Jo(t,a):(n=a,T(Bo,t),T(qo,n),Vo===null&&(Vo=t)),A&&ua(t,r.treeForkCount),e}return z(t),null;case 22:case 23:return Ko(t),zo(),r=t.memoizedState!==null,e===null?r&&(t.flags|=8192):e.memoizedState!==null!==r&&(t.flags|=8192),r?n&536870912&&!(t.flags&128)&&(z(t),t.subtreeFlags&6&&(t.flags|=8192)):z(t),n=t.updateQueue,n!==null&&xl(t,n.retryQueue),n=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),r=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(r=t.memoizedState.cachePool.pool),r!==n&&(t.flags|=2048),e!==null&&Me(eo),null;case 24:return n=null,e!==null&&(n=e.memoizedState.cache),t.memoizedState.cache!==n&&(t.flags|=2048),ka(j),z(t),null;case 25:return null;case 30:return t.flags|=33554432,z(t),null}throw Error(s(156,t.tag))}function wl(e,t){switch(pa(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return ka(j),Re(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return Be(t),null;case 31:if(t.memoizedState!==null){if(Ko(t),t.alternate===null)throw Error(s(340));Sa()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(Ko(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(s(340));Sa()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return Yo(t),e=t.flags,e&65536?(t.flags=e&-65537|128,e=t.memoizedState,e!==null&&(e.rendering=null,e.tail=null),t.flags|=4,t):null;case 4:return Re(),null;case 10:return ka(t.type),null;case 22:case 23:return Ko(t),zo(),e!==null&&Me(eo),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return ka(j),null;case 25:return null;default:return null}}function Tl(e,t){switch(pa(t),t.tag){case 3:ka(j),Re();break;case 26:case 27:case 5:Be(t);break;case 4:Re();break;case 31:t.memoizedState!==null&&Ko(t);break;case 13:Ko(t);break;case 19:Yo(t);break;case 10:ka(t.type);break;case 22:case 23:Ko(t),zo(),e!==null&&Me(eo);break;case 24:ka(j)}}function El(e,t){try{var n=t.updateQueue,r=n===null?null:n.lastEffect;if(r!==null){var i=r.next;n=i;do{if((n.tag&e)===e){r=void 0;var a=n.create,o=n.inst;r=a(),o.destroy=r}n=n.next}while(n!==i)}}catch(e){Z(t,t.return,e)}}function Dl(e,t,n){try{var r=t.updateQueue,i=r===null?null:r.lastEffect;if(i!==null){var a=i.next;r=a;do{if((r.tag&e)===e){var o=r.inst,s=o.destroy;if(s!==void 0){o.destroy=void 0,i=t;var c=n,l=s;try{l()}catch(e){Z(i,c,e)}}}r=r.next}while(r!==a)}}catch(e){Z(t,t.return,e)}}function Ol(e){var t=e.updateQueue;if(t!==null){var n=e.stateNode;try{Po(t,n)}catch(t){Z(e,e.return,t)}}}function kl(e,t,n){n.props=kc(e.type,e.memoizedProps),n.state=e.memoizedState;try{n.componentWillUnmount()}catch(n){Z(e,t,n)}}function Al(e,t){try{var n=e.ref;if(n!==null){switch(e.tag){case 26:case 27:case 5:var r=e.stateNode;break;case 30:var i=e.stateNode,a=ki(e.memoizedProps,i);(i.ref===null||i.ref.name!==a)&&(i.ref=Pp(a)),r=i.ref;break;case 7:if(e.stateNode===null){var o=new Fp(e);h(e.child,!1,Qp,o,void 0,void 0),e.stateNode=o}r=e.stateNode;break;default:r=e.stateNode}typeof n==`function`?e.refCleanup=n(r):n.current=r}}catch(n){Z(e,t,n)}}function jl(e,t){var n=e.ref,r=e.refCleanup;if(n!==null){if(typeof r==`function`)try{r()}catch(n){Z(e,t,n)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof n==`function`)try{n(null)}catch(n){Z(e,t,n)}else n.current=null}}function Ml(e,t){if((e.tag===5||e.tag===27||e.tag===6)&&e.alternate===null&&t!==null)for(var n=0;n title`))),np(r,t,n),r[Ft]=e,E(r),t=r;break a;case`link`:if(a=Gm(`link`,`href`,i).get(t+(n.href||``))){for(o=0;og&&(o=g,g=h,h=o);var _=ri(s,h),v=ri(s,g);if(_&&v&&(p.rangeCount!==1||p.anchorNode!==_.node||p.anchorOffset!==_.offset||p.focusNode!==v.node||p.focusOffset!==v.offset)){var y=d.createRange();y.setStart(_.node,_.offset),p.removeAllRanges(),h>g?(p.addRange(y),p.extend(v.node,v.offset)):(y.setEnd(v.node,v.offset),p.addRange(y))}}}}for(d=[],p=s;p=p.parentNode;)p.nodeType===1&&d.push({element:p,left:p.scrollLeft,top:p.scrollTop});for(typeof s.focus==`function`&&s.focus(),s=0;sn?32:n,C.T=null,n=wd,wd=null;var a=bd,o=Sd;if(X=0,xd=bd=null,Sd=0,W&6)throw Error(s(331));var c=W;if(W|=4,Zu(a.current),Uu(a,a.current,o,n),W=c,Df(0,!1),lt&&typeof lt.onPostCommitFiberRoot==`function`)try{lt.onPostCommitFiberRoot(ct,a)}catch{}return!0}finally{w.p=i,C.T=r,uf(e,t)}}function pf(e,t,n){t=ea(n,t),t=Fc(e.stateNode,t,2),e=Do(e,t,2),e!==null&&(Tt(e,2),Ef(e))}function Z(e,t,n){if(e.tag===3)pf(e,e,n);else for(;t!==null;){if(t.tag===3){pf(t,e,n);break}if(t.tag===1){var r=t.stateNode;if(typeof t.type.getDerivedStateFromError==`function`||typeof r.componentDidCatch==`function`&&(yd===null||!yd.has(r))){e=ea(n,e),n=Ic(2),r=Do(t,n,2),r!==null&&(Lc(n,r,t,e),Tt(r,2),Ef(r));break}}t=t.return}}function mf(e,t,n){var r=e.pingCache;if(r===null){r=e.pingCache=new td;var i=new Set;r.set(t,i)}else i=r.get(t),i===void 0&&(i=new Set,r.set(t,i));i.has(n)||(ad=!0,i.add(n),e=hf.bind(null,e,t,n),t.then(e,e))}function hf(e,t,n){var r=e.pingCache;r!==null&&r.delete(t),e.pingedLanes|=e.suspendedLanes&n,e.warmLanes&=~n,G===e&&(q&n)===n&&(Y===4||Y===3&&(q&62914560)===q&&300>$e()-hd?W&2?ld|=n:Vd(e,0):ld|=n,dd===q&&(dd=0)),Ef(e)}function gf(e,t){t===0&&(t=Ct()),e=zi(e,t),e!==null&&(Tt(e,t),Ef(e))}function _f(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),gf(e,n)}function vf(e,t){var n=0;switch(e.tag){case 31:case 13:var r=e.stateNode,i=e.memoizedState;i!==null&&(n=i.retryLane);break;case 19:r=e.stateNode;break;case 22:r=e.stateNode._retryCache;break;default:throw Error(s(314))}r!==null&&r.delete(t),gf(e,n)}function yf(e,t){return Ye(e,t)}var bf=null,xf=null,Sf=!1,Cf=!1,wf=!1,Tf=0;function Ef(e){e!==xf&&e.next===null&&(xf===null?bf=xf=e:xf=xf.next=e),Cf=!0,Sf||(Sf=!0,Nf())}function Df(e,t){if(!wf&&Cf){wf=!0;do for(var n=!1,r=bf;r!==null;){if(!t){if(e!==0){var i=r.pendingLanes;if(i===0)var a=0;else{var o=r.suspendedLanes,s=r.pingedLanes;a=(1<<31-dt(42|e)+1)-1,a&=i&~(o&~s),a=a&201326741?a&201326741|1:a?a|2:0}a!==0&&(n=!0,Mf(r,a))}else a=q,a=yt(r,r===G?a:0,r.cancelPendingCommit!==null||r.timeoutHandle!==-1),!(a&3)||bt(r,a)||(n=!0,Mf(r,a))}r=r.next}while(n);wf=!1}}function Of(){kf()}function kf(){Cf=Sf=!1;var e=0;Tf!==0&&hp()&&(e=Tf);for(var t=$e(),n=null,r=bf;r!==null;){var i=r.next,a=Af(r,t);a===0?(r.next=null,n===null?bf=i:n.next=i,i===null&&(xf=n)):(n=r,(e!==0||a&3)&&(Cf=!0)),r=i}X!==0&&X!==5||Df(e,!1),Tf!==0&&(Tf=0)}function Af(e,t){for(var n=e.suspendedLanes,r=e.pingedLanes,i=e.expirationTimes,a=e.pendingLanes&-62914561;0s)break;var u=c.transferSize,d=c.initiatorType;u&&ap(d)&&(c=c.responseEnd,o+=u*(c$m){s.length=o;break}f=new Promise(jp.bind(f)),s.push(f)}}}if(0`u`?null:document;function Tm(e,t,n){var r=wm;if(r&&typeof t==`string`&&t){var i=hn(t);i=`link[rel="`+e+`"][href="`+i+`"]`,typeof n==`string`&&(i+=`[crossorigin="`+n+`"]`),ym.has(i)||(ym.add(i),e={rel:e,crossOrigin:n,href:t},r.querySelector(i)===null&&(t=r.createElement(`link`),np(t,`link`,e),E(t),r.head.appendChild(t)))}}function Em(e){xm.D(e),Tm(`dns-prefetch`,e,null)}function Dm(e,t){xm.C(e,t),Tm(`preconnect`,e,t)}function Om(e,t,n){xm.L(e,t,n);var r=wm;if(r&&e&&t){var i=`link[rel="preload"][as="`+hn(t)+`"]`;t===`image`&&n&&n.imageSrcSet?(i+=`[imagesrcset="`+hn(n.imageSrcSet)+`"]`,typeof n.imageSizes==`string`&&(i+=`[imagesizes="`+hn(n.imageSizes)+`"]`)):i+=`[href="`+hn(e)+`"]`;var a=i;switch(t){case`style`:a=Pm(e);break;case`script`:a=Rm(e)}if(!(vm.has(a)||(e=S({rel:`preload`,href:t===`image`&&n&&n.imageSrcSet?void 0:e,as:t},n),vm.set(a,e),r.querySelector(i)!==null||t===`style`&&r.querySelector(Fm(a))||t===`script`&&r.querySelector(zm(a))))){var o=r.createElement(`link`);np(o,`link`,e),t===`style`&&(o[Ut]=!0,o.onload=o.onerror=function(){Yt(o)}),E(o),r.head.appendChild(o)}}}function km(e,t){xm.m(e,t);var n=wm;if(n&&e){var r=t&&typeof t.as==`string`?t.as:`script`,i=`link[rel="modulepreload"][as="`+hn(r)+`"][href="`+hn(e)+`"]`,a=i;switch(r){case`audioworklet`:case`paintworklet`:case`serviceworker`:case`sharedworker`:case`worker`:case`script`:a=Rm(e)}if(!vm.has(a)&&(e=S({rel:`modulepreload`,href:e},t),vm.set(a,e),n.querySelector(i)===null)){switch(r){case`audioworklet`:case`paintworklet`:case`serviceworker`:case`sharedworker`:case`worker`:case`script`:if(n.querySelector(zm(a)))return}r=n.createElement(`link`),np(r,`link`,e),E(r),n.head.appendChild(r)}}}function Am(e,t,n){xm.S(e,t,n);var r=wm;if(r&&e){var i=Jt(r).hoistableStyles,a=Pm(e);t||=`default`;var o=i.get(a);if(!o){var s={loading:0,preload:null};if(o=r.querySelector(Fm(a)))s.loading=5;else{e=S({rel:`stylesheet`,href:e,"data-precedence":t},n),(n=vm.get(a))&&Hm(e,n);var c=o=r.createElement(`link`);E(c),np(c,`link`,e),c._p=new Promise(function(e,t){c.onload=e,c.onerror=t}),c.addEventListener(`load`,function(){s.loading|=1}),c.addEventListener(`error`,function(){s.loading|=2}),s.loading|=4,Vm(o,t,r)}o={type:`stylesheet`,instance:o,count:1,state:s},i.set(a,o)}}}function jm(e,t){xm.X(e,t);var n=wm;if(n&&e){var r=Jt(n).hoistableScripts,i=Rm(e),a=r.get(i);a||(a=n.querySelector(zm(i)),a||(e=S({src:e,async:!0},t),(t=vm.get(i))&&Um(e,t),a=n.createElement(`script`),E(a),np(a,`link`,e),n.head.appendChild(a)),a={type:`script`,instance:a,count:1,state:null},r.set(i,a))}}function Mm(e,t){xm.M(e,t);var n=wm;if(n&&e){var r=Jt(n).hoistableScripts,i=Rm(e),a=r.get(i);a||(a=n.querySelector(zm(i)),a||(e=S({src:e,async:!0,type:`module`},t),(t=vm.get(i))&&Um(e,t),a=n.createElement(`script`),E(a),np(a,`link`,e),n.head.appendChild(a)),a={type:`script`,instance:a,count:1,state:null},r.set(i,a))}}function Nm(e,t,n,r){var i=(i=Fe.current)?bm(i):null;if(!i)throw Error(s(446));switch(e){case`meta`:case`title`:return null;case`style`:return typeof n.precedence==`string`&&typeof n.href==`string`?(n=Pm(n.href),t=Jt(i).hoistableStyles,r=t.get(n),r||(r={type:`style`,instance:null,count:0,state:null},t.set(n,r)),r):{type:`void`,instance:null,count:0,state:null};case`link`:if(n.rel===`stylesheet`&&typeof n.href==`string`&&typeof n.precedence==`string`){e=Pm(n.href);var a=Jt(i).hoistableStyles,o=a.get(e);if(o||(i=i.ownerDocument||i,o={type:`stylesheet`,instance:null,count:0,state:{loading:0,preload:null}},a.set(e,o),(a=i.querySelector(Fm(e)))?a._p||(o.instance=a,o.state.loading=5):(a=vm.get(e),a||(a={rel:`preload`,as:`style`,href:n.href,crossOrigin:n.crossOrigin,integrity:n.integrity,media:n.media,hrefLang:n.hrefLang,referrerPolicy:n.referrerPolicy},vm.set(e,a)),Lm(i,e,a,o.state))),t&&r===null)throw Error(s(528,``));return o}if(t&&r!==null)throw Error(s(529,``));return null;case`script`:return t=n.async,n=n.src,typeof n==`string`&&t&&typeof t!=`function`&&typeof t!=`symbol`?(n=Rm(n),t=Jt(i).hoistableScripts,r=t.get(n),r||(r={type:`script`,instance:null,count:0,state:null},t.set(n,r)),r):{type:`void`,instance:null,count:0,state:null};default:throw Error(s(444,e))}}function Pm(e){return`href="`+hn(e)+`"`}function Fm(e){return`link[rel="stylesheet"][`+e+`]`}function Im(e){return S({},e,{"data-precedence":e.precedence,precedence:null})}function Lm(e,t,n,r){if(t=e.querySelector(`link[rel="preload"][as="style"][`+t+`]`)){if(!0!==t[Ut]){r.loading=1;return}}else t=e.createElement(`link`),t[Ut]=!0,t.onload=t.onerror=Yt.bind(null,t),np(t,`link`,n),E(t),e.head.appendChild(t);r.preload=t,t.addEventListener(`load`,function(){return r.loading|=1}),t.addEventListener(`error`,function(){return r.loading|=2})}function Rm(e){return`[src="`+hn(e)+`"]`}function zm(e){return`script[async]`+e}function Bm(e,t,n){if(t.count++,t.instance===null)switch(t.type){case`style`:var r=e.querySelector(`style[data-href~="`+hn(n.href)+`"]`);if(r)return t.instance=r,E(r),r;var i=S({},n,{"data-href":n.href,"data-precedence":n.precedence,href:null,precedence:null});return r=(e.ownerDocument||e).createElement(`style`),E(r),np(r,`style`,i),Vm(r,n.precedence,e),t.instance=r;case`stylesheet`:i=Pm(n.href);var a=e.querySelector(Fm(i));if(a)return t.state.loading|=4,t.instance=a,E(a),a;r=Im(n),(i=vm.get(i))&&Hm(r,i),a=(e.ownerDocument||e).createElement(`link`),E(a);var o=a;return o._p=new Promise(function(e,t){o.onload=e,o.onerror=t}),np(a,`link`,r),t.state.loading|=4,Vm(a,n.precedence,e),t.instance=a;case`script`:return a=Rm(n.src),(i=e.querySelector(zm(a)))?(t.instance=i,E(i),i):(r=n,(i=vm.get(a))&&(r=S({},n),Um(r,i)),e=e.ownerDocument||e,i=e.createElement(`script`),E(i),np(i,`link`,r),e.head.appendChild(i),t.instance=i);case`void`:return null;default:throw Error(s(443,t.type))}else t.type===`stylesheet`&&!(t.state.loading&4)&&(r=t.instance,t.state.loading|=4,Vm(r,n.precedence,e));return t.instance}function Vm(e,t,n){for(var r=n.querySelectorAll(`link[rel="stylesheet"][data-precedence],style[data-precedence]`),i=r.length?r[r.length-1]:null,a=i,o=0;o title`):null)}function qm(e,t,n){if(n===1||t.itemProp!=null)return!1;switch(e){case`meta`:case`title`:return!0;case`style`:if(typeof t.precedence!=`string`||typeof t.href!=`string`||t.href===``)break;return!0;case`link`:if(typeof t.rel!=`string`||typeof t.href!=`string`||t.href===``||t.onLoad||t.onError)break;switch(t.rel){case`stylesheet`:return e=t.disabled,typeof t.precedence==`string`&&e==null;default:return!0}case`script`:if(t.async&&typeof t.async!=`function`&&typeof t.async!=`symbol`&&!t.onLoad&&!t.onError&&t.src&&typeof t.src==`string`)return!0}return!1}function Jm(e,t){return e===`img`&&t.src!=null&&t.src!==``&&t.onLoad==null&&t.loading!==`lazy`}function Ym(e){return!(e.type===`stylesheet`&&!(e.state.loading&3))}function Xm(e){return(e.width||100)*(e.height||100)*(typeof devicePixelRatio==`number`?devicePixelRatio:1)*.25}function Zm(e,t){typeof t.decode==`function`&&(e.imgCount++,t.complete||(e.imgBytes+=Xm(t),e.suspenseyImages.push(t)),e=rh.bind(e),t.decode().then(e,e))}function Qm(e,t,n,r){if(n.type===`stylesheet`&&(typeof r.media!=`string`||!1!==matchMedia(r.media).matches)&&!(n.state.loading&4)){if(n.instance===null){var i=Pm(r.href),a=t.querySelector(Fm(i));if(a){t=a._p,typeof t==`object`&&t&&typeof t.then==`function`&&(e.count++,e=nh.bind(e),t.then(e,e)),n.state.loading|=4,n.instance=a,E(a);return}a=t.ownerDocument||t,r=Im(r),(i=vm.get(i))&&Hm(r,i),a=a.createElement(`link`),E(a);var o=a;o._p=new Promise(function(e,t){o.onload=e,o.onerror=t}),np(a,`link`,r),n.instance=a}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(n,t),(t=n.state.preload)&&!(n.state.loading&3)&&(e.count++,n=nh.bind(e),t.addEventListener(`load`,n),t.addEventListener(`error`,n))}}var $m=0;function eh(e,t){return e.stylesheets&&e.count===0&&ah(e,e.stylesheets),0$m?50:800)+t);return e.unsuspend=n,function(){e.unsuspend=null,clearTimeout(r),clearTimeout(i)}}:null}function th(e){if(e.count===0&&(e.imgCount===0||!e.waitingForImages)){if(e.stylesheets)ah(e,e.stylesheets);else if(e.unsuspend){var t=e.unsuspend;e.unsuspend=null,t()}}}function nh(){this.count--,th(this)}function rh(){this.imgCount--,th(this)}var ih=null;function ah(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,ih=new Map,t.forEach(oh,e),ih=null,nh.call(e))}function oh(e,t){if(!(t.state.loading&4)){var n=ih.get(e);if(n)var r=n.get(null);else{n=new Map,ih.set(e,n);for(var i=e.querySelectorAll(`link[data-precedence],style[data-precedence]`),a=0;a{function n(){if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<`u`&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE==`function`)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(e){console.error(e)}}n(),t.exports=s()}));n();var l=c(),u=e((e=>{var t=Symbol.for(`react.transitional.element`),n=Symbol.for(`react.fragment`);function r(e,n,r){var i=null;if(r!==void 0&&(i=``+r),n.key!==void 0&&(i=``+n.key),`key`in n)for(var a in r={},n)a!==`key`&&(r[a]=n[a]);else r=n;return n=r.ref,{$$typeof:t,type:e,key:i,ref:n===void 0?null:n,props:r}}e.Fragment=n,e.jsx=r,e.jsxs=r})),d=e(((e,t)=>{t.exports=u()}))();function f({rel:e,name:t,alt:n,caption:r,feature:i=``}){return(0,d.jsxs)(`figure`,{className:`shot ${i}`,children:[(0,d.jsx)(`a`,{href:`${e}img/${t}`,target:`_blank`,rel:`noopener noreferrer`,children:(0,d.jsx)(`img`,{src:`${e}img/${t}`,alt:n,loading:`lazy`,decoding:`async`})}),r&&(0,d.jsx)(`figcaption`,{children:r})]})}function p({children:e,label:t}){return(0,d.jsxs)(`div`,{className:`code-block`,children:[t&&(0,d.jsx)(`span`,{className:`code-label`,children:t}),(0,d.jsx)(`pre`,{children:(0,d.jsx)(`code`,{children:e})})]})}function m({children:e}){return(0,d.jsx)(`kbd`,{className:`kbd`,children:e})}function h({tone:e=`ok`,children:t}){return(0,d.jsx)(`span`,{className:`badge badge-${e}`,children:t})}function g({kicker:e,title:t,lede:n}){return(0,d.jsxs)(`header`,{className:`page-head`,children:[e&&(0,d.jsx)(`p`,{className:`kicker`,children:e}),(0,d.jsx)(`h1`,{children:t}),n&&(0,d.jsx)(`p`,{className:`lede`,children:n})]})}function _({rel:e}){return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)(`div`,{className:`hero`,children:[(0,d.jsxs)(`div`,{children:[(0,d.jsx)(`p`,{className:`kicker yellow`,children:`docker · github actions · kubernetes`}),(0,d.jsxs)(`h1`,{children:[`DevOps scaffolding,`,(0,d.jsx)(`br`,{}),`deterministically.`]}),(0,d.jsx)(`p`,{className:`lede`,children:`DevOpsGen reads your Go or Node.js project and writes a complete, opinionated DevOps baseline: hardened Dockerfile, GitHub Actions pipeline and ready-to-apply Kubernetes manifests — with dry-run plans, automatic backups and config validation built in.`}),(0,d.jsxs)(`div`,{className:`hero-cta`,children:[(0,d.jsx)(`a`,{className:`btn`,href:`${e}getting-started/`,children:`Get started`}),(0,d.jsx)(`a`,{className:`btn btn-pink`,href:`${e}wizard/`,children:`Take the wizard tour`})]})]}),(0,d.jsx)(f,{rel:e,name:`wizard.png`,alt:`DevOpsGen interactive wizard running in a Windows terminal, asking for the project stack`,caption:`The interactive wizard — press Enter to accept smart defaults.`,feature:`shot-feature`})]}),(0,d.jsx)(`h2`,{children:`Why DevOpsGen`}),(0,d.jsxs)(`div`,{className:`cards`,children:[(0,d.jsxs)(`div`,{className:`card`,children:[(0,d.jsx)(`h3`,{children:`Deterministic`}),(0,d.jsxs)(`p`,{children:[`Same inputs, same bytes — every run. Machine-friendly for code review: a second generation with `,(0,d.jsx)(`code`,{children:`--force`}),` produces bit-identical files.`]})]}),(0,d.jsxs)(`div`,{className:`card`,children:[(0,d.jsx)(`h3`,{children:`Safe by default`}),(0,d.jsxs)(`p`,{children:[`Existing files are never overwritten without `,(0,d.jsx)(`code`,{children:`--force`}),`. Overwrites get`,` `,(0,d.jsx)(`code`,{children:`.bak`}),` backups, failed runs roll back automatically, and`,` `,(0,d.jsx)(`code`,{children:`--dry-run`}),` prints the full plan first.`]})]}),(0,d.jsxs)(`div`,{className:`card`,children:[(0,d.jsx)(`h3`,{children:`Validated output`}),(0,d.jsx)(`p`,{children:`Built-in validation checks Dockerfile structure, GitHub Actions workflow wiring and Kubernetes manifests (selector consistency, port ranges, Ingress paths) before anything ships.`})]}),(0,d.jsxs)(`div`,{className:`card`,children:[(0,d.jsx)(`h3`,{children:`Stack aware`}),(0,d.jsxs)(`p`,{children:[`Detects Go and Node.js projects (npm, pnpm, Express, Next.js, Vite, NestJS) from`,` `,(0,d.jsx)(`code`,{children:`go.mod`}),` / `,(0,d.jsx)(`code`,{children:`package.json`}),` and tailors templates accordingly.`]})]})]}),(0,d.jsx)(`h2`,{children:`Everything a project needs on day one`}),(0,d.jsxs)(`p`,{children:[`One `,(0,d.jsx)(`code`,{children:`init`}),` command writes the whole baseline tree. Preview the real terminal output of every command below — all screenshots are live captures, not mockups.`]}),(0,d.jsx)(p,{label:`generated in one command`,children:`$ devopsgen init --stack go --ci github-actions --registry ghcr --image you/myapp --port 8080 created 5 file(s), replaced 0 file(s) in . -exit code: 0`}),(0,d.jsxs)(`div`,{className:`screen-strip`,children:[(0,d.jsx)(f,{rel:e,name:`init-success.png`,alt:`Terminal showing a successful DevOpsGen init run creating five files with exit code 0`,caption:`init — first run creates the complete baseline and exits 0.`}),(0,d.jsx)(f,{rel:e,name:`init-conflict.png`,alt:`Terminal showing DevOpsGen refusing to overwrite five files and exiting with code 3`,caption:`init on a second run refuses to overwrite files — exit code 3 without --force.`}),(0,d.jsx)(f,{rel:e,name:`dry-run.png`,alt:`Terminal showing a DevOpsGen dry-run plan listing replace and conflict entries before exiting with code 3`,caption:`--dry-run prints the exact write plan, unresolved conflicts included.`})]}),(0,d.jsx)(`h2`,{children:`What gets generated`}),(0,d.jsx)(`div`,{className:`table-wrap`,children:(0,d.jsxs)(`table`,{children:[(0,d.jsx)(`thead`,{children:(0,d.jsxs)(`tr`,{children:[(0,d.jsx)(`th`,{children:`Template set`}),(0,d.jsx)(`th`,{children:`Files`}),(0,d.jsx)(`th`,{children:`Purpose`})]})}),(0,d.jsxs)(`tbody`,{children:[(0,d.jsxs)(`tr`,{children:[(0,d.jsxs)(`td`,{children:[(0,d.jsx)(`code`,{children:`docker`}),` (+ `,(0,d.jsx)(`code`,{children:`.dockerignore`}),`)`]}),(0,d.jsx)(`td`,{children:(0,d.jsx)(`code`,{children:`Dockerfile`})}),(0,d.jsxs)(`td`,{children:[`Hardened multi-stage build (Go runs as `,(0,d.jsx)(`code`,{children:`USER 1000:1000`}),` on a scratch base). For Node.js, RUN steps and install/prune commands follow the detected package manager (npm / pnpm) and lockfile. The generated `,(0,d.jsx)(`code`,{children:`.dockerignore`}),` `,`keeps state, tool caches and env files out of the image.`]})]}),(0,d.jsxs)(`tr`,{children:[(0,d.jsx)(`td`,{children:(0,d.jsx)(`code`,{children:`github-actions`})}),(0,d.jsx)(`td`,{children:(0,d.jsx)(`code`,{children:`.github/workflows/ci.yml`})}),(0,d.jsx)(`td`,{children:`Runs your tests when a test command is configured, then builds and pushes the image with both the commit SHA tag and your alias tag, authenticating to the chosen registry via secrets.`})]}),(0,d.jsxs)(`tr`,{children:[(0,d.jsx)(`td`,{children:(0,d.jsx)(`code`,{children:`kubernetes`})}),(0,d.jsxs)(`td`,{children:[(0,d.jsx)(`code`,{children:`deployment.yaml`}),`, `,(0,d.jsx)(`code`,{children:`service.yaml`}),`, optional `,(0,d.jsx)(`code`,{children:`ingress.yaml`})]}),(0,d.jsxs)(`td`,{children:[`DNS 1035-safe resource names, container port wiring, resource requests and limits, health probes when `,(0,d.jsx)(`code`,{children:`--health-path`}),` is given, and an optional host-based Ingress (RFC 1123 hostname).`]})]})]})]})}),(0,d.jsx)(`h2`,{children:`Explore the docs`}),(0,d.jsx)(`div`,{className:`cards core`,children:x.filter(e=>e.path!==``).map(t=>(0,d.jsxs)(`a`,{className:`card`,style:{display:`block`},href:`${e}${t.path}/`,children:[(0,d.jsx)(`h3`,{children:t.path.replace(/-/g,` `)}),(0,d.jsx)(`p`,{children:t.description})]},t.path))}),(0,d.jsx)(`h2`,{children:`Command cheatsheet`}),(0,d.jsxs)(`div`,{className:`screen-strip`,children:[(0,d.jsx)(f,{rel:e,name:`help.png`,alt:`Terminal showing the full devopsgen help output listing all commands`,caption:`devopsgen --help — all commands at a glance.`}),(0,d.jsx)(f,{rel:e,name:`list.png`,alt:`Terminal showing the devopsgen list output with available stacks, app types and registries`,caption:`devopsgen list — supported stacks, app types and registries.`}),(0,d.jsx)(f,{rel:e,name:`version.png`,alt:`Terminal showing the devopsgen version output`,caption:`devopsgen version.`})]})]})}function v({rel:e}){return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(g,{kicker:`getting started`,title:`Zero to CI in one command`,lede:`Install DevOpsGen, point it at any Go or Node.js project, and get a full Docker + GitHub Actions + Kubernetes baseline in seconds.`}),(0,d.jsx)(`h2`,{children:`Install`}),(0,d.jsx)(p,{label:`go install (go 1.22+)`,children:`go install devopsgen.dev/devopsgen@latest`}),(0,d.jsxs)(`p`,{children:[`Or grab a prebuilt binary from the project`,` `,(0,d.jsx)(`a`,{href:`https://github.com/Bangkahdev/DevOpsGen/releases`,target:`_blank`,rel:`noopener noreferrer`,children:`GitHub releases`}),`, or build from source:`]}),(0,d.jsx)(p,{label:`from source`,children:`git clone https://github.com/Bangkahdev/DevOpsGen.git +exit code: 0`}),(0,d.jsxs)(`div`,{className:`screen-strip`,children:[(0,d.jsx)(f,{rel:e,name:`init-success.png`,alt:`Terminal showing a successful DevOpsGen init run creating five files with exit code 0`,caption:`init — first run creates the complete baseline and exits 0.`}),(0,d.jsx)(f,{rel:e,name:`dry-run.png`,alt:`Terminal showing a DevOpsGen dry-run plan listing five create entries with exit code 0`,caption:`--dry-run on a fresh project prints the pure create plan and exits 0.`}),(0,d.jsx)(f,{rel:e,name:`dry-run-force.png`,alt:`Terminal showing a DevOpsGen dry-run force plan where every file would be replaced, exit code 0`,caption:`--dry-run --force previews the full replace plan — still nothing written.`})]}),(0,d.jsx)(`h2`,{children:`What gets generated`}),(0,d.jsx)(`div`,{className:`table-wrap`,children:(0,d.jsxs)(`table`,{children:[(0,d.jsx)(`thead`,{children:(0,d.jsxs)(`tr`,{children:[(0,d.jsx)(`th`,{children:`Template set`}),(0,d.jsx)(`th`,{children:`Files`}),(0,d.jsx)(`th`,{children:`Purpose`})]})}),(0,d.jsxs)(`tbody`,{children:[(0,d.jsxs)(`tr`,{children:[(0,d.jsxs)(`td`,{children:[(0,d.jsx)(`code`,{children:`docker`}),` (+ `,(0,d.jsx)(`code`,{children:`.dockerignore`}),`)`]}),(0,d.jsx)(`td`,{children:(0,d.jsx)(`code`,{children:`Dockerfile`})}),(0,d.jsxs)(`td`,{children:[`Hardened multi-stage build (Go runs as `,(0,d.jsx)(`code`,{children:`USER 1000:1000`}),` on a scratch base). For Node.js, RUN steps and install/prune commands follow the detected package manager (npm / pnpm) and lockfile. The generated `,(0,d.jsx)(`code`,{children:`.dockerignore`}),` `,`keeps state, tool caches and env files out of the image.`]})]}),(0,d.jsxs)(`tr`,{children:[(0,d.jsx)(`td`,{children:(0,d.jsx)(`code`,{children:`github-actions`})}),(0,d.jsx)(`td`,{children:(0,d.jsx)(`code`,{children:`.github/workflows/ci.yml`})}),(0,d.jsx)(`td`,{children:`Runs your tests when a test command is configured, then builds and pushes the image with both the commit SHA tag and your alias tag, authenticating to the chosen registry via secrets.`})]}),(0,d.jsxs)(`tr`,{children:[(0,d.jsx)(`td`,{children:(0,d.jsx)(`code`,{children:`kubernetes`})}),(0,d.jsxs)(`td`,{children:[(0,d.jsx)(`code`,{children:`deployment.yaml`}),`, `,(0,d.jsx)(`code`,{children:`service.yaml`}),`, optional `,(0,d.jsx)(`code`,{children:`ingress.yaml`})]}),(0,d.jsxs)(`td`,{children:[`DNS 1035-safe resource names, container port wiring, resource requests and limits, health probes when `,(0,d.jsx)(`code`,{children:`--health-path`}),` is given, and an optional host-based Ingress (RFC 1123 hostname).`]})]})]})]})}),(0,d.jsx)(`h2`,{children:`Explore the docs`}),(0,d.jsx)(`div`,{className:`cards core`,children:x.filter(e=>e.path!==``).map(t=>(0,d.jsxs)(`a`,{className:`card`,style:{display:`block`},href:`${e}${t.path}/`,children:[(0,d.jsx)(`h3`,{children:t.path.replace(/-/g,` `)}),(0,d.jsx)(`p`,{children:t.description})]},t.path))}),(0,d.jsx)(`h2`,{children:`Command cheatsheet`}),(0,d.jsxs)(`div`,{className:`screen-strip`,children:[(0,d.jsx)(f,{rel:e,name:`help.png`,alt:`Terminal showing the full devopsgen help output listing all commands`,caption:`devopsgen --help — all commands at a glance.`}),(0,d.jsx)(f,{rel:e,name:`list.png`,alt:`Terminal showing the devopsgen list output with available stacks, app types and registries`,caption:`devopsgen list — supported stacks, app types and registries.`}),(0,d.jsx)(f,{rel:e,name:`version.png`,alt:`Terminal showing the devopsgen version output`,caption:`devopsgen version.`})]})]})}function v({rel:e}){return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(g,{kicker:`getting started`,title:`Zero to CI in one command`,lede:`Install DevOpsGen, point it at any Go or Node.js project, and get a full Docker + GitHub Actions + Kubernetes baseline in seconds.`}),(0,d.jsx)(`h2`,{children:`Install`}),(0,d.jsx)(p,{label:`go install (go 1.22+)`,children:`go install devopsgen.dev/devopsgen@latest`}),(0,d.jsxs)(`p`,{children:[`Or grab a prebuilt binary from the project`,` `,(0,d.jsx)(`a`,{href:`https://github.com/Bangkahdev/DevOpsGen/releases`,target:`_blank`,rel:`noopener noreferrer`,children:`GitHub releases`}),`, or build from source:`]}),(0,d.jsx)(p,{label:`from source`,children:`git clone https://github.com/Bangkahdev/DevOpsGen.git cd DevOpsGen make build`}),(0,d.jsx)(`h2`,{children:`Two ways to run it`}),(0,d.jsxs)(`ul`,{className:`step-list`,children:[(0,d.jsxs)(`li`,{children:[(0,d.jsx)(`strong`,{children:`Interactive:`}),` run `,(0,d.jsx)(`code`,{children:`devopsgen init`}),` in a terminal — the wizard detects your stack and interviews you step by step.`]}),(0,d.jsxs)(`li`,{children:[(0,d.jsx)(`strong`,{children:`Headless:`}),` pass every required parameter as flags — the process never waits for stdin, which makes it script- and CI-friendly.`]})]}),(0,d.jsx)(`h2`,{children:`Headless quickstart`}),(0,d.jsx)(p,{label:`inside your project`,children:`devopsgen init --stack go --ci github-actions --registry ghcr --image you/myapp --port 8080`}),(0,d.jsx)(f,{rel:e,name:`init-success.png`,alt:`Terminal capture of devopsgen init completing successfully and reporting five files created`,caption:`A successful first run — five files created, exit code 0.`,feature:`shot-feature`}),(0,d.jsx)(`p`,{children:`Inside a Go project this writes:`}),(0,d.jsx)(p,{label:`what you get`,children:`.github/workflows/ci.yml # tests (when configured), docker build & push kubernetes/deployment.yaml # image, port, resources, optional probes kubernetes/service.yaml # cluster service for the app kubernetes/ingress.yaml # only with --ingress Dockerfile # hardened multi-stage build -.dockerignore # slim build context, secrets excluded`}),(0,d.jsxs)(`div`,{className:`callout`,children:[`Second runs are safe: DevOpsGen refuses to overwrite without `,(0,d.jsx)(`code`,{children:`--force`}),` and exits with code 3 — see `,(0,d.jsx)(`a`,{href:`${e}init/`,children:`the init reference`}),`.`]}),(0,d.jsx)(`h2`,{children:`Next steps`}),(0,d.jsxs)(`ul`,{children:[(0,d.jsxs)(`li`,{children:[`Prefer point-and-press? Tour the `,(0,d.jsx)(`a`,{href:`${e}wizard/`,children:`interactive wizard`}),`.`]}),(0,d.jsxs)(`li`,{children:[`Every `,(0,d.jsx)(`code`,{children:`init`}),` flag explained: `,(0,d.jsx)(`a`,{href:`${e}init/`,children:`init command`}),`.`]}),(0,d.jsxs)(`li`,{children:[`Building your own CI around it? Read the `,(0,d.jsx)(`a`,{href:`${e}exit-codes/`,children:`exit codes`}),`.`]})]})]})}function y({rel:e}){return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(g,{kicker:`interactive wizard`,title:`The TUI wizard`,lede:`When you run devopsgen init in a real terminal without a flags-only invocation, a keyboard-driven wizard takes over — Enter accepts the recommended default at every step.`}),(0,d.jsx)(f,{rel:e,name:`wizard.png`,alt:`DevOpsGen wizard TUI showing the stack selection list with a highlighted highlighted selection and instructions`,caption:`Step 1 — stack choice. DevOpsGen pre-selects what its detector recommends.`,feature:`shot-feature`}),(0,d.jsx)(`h2`,{children:`How the interview flows`}),(0,d.jsxs)(`ul`,{className:`step-list`,children:[(0,d.jsxs)(`li`,{children:[(0,d.jsx)(`strong`,{children:`Stack`}),` — `,(0,d.jsx)(`code`,{children:`go`}),` or `,(0,d.jsx)(`code`,{children:`nodejs`}),`, pre-selected by the detector.`]}),(0,d.jsxs)(`li`,{children:[(0,d.jsx)(`strong`,{children:`Application type`}),` (Node.js only) — express, nextjs, vite, nestjs or generic.`]}),(0,d.jsxs)(`li`,{children:[(0,d.jsx)(`strong`,{children:`Commands`}),` — optional build / test / start commands; Enter keeps the defaults harvested from the project files.`]}),(0,d.jsxs)(`li`,{children:[(0,d.jsx)(`strong`,{children:`Port`}),` — the application port, 1–65535, validated on the spot.`]}),(0,d.jsxs)(`li`,{children:[(0,d.jsx)(`strong`,{children:`Registry`}),` — Docker Hub or GHCR (same as the`,` `,(0,d.jsx)(`code`,{children:`--registry`}),` flag).`]}),(0,d.jsxs)(`li`,{children:[(0,d.jsx)(`strong`,{children:`Container image`}),` — `,(0,d.jsx)(`code`,{children:`namespace/repository`}),`, no host, no tag.`]}),(0,d.jsxs)(`li`,{children:[(0,d.jsx)(`strong`,{children:`Kubernetes`}),` — whether to emit manifests, plus an optional host-based`,` `,(0,d.jsx)(`strong`,{children:`Ingress`}),` (RFC 1123 hostname).`]}),(0,d.jsxs)(`li`,{children:[(0,d.jsx)(`strong`,{children:`Summary & confirm`}),` — review every chosen value, confirm, and the files are written to the project root.`]})]}),(0,d.jsxs)(`div`,{className:`callout callout-info`,children:[`A wizard run is fully replayable: the same answers as equivalent flags. To automate the same result, pass the flags headless (`,(0,d.jsx)(`a`,{href:`${e}init/`,children:`init reference`}),`).`]}),(0,d.jsx)(`h2`,{children:`Keyboard`}),(0,d.jsx)(`div`,{className:`table-wrap`,children:(0,d.jsxs)(`table`,{children:[(0,d.jsx)(`thead`,{children:(0,d.jsxs)(`tr`,{children:[(0,d.jsx)(`th`,{children:`Key`}),(0,d.jsx)(`th`,{children:`Action`})]})}),(0,d.jsxs)(`tbody`,{children:[(0,d.jsxs)(`tr`,{children:[(0,d.jsx)(`td`,{children:(0,d.jsx)(m,{children:`Enter`})}),(0,d.jsx)(`td`,{children:`Confirm current selection / printed default`})]}),(0,d.jsxs)(`tr`,{children:[(0,d.jsxs)(`td`,{children:[(0,d.jsx)(m,{children:`↑`}),` `,(0,d.jsx)(m,{children:`↓`})]}),(0,d.jsx)(`td`,{children:`Move within list choices`})]}),(0,d.jsxs)(`tr`,{children:[(0,d.jsx)(`td`,{children:`typed text`}),(0,d.jsx)(`td`,{children:`Fill textual answers (port, image, host)`})]}),(0,d.jsxs)(`tr`,{children:[(0,d.jsx)(`td`,{children:(0,d.jsx)(m,{children:`Ctrl+C`})}),(0,d.jsx)(`td`,{children:`Abort the wizard without writing anything`})]})]})]})}),(0,d.jsx)(`h2`,{children:`Safety during the run`}),(0,d.jsxs)(`p`,{children:[`Everything until the final confirmation is bound to memory only — aborting leaves the project untouched. The write itself follows the same rules as headless mode: never-overwrite-unless-`,(0,d.jsx)(`code`,{children:`--force`}),`, backups, and rollback on mid-run failure.`]})]})}function b({rel:e}){return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(g,{kicker:`command reference`,title:`devopsgen init`,lede:`Initialize DevOps configuration. In an interactive terminal with no complete configuration the TUI wizard is launched; when all required parameters are supplied via flags the process runs headless and never waits for stdin.`}),(0,d.jsx)(p,{label:`synopsis`,children:`devopsgen init [flags]`}),(0,d.jsx)(`h2`,{children:`Flags`}),(0,d.jsx)(`div`,{className:`table-wrap`,children:(0,d.jsxs)(`table`,{children:[(0,d.jsx)(`thead`,{children:(0,d.jsxs)(`tr`,{children:[(0,d.jsx)(`th`,{children:`Flag`}),(0,d.jsx)(`th`,{children:`Default`}),(0,d.jsx)(`th`,{children:`Description`})]})}),(0,d.jsxs)(`tbody`,{children:[(0,d.jsxs)(`tr`,{children:[(0,d.jsx)(`td`,{className:`flag-name`,children:`--stack`}),(0,d.jsx)(`td`,{children:`auto-detected`}),(0,d.jsxs)(`td`,{children:[`Project stack: `,(0,d.jsx)(`code`,{children:`go`}),` or `,(0,d.jsx)(`code`,{children:`nodejs`}),`.`]})]}),(0,d.jsxs)(`tr`,{children:[(0,d.jsx)(`td`,{className:`flag-name`,children:`--app-type`}),(0,d.jsx)(`td`,{children:`auto-detected`}),(0,d.jsxs)(`td`,{children:[`Application type (see `,(0,d.jsx)(`code`,{children:`devopsgen list`}),`).`]})]}),(0,d.jsxs)(`tr`,{children:[(0,d.jsx)(`td`,{className:`flag-name`,children:`--ci`}),(0,d.jsx)(`td`,{children:(0,d.jsx)(`code`,{children:`github-actions`})}),(0,d.jsx)(`td`,{children:`CI provider.`})]}),(0,d.jsxs)(`tr`,{children:[(0,d.jsx)(`td`,{className:`flag-name`,children:`--registry`}),(0,d.jsx)(`td`,{children:(0,d.jsx)(`code`,{children:`dockerhub`})}),(0,d.jsxs)(`td`,{children:[`Container registry: `,(0,d.jsx)(`code`,{children:`dockerhub`}),` or `,(0,d.jsx)(`code`,{children:`ghcr`}),`.`]})]}),(0,d.jsxs)(`tr`,{children:[(0,d.jsx)(`td`,{className:`flag-name`,children:`--image`}),(0,d.jsx)(`td`,{children:`—`}),(0,d.jsxs)(`td`,{children:[`Image repository as `,(0,d.jsx)(`code`,{children:`namespace/repository`}),` — no host and no tag.`]})]}),(0,d.jsxs)(`tr`,{children:[(0,d.jsx)(`td`,{className:`flag-name`,children:`--tag`}),(0,d.jsx)(`td`,{children:(0,d.jsx)(`code`,{children:`latest`})}),(0,d.jsx)(`td`,{children:`Additional image tag alias.`})]}),(0,d.jsxs)(`tr`,{children:[(0,d.jsx)(`td`,{className:`flag-name`,children:`--port`}),(0,d.jsx)(`td`,{children:`—`}),(0,d.jsx)(`td`,{children:`Application port, 1–65535.`})]}),(0,d.jsxs)(`tr`,{children:[(0,d.jsx)(`td`,{className:`flag-name`,children:`--k8s`}),(0,d.jsx)(`td`,{children:(0,d.jsx)(`code`,{children:`true`})}),(0,d.jsx)(`td`,{children:`Generate Kubernetes manifests.`})]}),(0,d.jsxs)(`tr`,{children:[(0,d.jsx)(`td`,{className:`flag-name`,children:`--ingress`}),(0,d.jsx)(`td`,{children:`off`}),(0,d.jsxs)(`td`,{children:[`Enable Kubernetes Ingress (requires `,(0,d.jsx)(`code`,{children:`--ingress-host`}),`).`]})]}),(0,d.jsxs)(`tr`,{children:[(0,d.jsx)(`td`,{className:`flag-name`,children:`--ingress-host`}),(0,d.jsx)(`td`,{children:`—`}),(0,d.jsx)(`td`,{children:`Ingress hostname, validated as RFC 1123.`})]}),(0,d.jsxs)(`tr`,{children:[(0,d.jsx)(`td`,{className:`flag-name`,children:`--health-path`}),(0,d.jsx)(`td`,{children:`—`}),(0,d.jsx)(`td`,{children:`HTTP health probe path wired into manifests.`})]}),(0,d.jsxs)(`tr`,{children:[(0,d.jsx)(`td`,{className:`flag-name`,children:`--build-cmd`}),(0,d.jsx)(`td`,{children:`—`}),(0,d.jsx)(`td`,{children:`Build command.`})]}),(0,d.jsxs)(`tr`,{children:[(0,d.jsx)(`td`,{className:`flag-name`,children:`--build-path`}),(0,d.jsx)(`td`,{children:(0,d.jsx)(`code`,{children:`.`})}),(0,d.jsx)(`td`,{children:`Go package path to build inside the container.`})]}),(0,d.jsxs)(`tr`,{children:[(0,d.jsx)(`td`,{className:`flag-name`,children:`--start-cmd`}),(0,d.jsx)(`td`,{children:`—`}),(0,d.jsx)(`td`,{children:`Startup command.`})]}),(0,d.jsxs)(`tr`,{children:[(0,d.jsx)(`td`,{className:`flag-name`,children:`--test-cmd`}),(0,d.jsx)(`td`,{children:`—`}),(0,d.jsx)(`td`,{children:`Test command.`})]}),(0,d.jsxs)(`tr`,{children:[(0,d.jsx)(`td`,{className:`flag-name`,children:`--output-dir`}),(0,d.jsx)(`td`,{children:(0,d.jsx)(`code`,{children:`.`})}),(0,d.jsx)(`td`,{children:`Output directory.`})]}),(0,d.jsxs)(`tr`,{children:[(0,d.jsx)(`td`,{className:`flag-name`,children:`--dry-run`}),(0,d.jsx)(`td`,{children:`off`}),(0,d.jsx)(`td`,{children:`Simulate without writing anything.`})]}),(0,d.jsxs)(`tr`,{children:[(0,d.jsx)(`td`,{className:`flag-name`,children:`--force`}),(0,d.jsx)(`td`,{children:`off`}),(0,d.jsx)(`td`,{children:`Overwrite existing regular files.`})]})]})]})}),(0,d.jsx)(`h2`,{children:`Success & conflicts`}),(0,d.jsxs)(`p`,{children:[`A clean run writes every template and exits with`,` `,(0,d.jsx)(h,{tone:`ok`,children:`0`}),`. A second run over an existing project stops before touching anything and exits with `,(0,d.jsx)(h,{tone:`warn`,children:`3`}),` until you add `,(0,d.jsx)(`code`,{children:`--force`}),`:`]}),(0,d.jsxs)(`div`,{className:`screen-strip`,children:[(0,d.jsx)(f,{rel:e,name:`init-success.png`,alt:`devopsgen init success output with exit code 0`,caption:`First run: five files created, exit code 0.`}),(0,d.jsx)(f,{rel:e,name:`init-conflict.png`,alt:`devopsgen init conflict error refusing to overwrite files with exit code 3`,caption:`Re-run without --force: exit code 3, zero files touched.`})]}),(0,d.jsx)(`h2`,{children:`Preview plans with --dry-run`}),(0,d.jsxs)(`p`,{children:[(0,d.jsx)(`code`,{children:`--dry-run`}),` prints the byte-plan: which files would be created, which would be replaced, and which are in conflict. With a conflict present it exits`,` `,(0,d.jsx)(h,{tone:`warn`,children:`3`}),`; combined with `,(0,d.jsx)(`code`,{children:`--force`}),` a fully green plan exits`,` `,(0,d.jsx)(h,{tone:`ok`,children:`0`}),` without writing anything:`]}),(0,d.jsxs)(`div`,{className:`screen-strip`,children:[(0,d.jsx)(f,{rel:e,name:`dry-run.png`,alt:`devopsgen dry-run plan output showing replace and conflict entries with exit code 3`,caption:`--dry-run over an existing project: conflict entries, exit code 3.`}),(0,d.jsx)(f,{rel:e,name:`dry-run-force.png`,alt:`devopsgen dry-run force plan output where every file would be replaced, exit code 0`,caption:`--dry-run --force: every file replaced in plan form, exit code 0.`})]}),(0,d.jsx)(`h2`,{children:`Config validation`}),(0,d.jsxs)(`p`,{children:[`Invalid configuration fails fast with `,(0,d.jsx)(h,{tone:`err`,children:`2`}),` before any file is planned — e.g. an image that must be `,(0,d.jsx)(`code`,{children:`namespace/repository`}),` without host or tag, a port outside 1–65535, or an Ingress without a host:`]}),(0,d.jsx)(f,{rel:e,name:`invalid-config.png`,alt:`devopsgen init failing config validation on an invalid image with exit code 2`,caption:`Config errors exit with code 2 and never write files.`,feature:`shot-feature`}),(0,d.jsxs)(`div`,{className:`callout callout-ok`,children:[`Overwrites performed with `,(0,d.jsx)(`code`,{children:`--force`}),` keep the previous content as`,` `,(0,d.jsx)(`code`,{children:`.devopsgen.bak`}),` backups, and any failure mid-run triggers a best-effort rollback to the pre-run state.`]})]})}function ee({rel:e}){return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(g,{kicker:`command reference`,title:`devopsgen detect`,lede:`Inspect the current project and report what DevOpsGen would scaffold for it: the programming stack, the exact files that shaped the decision, and the candidate application types.`}),(0,d.jsx)(f,{rel:e,name:`detect.png`,alt:`devopsgen detect output in a terminal reporting stack go with indicators go.mod`,caption:`devopsgen detect inside a Go module — chain of evidence straight from the filesystem.`,feature:`shot-feature`}),(0,d.jsx)(`h2`,{children:`Reading the output`}),(0,d.jsx)(`div`,{className:`table-wrap`,children:(0,d.jsxs)(`table`,{children:[(0,d.jsx)(`thead`,{children:(0,d.jsxs)(`tr`,{children:[(0,d.jsx)(`th`,{children:`Line`}),(0,d.jsx)(`th`,{children:`Meaning`})]})}),(0,d.jsxs)(`tbody`,{children:[(0,d.jsxs)(`tr`,{children:[(0,d.jsx)(`td`,{children:(0,d.jsx)(`code`,{children:`stack: go`})}),(0,d.jsxs)(`td`,{children:[`The detected programming stack (`,(0,d.jsx)(`code`,{children:`go`}),` or `,(0,d.jsx)(`code`,{children:`nodejs`}),`).`]})]}),(0,d.jsxs)(`tr`,{children:[(0,d.jsx)(`td`,{children:(0,d.jsx)(`code`,{children:`indicators: go.mod, ...`})}),(0,d.jsx)(`td`,{children:`The files that produced evidence — your audit trail for why the stack matched.`})]}),(0,d.jsxs)(`tr`,{children:[(0,d.jsx)(`td`,{children:(0,d.jsx)(`code`,{children:`app-type candidates: binary`})}),(0,d.jsx)(`td`,{children:`Application types plausible for this project; the wizard default comes from here too.`})]})]})]})}),(0,d.jsx)(`h2`,{children:`How it decides`}),(0,d.jsxs)(`ul`,{children:[(0,d.jsxs)(`li`,{children:[`Go — `,(0,d.jsx)(`code`,{children:`go.mod`}),` and its module directive looking like`,` `,(0,d.jsx)(`code`,{children:`module example.com/app`}),`.`]}),(0,d.jsxs)(`li`,{children:[`Node.js — `,(0,d.jsx)(`code`,{children:`package.json`}),`, plus its dependencies, and lockfile flavours (npm / pnpm) that later steer Docker image commands.`]}),(0,d.jsxs)(`li`,{children:[`Ambiguity or zero indicators produce a distinct exit code (5) so scripts can branch safely — see `,(0,d.jsx)(`a`,{href:`${e}exit-codes/`,children:`exit codes`}),`.`]})]}),(0,d.jsxs)(`div`,{className:`callout`,children:[`Detection semantics: DevOpsGen detects in the current working directory, not in`,` `,(0,d.jsx)(`code`,{children:`--output-dir`}),`. Run it from the project you want scanned.`]})]})}function te({rel:e}){return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(g,{kicker:`command reference`,title:`devopsgen validate`,lede:`Statically lint DevOpsGen output — Dockerfiles, GitHub Actions workflows and Kubernetes manifests — so problems surface on your laptop instead of pipeline number forty.`}),(0,d.jsx)(f,{rel:e,name:`validate.png`,alt:`devopsgen validate passing with the message internal validation passed and exit code 0`,caption:`Everything checks out — exit code 0.`,feature:`shot-feature`}),(0,d.jsx)(p,{label:`synopsis`,children:`devopsgen validate [flags] # validate the current project -devopsgen validate --output-dir ./configs`}),(0,d.jsx)(`h2`,{children:`What it checks`}),(0,d.jsxs)(`div`,{className:`cards`,children:[(0,d.jsxs)(`div`,{className:`card`,children:[(0,d.jsx)(`h3`,{children:`Docker`}),(0,d.jsxs)(`ul`,{children:[(0,d.jsxs)(`li`,{children:[(0,d.jsx)(`code`,{children:`FROM`}),` instruction is present`]}),(0,d.jsxs)(`li`,{children:[`no `,(0,d.jsx)(`code`,{children:`docker login`}),` (credentials) inside image builds`]}),(0,d.jsxs)(`li`,{children:[(0,d.jsx)(`code`,{children:`COPY`}),`/`,(0,d.jsx)(`code`,{children:`ADD`}),` free of shell chaining (`,(0,d.jsx)(`code`,{children:`&&`}),`, `,(0,d.jsx)(`code`,{children:`||`}),`, `,(0,d.jsx)(`code`,{children:`2>/dev/null`}),`)`]})]})]}),(0,d.jsxs)(`div`,{className:`card`,children:[(0,d.jsx)(`h3`,{children:`GitHub Actions`}),(0,d.jsxs)(`ul`,{children:[(0,d.jsxs)(`li`,{children:[`parses as a single workflow document with `,(0,d.jsx)(`code`,{children:`name`}),`, `,(0,d.jsx)(`code`,{children:`on`}),`, `,(0,d.jsx)(`code`,{children:`jobs`}),` and steps`]}),(0,d.jsxs)(`li`,{children:[`a `,(0,d.jsx)(`code`,{children:`actions/checkout`}),` step exists`]}),(0,d.jsx)(`li`,{children:`the image push references the commit SHA tag`}),(0,d.jsx)(`li`,{children:`no unrendered template actions leak into the output`})]})]}),(0,d.jsxs)(`div`,{className:`card`,children:[(0,d.jsx)(`h3`,{children:`Kubernetes`}),(0,d.jsxs)(`ul`,{children:[(0,d.jsxs)(`li`,{children:[`Deployment: selector ↔ template label consistency, unique container names, integer `,(0,d.jsx)(`code`,{children:`containerPort`}),` in 1–65535`]}),(0,d.jsxs)(`li`,{children:[`Service: selector plus `,(0,d.jsx)(`code`,{children:`port`}),`/`,(0,d.jsx)(`code`,{children:`targetPort`}),` pairs`]}),(0,d.jsxs)(`li`,{children:[`Ingress: `,(0,d.jsx)(`code`,{children:`networking.k8s.io/v1`}),`, valid `,(0,d.jsx)(`code`,{children:`pathType`}),`, wired `,(0,d.jsx)(`code`,{children:`backend.service`})]}),(0,d.jsx)(`li`,{children:`Service ↔ Ingress backends stay consistent`})]})]})]}),(0,d.jsx)(`h2`,{children:`Exit behaviour`}),(0,d.jsxs)(`ul`,{children:[(0,d.jsxs)(`li`,{children:[(0,d.jsx)(h,{tone:`ok`,children:`0`}),` — all documents passed.`]}),(0,d.jsxs)(`li`,{children:[(0,d.jsx)(h,{tone:`err`,children:`4`}),` — a document failed lint rules, does not parse, or required artifacts are missing.`]}),(0,d.jsxs)(`li`,{children:[(0,d.jsx)(h,{tone:`warn`,children:`1`}),` — the output directory itself could not be read.`]}),(0,d.jsxs)(`li`,{children:[(0,d.jsx)(h,{tone:`err`,children:`2`}),` — malformed input (invalid flags).`]})]}),(0,d.jsxs)(`p`,{children:[`Combine with `,(0,d.jsx)(`code`,{children:`devopsgen init`}),` in CI: generate, commit, validate, deploy — the`,` `,(0,d.jsx)(`a`,{href:`${e}exit-codes/`,children:`exit codes`}),` page maps every failure class.`]}),(0,d.jsxs)(`p`,{children:[`Combine with `,(0,d.jsx)(`code`,{children:`devopsgen init`}),` in CI: generate, commit, validate, deploy — the`,` `,(0,d.jsx)(`a`,{href:`${e}exit-codes/`,children:`exit codes`}),` page maps every failure class.`]})]})}function ne({rel:e}){return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(g,{kicker:`ci integration`,title:`Exit codes`,lede:`Every DevOpsGen command exits with a stable, documented status code so shells, scripts and CI jobs can branch deterministically — no output parsing required.`}),(0,d.jsx)(`div`,{className:`table-wrap`,children:(0,d.jsxs)(`table`,{children:[(0,d.jsx)(`thead`,{children:(0,d.jsxs)(`tr`,{children:[(0,d.jsx)(`th`,{children:`Code`}),(0,d.jsx)(`th`,{children:`Classification`}),(0,d.jsx)(`th`,{children:`Meaning`}),(0,d.jsx)(`th`,{children:`Typical example`})]})}),(0,d.jsxs)(`tbody`,{children:[(0,d.jsxs)(`tr`,{children:[(0,d.jsx)(`td`,{className:`num`,children:`0`}),(0,d.jsx)(`td`,{children:(0,d.jsx)(`span`,{className:`badge badge-ok`,children:`success`})}),(0,d.jsx)(`td`,{children:`Everything requested completed; dry-run plans that resolved cleanly also end here.`}),(0,d.jsxs)(`td`,{children:[(0,d.jsx)(`code`,{children:`init`}),` created 5 files; `,(0,d.jsx)(`code`,{children:`--dry-run --force`}),` plan is green.`]})]}),(0,d.jsxs)(`tr`,{children:[(0,d.jsx)(`td`,{className:`num`,children:`1`}),(0,d.jsx)(`td`,{children:(0,d.jsx)(`span`,{className:`badge badge-err`,children:`general error`})}),(0,d.jsx)(`td`,{children:`Unexpected failure — I/O errors, template issues, or a run that failed mid-write and rolled back.`}),(0,d.jsxs)(`td`,{children:[`Disk full while writing `,(0,d.jsx)(`code`,{children:`deployment.yaml`}),`.`]})]}),(0,d.jsxs)(`tr`,{children:[(0,d.jsx)(`td`,{className:`num`,children:`2`}),(0,d.jsx)(`td`,{children:(0,d.jsx)(`span`,{className:`badge badge-err`,children:`invalid input`})}),(0,d.jsx)(`td`,{children:`Configuration failed validation before anything was planned or written.`}),(0,d.jsxs)(`td`,{children:[(0,d.jsx)(`code`,{children:`--image BANGKAH/my-app`}),`; port `,(0,d.jsx)(`code`,{children:`-1`}),`; Ingress without host.`]})]}),(0,d.jsxs)(`tr`,{children:[(0,d.jsx)(`td`,{className:`num`,children:`3`}),(0,d.jsx)(`td`,{children:(0,d.jsx)(`span`,{className:`badge badge-warn`,children:`conflict`})}),(0,d.jsxs)(`td`,{children:[`Target files already exist and would be overwritten; nothing was written. Retried with `,(0,d.jsx)(`code`,{children:`--force`}),`.`]}),(0,d.jsxs)(`td`,{children:[`Second `,(0,d.jsx)(`code`,{children:`init`}),` without `,(0,d.jsx)(`code`,{children:`--force`}),`.`]})]}),(0,d.jsxs)(`tr`,{children:[(0,d.jsx)(`td`,{className:`num`,children:`4`}),(0,d.jsx)(`td`,{children:(0,d.jsx)(`span`,{className:`badge badge-err`,children:`validation failed`})}),(0,d.jsx)(`td`,{children:`Rejected output: a template rendering failure, required artifacts missing, or generated documents failing the static lint rules.`}),(0,d.jsx)(`td`,{children:`A workflow that never publishes the commit SHA tag.`})]}),(0,d.jsxs)(`tr`,{children:[(0,d.jsx)(`td`,{className:`num`,children:`5`}),(0,d.jsx)(`td`,{children:(0,d.jsx)(`span`,{className:`badge badge-warn`,children:`detection`})}),(0,d.jsx)(`td`,{children:`Stack detection was ambiguous or found nothing at all.`}),(0,d.jsxs)(`td`,{children:[`Empty directory without `,(0,d.jsx)(`code`,{children:`go.mod`}),` / `,(0,d.jsx)(`code`,{children:`package.json`}),`.`]})]})]})]})}),(0,d.jsx)(`h2`,{children:`In practice`}),(0,d.jsxs)(`div`,{className:`screen-strip`,children:[(0,d.jsx)(f,{rel:e,name:`invalid-config.png`,alt:`devopsgen exiting with code 2 after failing image validation`,caption:`Exit 2 — config rejected before planning.`}),(0,d.jsx)(f,{rel:e,name:`init-conflict.png`,alt:`devopsgen exiting with code 3 on existing files`,caption:`Exit 3 — conflict, nothing written.`})]}),(0,d.jsx)(p,{label:`shell script branching`,children:`devopsgen init --stack go --registry ghcr --image you/myapp --port 8080 +.dockerignore # slim build context, secrets excluded`}),(0,d.jsxs)(`div`,{className:`callout`,children:[`Second runs are safe: DevOpsGen refuses to overwrite without `,(0,d.jsx)(`code`,{children:`--force`}),` and exits with code 3 — see `,(0,d.jsx)(`a`,{href:`${e}init/`,children:`the init reference`}),`.`]}),(0,d.jsx)(`h2`,{children:`Next steps`}),(0,d.jsxs)(`ul`,{children:[(0,d.jsxs)(`li`,{children:[`Prefer point-and-press? Tour the `,(0,d.jsx)(`a`,{href:`${e}wizard/`,children:`interactive wizard`}),`.`]}),(0,d.jsxs)(`li`,{children:[`Every `,(0,d.jsx)(`code`,{children:`init`}),` flag explained: `,(0,d.jsx)(`a`,{href:`${e}init/`,children:`init command`}),`.`]}),(0,d.jsxs)(`li`,{children:[`Building your own CI around it? Read the `,(0,d.jsx)(`a`,{href:`${e}exit-codes/`,children:`exit codes`}),`.`]})]})]})}function y({rel:e}){return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(g,{kicker:`interactive wizard`,title:`The TUI wizard`,lede:`When you run devopsgen init in a real terminal without a flags-only invocation, a keyboard-driven wizard takes over — Enter accepts the recommended default at every step.`}),(0,d.jsx)(f,{rel:e,name:`wizard.png`,alt:`DevOpsGen wizard TUI showing the stack selection list with a highlighted highlighted selection and instructions`,caption:`Step 1 — stack choice. DevOpsGen pre-selects what its detector recommends.`,feature:`shot-feature`}),(0,d.jsx)(`h2`,{children:`How the interview flows`}),(0,d.jsxs)(`ul`,{className:`step-list`,children:[(0,d.jsxs)(`li`,{children:[(0,d.jsx)(`strong`,{children:`Stack`}),` — `,(0,d.jsx)(`code`,{children:`go`}),` or `,(0,d.jsx)(`code`,{children:`nodejs`}),`, pre-selected by the detector.`]}),(0,d.jsxs)(`li`,{children:[(0,d.jsx)(`strong`,{children:`Application type`}),` (Node.js only) — express, nextjs, vite, nestjs or generic.`]}),(0,d.jsxs)(`li`,{children:[(0,d.jsx)(`strong`,{children:`Commands`}),` — optional build / test / start commands; Enter keeps the defaults harvested from the project files.`]}),(0,d.jsxs)(`li`,{children:[(0,d.jsx)(`strong`,{children:`Port`}),` — the application port, 1–65535, validated on the spot.`]}),(0,d.jsxs)(`li`,{children:[(0,d.jsx)(`strong`,{children:`Registry`}),` — Docker Hub or GHCR (same as the`,` `,(0,d.jsx)(`code`,{children:`--registry`}),` flag).`]}),(0,d.jsxs)(`li`,{children:[(0,d.jsx)(`strong`,{children:`Container image`}),` — `,(0,d.jsx)(`code`,{children:`namespace/repository`}),`, no host, no tag.`]}),(0,d.jsxs)(`li`,{children:[(0,d.jsx)(`strong`,{children:`Kubernetes`}),` — whether to emit manifests, plus an optional host-based`,` `,(0,d.jsx)(`strong`,{children:`Ingress`}),` (RFC 1123 hostname).`]}),(0,d.jsxs)(`li`,{children:[(0,d.jsx)(`strong`,{children:`Summary & confirm`}),` — review every chosen value, confirm, and the files are written to the project root.`]})]}),(0,d.jsxs)(`div`,{className:`callout callout-info`,children:[`A wizard run is fully replayable: the same answers as equivalent flags. To automate the same result, pass the flags headless (`,(0,d.jsx)(`a`,{href:`${e}init/`,children:`init reference`}),`).`]}),(0,d.jsx)(`h2`,{children:`Keyboard`}),(0,d.jsx)(`div`,{className:`table-wrap`,children:(0,d.jsxs)(`table`,{children:[(0,d.jsx)(`thead`,{children:(0,d.jsxs)(`tr`,{children:[(0,d.jsx)(`th`,{children:`Key`}),(0,d.jsx)(`th`,{children:`Action`})]})}),(0,d.jsxs)(`tbody`,{children:[(0,d.jsxs)(`tr`,{children:[(0,d.jsx)(`td`,{children:(0,d.jsx)(m,{children:`Enter`})}),(0,d.jsx)(`td`,{children:`Confirm current selection / printed default`})]}),(0,d.jsxs)(`tr`,{children:[(0,d.jsxs)(`td`,{children:[(0,d.jsx)(m,{children:`↑`}),` `,(0,d.jsx)(m,{children:`↓`})]}),(0,d.jsx)(`td`,{children:`Move within list choices`})]}),(0,d.jsxs)(`tr`,{children:[(0,d.jsx)(`td`,{children:`typed text`}),(0,d.jsx)(`td`,{children:`Fill textual answers (port, image, host)`})]}),(0,d.jsxs)(`tr`,{children:[(0,d.jsx)(`td`,{children:(0,d.jsx)(m,{children:`Ctrl+C`})}),(0,d.jsx)(`td`,{children:`Abort the wizard without writing anything`})]})]})]})}),(0,d.jsx)(`h2`,{children:`Safety during the run`}),(0,d.jsxs)(`p`,{children:[`Everything until the final confirmation is bound to memory only — aborting leaves the project untouched. The write itself follows the same rules as headless mode: never-overwrite-unless-`,(0,d.jsx)(`code`,{children:`--force`}),`, backups, and rollback on mid-run failure.`]})]})}function b({rel:e}){return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(g,{kicker:`command reference`,title:`devopsgen init`,lede:`Initialize DevOps configuration. In an interactive terminal with no complete configuration the TUI wizard is launched; when all required parameters are supplied via flags the process runs headless and never waits for stdin.`}),(0,d.jsx)(p,{label:`synopsis`,children:`devopsgen init [flags]`}),(0,d.jsx)(`h2`,{children:`Flags`}),(0,d.jsx)(`div`,{className:`table-wrap`,children:(0,d.jsxs)(`table`,{children:[(0,d.jsx)(`thead`,{children:(0,d.jsxs)(`tr`,{children:[(0,d.jsx)(`th`,{children:`Flag`}),(0,d.jsx)(`th`,{children:`Default`}),(0,d.jsx)(`th`,{children:`Description`})]})}),(0,d.jsxs)(`tbody`,{children:[(0,d.jsxs)(`tr`,{children:[(0,d.jsx)(`td`,{className:`flag-name`,children:`--stack`}),(0,d.jsx)(`td`,{children:`auto-detected`}),(0,d.jsxs)(`td`,{children:[`Project stack: `,(0,d.jsx)(`code`,{children:`go`}),` or `,(0,d.jsx)(`code`,{children:`nodejs`}),`.`]})]}),(0,d.jsxs)(`tr`,{children:[(0,d.jsx)(`td`,{className:`flag-name`,children:`--app-type`}),(0,d.jsx)(`td`,{children:`auto-detected`}),(0,d.jsxs)(`td`,{children:[`Application type (see `,(0,d.jsx)(`code`,{children:`devopsgen list`}),`).`]})]}),(0,d.jsxs)(`tr`,{children:[(0,d.jsx)(`td`,{className:`flag-name`,children:`--ci`}),(0,d.jsx)(`td`,{children:(0,d.jsx)(`code`,{children:`github-actions`})}),(0,d.jsx)(`td`,{children:`CI provider.`})]}),(0,d.jsxs)(`tr`,{children:[(0,d.jsx)(`td`,{className:`flag-name`,children:`--registry`}),(0,d.jsx)(`td`,{children:(0,d.jsx)(`code`,{children:`dockerhub`})}),(0,d.jsxs)(`td`,{children:[`Container registry: `,(0,d.jsx)(`code`,{children:`dockerhub`}),` or `,(0,d.jsx)(`code`,{children:`ghcr`}),`.`]})]}),(0,d.jsxs)(`tr`,{children:[(0,d.jsx)(`td`,{className:`flag-name`,children:`--image`}),(0,d.jsx)(`td`,{children:`—`}),(0,d.jsxs)(`td`,{children:[`Image repository as `,(0,d.jsx)(`code`,{children:`namespace/repository`}),` — no host and no tag.`]})]}),(0,d.jsxs)(`tr`,{children:[(0,d.jsx)(`td`,{className:`flag-name`,children:`--tag`}),(0,d.jsx)(`td`,{children:(0,d.jsx)(`code`,{children:`latest`})}),(0,d.jsx)(`td`,{children:`Additional image tag alias.`})]}),(0,d.jsxs)(`tr`,{children:[(0,d.jsx)(`td`,{className:`flag-name`,children:`--port`}),(0,d.jsx)(`td`,{children:`—`}),(0,d.jsx)(`td`,{children:`Application port, 1–65535.`})]}),(0,d.jsxs)(`tr`,{children:[(0,d.jsx)(`td`,{className:`flag-name`,children:`--k8s`}),(0,d.jsx)(`td`,{children:(0,d.jsx)(`code`,{children:`true`})}),(0,d.jsx)(`td`,{children:`Generate Kubernetes manifests.`})]}),(0,d.jsxs)(`tr`,{children:[(0,d.jsx)(`td`,{className:`flag-name`,children:`--ingress`}),(0,d.jsx)(`td`,{children:`off`}),(0,d.jsxs)(`td`,{children:[`Enable Kubernetes Ingress (requires `,(0,d.jsx)(`code`,{children:`--ingress-host`}),`).`]})]}),(0,d.jsxs)(`tr`,{children:[(0,d.jsx)(`td`,{className:`flag-name`,children:`--ingress-host`}),(0,d.jsx)(`td`,{children:`—`}),(0,d.jsx)(`td`,{children:`Ingress hostname, validated as RFC 1123.`})]}),(0,d.jsxs)(`tr`,{children:[(0,d.jsx)(`td`,{className:`flag-name`,children:`--health-path`}),(0,d.jsx)(`td`,{children:`—`}),(0,d.jsx)(`td`,{children:`HTTP health probe path wired into manifests.`})]}),(0,d.jsxs)(`tr`,{children:[(0,d.jsx)(`td`,{className:`flag-name`,children:`--build-cmd`}),(0,d.jsx)(`td`,{children:`—`}),(0,d.jsx)(`td`,{children:`Build command.`})]}),(0,d.jsxs)(`tr`,{children:[(0,d.jsx)(`td`,{className:`flag-name`,children:`--build-path`}),(0,d.jsx)(`td`,{children:(0,d.jsx)(`code`,{children:`.`})}),(0,d.jsx)(`td`,{children:`Go package path to build inside the container.`})]}),(0,d.jsxs)(`tr`,{children:[(0,d.jsx)(`td`,{className:`flag-name`,children:`--start-cmd`}),(0,d.jsx)(`td`,{children:`—`}),(0,d.jsx)(`td`,{children:`Startup command.`})]}),(0,d.jsxs)(`tr`,{children:[(0,d.jsx)(`td`,{className:`flag-name`,children:`--test-cmd`}),(0,d.jsx)(`td`,{children:`—`}),(0,d.jsx)(`td`,{children:`Test command.`})]}),(0,d.jsxs)(`tr`,{children:[(0,d.jsx)(`td`,{className:`flag-name`,children:`--output-dir`}),(0,d.jsx)(`td`,{children:(0,d.jsx)(`code`,{children:`.`})}),(0,d.jsx)(`td`,{children:`Output directory.`})]}),(0,d.jsxs)(`tr`,{children:[(0,d.jsx)(`td`,{className:`flag-name`,children:`--dry-run`}),(0,d.jsx)(`td`,{children:`off`}),(0,d.jsx)(`td`,{children:`Simulate without writing anything.`})]}),(0,d.jsxs)(`tr`,{children:[(0,d.jsx)(`td`,{className:`flag-name`,children:`--force`}),(0,d.jsx)(`td`,{children:`off`}),(0,d.jsx)(`td`,{children:`Overwrite existing regular files.`})]})]})]})}),(0,d.jsx)(`h2`,{children:`Success & conflict behaviour`}),(0,d.jsxs)(`p`,{children:[`A clean run writes every template and exits with`,` `,(0,d.jsx)(h,{tone:`ok`,children:`0`}),`. A second run over an existing project stops before touching anything and exits with `,(0,d.jsx)(h,{tone:`warn`,children:`3`}),` until you add `,(0,d.jsx)(`code`,{children:`--force`}),`; a detailed walkthrough of that re-run path is on the`,` `,(0,d.jsx)(`a`,{href:`${e}exit-codes/`,children:`exit codes page`}),`.`]}),(0,d.jsx)(f,{rel:e,name:`init-success.png`,alt:`devopsgen init success output with exit code 0`,caption:`First run: five files created, exit code 0.`,feature:`shot-feature`}),(0,d.jsx)(`h2`,{children:`Preview plans with --dry-run`}),(0,d.jsxs)(`p`,{children:[(0,d.jsx)(`code`,{children:`--dry-run`}),` prints the byte-plan and writes nothing. On a fresh project it lists pure `,(0,d.jsx)(`code`,{children:`create`}),` rows and exits`,` `,(0,d.jsx)(h,{tone:`ok`,children:`0`}),`; combined with `,(0,d.jsx)(`code`,{children:`--force`}),` over an existing project it lists the exact files that would be `,(0,d.jsx)(`code`,{children:`replace`}),`d — still`,` `,(0,d.jsx)(h,{tone:`ok`,children:`0`}),`:`]}),(0,d.jsxs)(`div`,{className:`screen-strip`,children:[(0,d.jsx)(f,{rel:e,name:`dry-run.png`,alt:`devopsgen dry-run plan output showing five create entries with exit code 0`,caption:`--dry-run on a fresh project: pure create plan, exit code 0.`}),(0,d.jsx)(f,{rel:e,name:`dry-run-force.png`,alt:`devopsgen dry-run force plan output where every file would be replaced, exit code 0`,caption:`--dry-run --force: every file replaced in plan form, exit code 0.`})]}),(0,d.jsx)(`h2`,{children:`Config validation`}),(0,d.jsxs)(`p`,{children:[`Invalid configuration fails fast with `,(0,d.jsx)(h,{tone:`err`,children:`2`}),` before any file is planned and never writes files — e.g. an image that must be`,` `,(0,d.jsx)(`code`,{children:`namespace/repository`}),` without host or tag, a port outside 1–65535, or an Ingress without a host. The full code table lives on the`,` `,(0,d.jsx)(`a`,{href:`${e}exit-codes/`,children:`exit codes page`}),`.`]}),(0,d.jsxs)(`div`,{className:`callout callout-ok`,children:[`Overwrites performed with `,(0,d.jsx)(`code`,{children:`--force`}),` keep the previous content as`,` `,(0,d.jsx)(`code`,{children:`.devopsgen.bak`}),` backups, and any failure mid-run triggers a best-effort rollback to the pre-run state.`]})]})}function ee({rel:e}){return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(g,{kicker:`command reference`,title:`devopsgen detect`,lede:`Inspect the current project and report what DevOpsGen would scaffold for it: the programming stack, the exact files that shaped the decision, and the candidate application types.`}),(0,d.jsx)(f,{rel:e,name:`detect.png`,alt:`devopsgen detect output in a terminal reporting stack go with indicators go.mod`,caption:`devopsgen detect inside a Go module — chain of evidence straight from the filesystem.`,feature:`shot-feature`}),(0,d.jsx)(`h2`,{children:`Reading the output`}),(0,d.jsx)(`div`,{className:`table-wrap`,children:(0,d.jsxs)(`table`,{children:[(0,d.jsx)(`thead`,{children:(0,d.jsxs)(`tr`,{children:[(0,d.jsx)(`th`,{children:`Line`}),(0,d.jsx)(`th`,{children:`Meaning`})]})}),(0,d.jsxs)(`tbody`,{children:[(0,d.jsxs)(`tr`,{children:[(0,d.jsx)(`td`,{children:(0,d.jsx)(`code`,{children:`stack: go`})}),(0,d.jsxs)(`td`,{children:[`The detected programming stack (`,(0,d.jsx)(`code`,{children:`go`}),` or `,(0,d.jsx)(`code`,{children:`nodejs`}),`).`]})]}),(0,d.jsxs)(`tr`,{children:[(0,d.jsx)(`td`,{children:(0,d.jsx)(`code`,{children:`indicators: go.mod, ...`})}),(0,d.jsx)(`td`,{children:`The files that produced evidence — your audit trail for why the stack matched.`})]}),(0,d.jsxs)(`tr`,{children:[(0,d.jsx)(`td`,{children:(0,d.jsx)(`code`,{children:`app-type candidates: binary`})}),(0,d.jsx)(`td`,{children:`Application types plausible for this project; the wizard default comes from here too.`})]})]})]})}),(0,d.jsx)(`h2`,{children:`How it decides`}),(0,d.jsxs)(`ul`,{children:[(0,d.jsxs)(`li`,{children:[`Go — `,(0,d.jsx)(`code`,{children:`go.mod`}),` and its module directive looking like`,` `,(0,d.jsx)(`code`,{children:`module example.com/app`}),`.`]}),(0,d.jsxs)(`li`,{children:[`Node.js — `,(0,d.jsx)(`code`,{children:`package.json`}),`, plus its dependencies, and lockfile flavours (npm / pnpm) that later steer Docker image commands.`]}),(0,d.jsxs)(`li`,{children:[`Ambiguity or zero indicators produce a distinct exit code (5) so scripts can branch safely — see `,(0,d.jsx)(`a`,{href:`${e}exit-codes/`,children:`exit codes`}),`.`]})]}),(0,d.jsxs)(`div`,{className:`callout`,children:[`Detection semantics: DevOpsGen detects in the current working directory, not in`,` `,(0,d.jsx)(`code`,{children:`--output-dir`}),`. Run it from the project you want scanned.`]})]})}function te({rel:e}){return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(g,{kicker:`command reference`,title:`devopsgen validate`,lede:`Statically lint DevOpsGen output — Dockerfiles, GitHub Actions workflows and Kubernetes manifests — so problems surface on your laptop instead of pipeline number forty.`}),(0,d.jsx)(f,{rel:e,name:`validate.png`,alt:`devopsgen validate passing with the message internal validation passed and exit code 0`,caption:`Everything checks out — exit code 0.`,feature:`shot-feature`}),(0,d.jsx)(p,{label:`synopsis`,children:`devopsgen validate [flags] # validate the current project +devopsgen validate --output-dir ./configs`}),(0,d.jsx)(`h2`,{children:`What it checks`}),(0,d.jsxs)(`div`,{className:`cards`,children:[(0,d.jsxs)(`div`,{className:`card`,children:[(0,d.jsx)(`h3`,{children:`Docker`}),(0,d.jsxs)(`ul`,{children:[(0,d.jsxs)(`li`,{children:[(0,d.jsx)(`code`,{children:`FROM`}),` instruction is present`]}),(0,d.jsxs)(`li`,{children:[`no `,(0,d.jsx)(`code`,{children:`docker login`}),` (credentials) inside image builds`]}),(0,d.jsxs)(`li`,{children:[(0,d.jsx)(`code`,{children:`COPY`}),`/`,(0,d.jsx)(`code`,{children:`ADD`}),` free of shell chaining (`,(0,d.jsx)(`code`,{children:`&&`}),`, `,(0,d.jsx)(`code`,{children:`||`}),`, `,(0,d.jsx)(`code`,{children:`2>/dev/null`}),`)`]})]})]}),(0,d.jsxs)(`div`,{className:`card`,children:[(0,d.jsx)(`h3`,{children:`GitHub Actions`}),(0,d.jsxs)(`ul`,{children:[(0,d.jsxs)(`li`,{children:[`parses as a single workflow document with `,(0,d.jsx)(`code`,{children:`name`}),`, `,(0,d.jsx)(`code`,{children:`on`}),`, `,(0,d.jsx)(`code`,{children:`jobs`}),` and steps`]}),(0,d.jsxs)(`li`,{children:[`a `,(0,d.jsx)(`code`,{children:`actions/checkout`}),` step exists`]}),(0,d.jsx)(`li`,{children:`the image push references the commit SHA tag`}),(0,d.jsx)(`li`,{children:`no unrendered template actions leak into the output`})]})]}),(0,d.jsxs)(`div`,{className:`card`,children:[(0,d.jsx)(`h3`,{children:`Kubernetes`}),(0,d.jsxs)(`ul`,{children:[(0,d.jsxs)(`li`,{children:[`Deployment: selector ↔ template label consistency, unique container names, integer `,(0,d.jsx)(`code`,{children:`containerPort`}),` in 1–65535`]}),(0,d.jsxs)(`li`,{children:[`Service: selector plus `,(0,d.jsx)(`code`,{children:`port`}),`/`,(0,d.jsx)(`code`,{children:`targetPort`}),` pairs`]}),(0,d.jsxs)(`li`,{children:[`Ingress: `,(0,d.jsx)(`code`,{children:`networking.k8s.io/v1`}),`, valid `,(0,d.jsx)(`code`,{children:`pathType`}),`, wired `,(0,d.jsx)(`code`,{children:`backend.service`})]}),(0,d.jsx)(`li`,{children:`Service ↔ Ingress backends stay consistent`})]})]})]}),(0,d.jsx)(`h2`,{children:`Exit behaviour`}),(0,d.jsxs)(`ul`,{children:[(0,d.jsxs)(`li`,{children:[(0,d.jsx)(h,{tone:`ok`,children:`0`}),` — all documents passed.`]}),(0,d.jsxs)(`li`,{children:[(0,d.jsx)(h,{tone:`err`,children:`4`}),` — a document failed lint rules, does not parse, or required artifacts are missing.`]}),(0,d.jsxs)(`li`,{children:[(0,d.jsx)(h,{tone:`warn`,children:`1`}),` — the output directory itself could not be read.`]}),(0,d.jsxs)(`li`,{children:[(0,d.jsx)(h,{tone:`err`,children:`2`}),` — malformed input (invalid flags).`]})]}),(0,d.jsxs)(`p`,{children:[`Combine with `,(0,d.jsx)(`code`,{children:`devopsgen init`}),` in CI: generate, commit, validate, deploy — the`,` `,(0,d.jsx)(`a`,{href:`${e}exit-codes/`,children:`exit codes`}),` page maps every failure class.`]}),(0,d.jsxs)(`p`,{children:[`Combine with `,(0,d.jsx)(`code`,{children:`devopsgen init`}),` in CI: generate, commit, validate, deploy — the`,` `,(0,d.jsx)(`a`,{href:`${e}exit-codes/`,children:`exit codes`}),` page maps every failure class.`]})]})}function ne({rel:e}){return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(g,{kicker:`ci integration`,title:`Exit codes`,lede:`Every DevOpsGen command exits with a stable, documented status code so shells, scripts and CI jobs can branch deterministically — no output parsing required.`}),(0,d.jsx)(`div`,{className:`table-wrap`,children:(0,d.jsxs)(`table`,{children:[(0,d.jsx)(`thead`,{children:(0,d.jsxs)(`tr`,{children:[(0,d.jsx)(`th`,{children:`Code`}),(0,d.jsx)(`th`,{children:`Classification`}),(0,d.jsx)(`th`,{children:`Meaning`}),(0,d.jsx)(`th`,{children:`Typical example`})]})}),(0,d.jsxs)(`tbody`,{children:[(0,d.jsxs)(`tr`,{children:[(0,d.jsx)(`td`,{className:`num`,children:`0`}),(0,d.jsx)(`td`,{children:(0,d.jsx)(`span`,{className:`badge badge-ok`,children:`success`})}),(0,d.jsx)(`td`,{children:`Everything requested completed; dry-run plans that resolved cleanly also end here.`}),(0,d.jsxs)(`td`,{children:[(0,d.jsx)(`code`,{children:`init`}),` created 5 files; `,(0,d.jsx)(`code`,{children:`--dry-run --force`}),` plan is green.`]})]}),(0,d.jsxs)(`tr`,{children:[(0,d.jsx)(`td`,{className:`num`,children:`1`}),(0,d.jsx)(`td`,{children:(0,d.jsx)(`span`,{className:`badge badge-err`,children:`general error`})}),(0,d.jsx)(`td`,{children:`Unexpected failure — I/O errors, template issues, or a run that failed mid-write and rolled back.`}),(0,d.jsxs)(`td`,{children:[`Disk full while writing `,(0,d.jsx)(`code`,{children:`deployment.yaml`}),`.`]})]}),(0,d.jsxs)(`tr`,{children:[(0,d.jsx)(`td`,{className:`num`,children:`2`}),(0,d.jsx)(`td`,{children:(0,d.jsx)(`span`,{className:`badge badge-err`,children:`invalid input`})}),(0,d.jsx)(`td`,{children:`Configuration failed validation before anything was planned or written.`}),(0,d.jsxs)(`td`,{children:[(0,d.jsx)(`code`,{children:`--image BANGKAH/my-app`}),`; port `,(0,d.jsx)(`code`,{children:`-1`}),`; Ingress without host.`]})]}),(0,d.jsxs)(`tr`,{children:[(0,d.jsx)(`td`,{className:`num`,children:`3`}),(0,d.jsx)(`td`,{children:(0,d.jsx)(`span`,{className:`badge badge-warn`,children:`conflict`})}),(0,d.jsxs)(`td`,{children:[`Target files already exist and would be overwritten; nothing was written. Retried with `,(0,d.jsx)(`code`,{children:`--force`}),`.`]}),(0,d.jsxs)(`td`,{children:[`Second `,(0,d.jsx)(`code`,{children:`init`}),` without `,(0,d.jsx)(`code`,{children:`--force`}),`.`]})]}),(0,d.jsxs)(`tr`,{children:[(0,d.jsx)(`td`,{className:`num`,children:`4`}),(0,d.jsx)(`td`,{children:(0,d.jsx)(`span`,{className:`badge badge-err`,children:`validation failed`})}),(0,d.jsx)(`td`,{children:`Rejected output: a template rendering failure, required artifacts missing, or generated documents failing the static lint rules.`}),(0,d.jsx)(`td`,{children:`A workflow that never publishes the commit SHA tag.`})]}),(0,d.jsxs)(`tr`,{children:[(0,d.jsx)(`td`,{className:`num`,children:`5`}),(0,d.jsx)(`td`,{children:(0,d.jsx)(`span`,{className:`badge badge-warn`,children:`detection`})}),(0,d.jsx)(`td`,{children:`Stack detection was ambiguous or found nothing at all.`}),(0,d.jsxs)(`td`,{children:[`Empty directory without `,(0,d.jsx)(`code`,{children:`go.mod`}),` / `,(0,d.jsx)(`code`,{children:`package.json`}),`.`]})]})]})]})}),(0,d.jsx)(`h2`,{children:`In practice`}),(0,d.jsx)(f,{rel:e,name:`validate.png`,alt:`devopsgen validate reporting internal validation passed with exit code 0`,caption:`Exit 0 — internal validation passed.`,feature:`shot-feature`}),(0,d.jsx)(p,{label:`shell script branching`,children:`devopsgen init --stack go --registry ghcr --image you/myapp --port 8080 case $? in 0) echo "ready" ;; 3) devopsgen init --force --stack go --registry ghcr --image you/myapp --port 8080 ;; 2) echo "fix your flags" >&2 ;; *) echo "see devopsgen validate output" >&2 ;; -esac`}),(0,d.jsx)(`div`,{className:`callout callout-info`,children:`Codes are part of DevOpsGen's compatibility promise: bumping a major version may add new codes, but existing ones keep their meaning.`})]})}var re=`https://bangkahdev.github.io/DevOpsGen/`,x=[{path:``,component:_,title:`DevOpsGen — DevOps scaffolding for Go & Node.js projects`,description:`DevOpsGen generates production-ready Dockerfiles, GitHub Actions pipelines and Kubernetes manifests for Go and Node.js projects, with safe dry-run plans, automatic backups and config validation.`,keywords:`DevOpsGen, dockerfile generator, github actions generator, kubernetes manifests, go, nodejs, scaffolding, ci cd`,ogImage:`img/init-success.png`},{path:`getting-started`,component:v,title:`Getting Started — DevOpsGen Docs`,description:`Install DevOpsGen via go install or a release binary, then generate a complete Docker, CI and Kubernetes setup for your project with a single command.`,keywords:`DevOpsGen install, go install, quickstart, getting started`,ogImage:`img/init-success.png`},{path:`wizard`,component:y,title:`Interactive Wizard — DevOpsGen Docs`,description:`DevOpsGen launches an interactive TUI wizard that walks through stack detection, ports, container images and Kubernetes options, then writes the generated configuration.`,keywords:`DevOpsGen wizard, tui, bubbletea, interactive`,ogImage:`img/wizard.png`},{path:`init`,component:b,title:`init command — DevOpsGen Docs`,description:`Full reference for devopsgen init flags: stack, app type, CI provider, registry, image, port, Kubernetes ingress, health path, dry-run and force overwrite behaviour.`,keywords:`devopsgen init, flags, dry-run, force, image, ingress`,ogImage:`img/init-success.png`},{path:`detect`,component:ee,title:`detect command — DevOpsGen Docs`,description:`devopsgen detect inspects the current project and reports the programming stack, the files it based its decision on, and candidate application types.`,keywords:`devopsgen detect, stack detection, go.mod, package.json`,ogImage:`img/detect.png`},{path:`validate`,component:te,title:`validate command — DevOpsGen Docs`,description:`devopsgen validate statically checks generated Dockerfiles, GitHub Actions workflows and Kubernetes manifests: FROM digests, action pinning, naming rules, probes and more.`,keywords:`devopsgen validate, dockerfile lint, workflow lint, kubernetes manifest lint`,ogImage:`img/validate.png`},{path:`exit-codes`,component:ne,title:`Exit codes — DevOpsGen Docs`,description:`Every devopsgen command exits with a documented status code: 0 success, 1 general error, 2 invalid configuration, 3 file conflicts, 4 validation failure, 5 ambiguous detection.`,keywords:`devopsgen exit codes, ci integration, pipeline status`,ogImage:`img/invalid-config.png`}],ie=[{label:`Overview`,items:[`getting-started`,`wizard`]},{label:`Command reference`,items:[`init`,`detect`,`validate`]},{label:`Operations`,items:[`exit-codes`]}];function S({rel:e,activePath:t,children:n}){return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(`a`,{className:`skip`,href:`#main`,children:`skip to content`}),(0,d.jsxs)(`header`,{className:`topbar`,children:[(0,d.jsxs)(`a`,{className:`brand`,href:e||`./`,children:[(0,d.jsx)(`span`,{className:`brand-mark`,children:`DG`}),(0,d.jsx)(`span`,{className:`brand-name`,children:`DevOpsGen`}),(0,d.jsx)(`span`,{className:`brand-sub`,children:`DOCS`})]}),(0,d.jsx)(`a`,{className:`gh-pill`,href:`https://github.com/Bangkahdev/DevOpsGen`,rel:`noopener noreferrer`,target:`_blank`,children:`GitHub`})]}),(0,d.jsxs)(`div`,{className:`shell`,children:[(0,d.jsxs)(`aside`,{className:`sidebar`,"aria-label":`Documentation navigation`,children:[(0,d.jsx)(`a`,{className:`side-link side-home${t===``?` is-active`:``}`,href:e||`./`,children:`Home`}),ie.map(n=>(0,d.jsxs)(`div`,{className:`side-group`,children:[(0,d.jsx)(`p`,{className:`group-label`,children:n.label}),(0,d.jsx)(`ul`,{children:n.items.map(n=>{let r=x.find(e=>e.path===n);return(0,d.jsx)(`li`,{children:(0,d.jsx)(`a`,{className:`side-link${t===n?` is-active`:``}`,href:`${e}${n}/`,"aria-current":t===n?`page`:void 0,children:r?r.path.replace(/-/g,` `):n})},n)})})]},n.label))]}),(0,d.jsx)(`main`,{id:`main`,children:n})]}),(0,d.jsxs)(`footer`,{className:`footer`,children:[(0,d.jsxs)(`p`,{children:[`DevOpsGen — deterministic DevOps scaffolding for Go & Node.js.`,` `,(0,d.jsx)(`a`,{href:`${e}getting-started/`,children:`Get started`}),` or browse the`,` `,(0,d.jsx)(`a`,{href:`${e}exit-codes/`,children:`exit codes`}),`.`]}),(0,d.jsxs)(`p`,{className:`footer-links`,children:[(0,d.jsx)(`a`,{href:re,children:`canonical site`}),` · `,(0,d.jsx)(`a`,{href:`https://github.com/Bangkahdev/DevOpsGen`,children:`source code`})]})]})]})}var ae=x.find(e=>e.path===location.pathname.replace(/\/$/,``).replace(/^.*\//,``))??null,oe=ae&&ae.path===``?``:`../`,se=ae??x[0];(0,l.createRoot)(document.getElementById(`root`)).render((0,d.jsx)(S,{rel:oe,activePath:ae?ae.path:``,children:(0,d.jsx)(se.component,{rel:oe})})); \ No newline at end of file +esac`}),(0,d.jsx)(`div`,{className:`callout callout-info`,children:`Codes are part of DevOpsGen's compatibility promise: bumping a major version may add new codes, but existing ones keep their meaning.`})]})}var re=`https://bangkahdev.github.io/DevOpsGen/`,x=[{path:``,component:_,title:`DevOpsGen — DevOps scaffolding for Go & Node.js projects`,description:`DevOpsGen generates production-ready Dockerfiles, GitHub Actions pipelines and Kubernetes manifests for Go and Node.js projects, with safe dry-run plans, automatic backups and config validation.`,keywords:`DevOpsGen, dockerfile generator, github actions generator, kubernetes manifests, go, nodejs, scaffolding, ci cd`,ogImage:`img/init-success.png`},{path:`getting-started`,component:v,title:`Getting Started — DevOpsGen Docs`,description:`Install DevOpsGen via go install or a release binary, then generate a complete Docker, CI and Kubernetes setup for your project with a single command.`,keywords:`DevOpsGen install, go install, quickstart, getting started`,ogImage:`img/init-success.png`},{path:`wizard`,component:y,title:`Interactive Wizard — DevOpsGen Docs`,description:`DevOpsGen launches an interactive TUI wizard that walks through stack detection, ports, container images and Kubernetes options, then writes the generated configuration.`,keywords:`DevOpsGen wizard, tui, bubbletea, interactive`,ogImage:`img/wizard.png`},{path:`init`,component:b,title:`init command — DevOpsGen Docs`,description:`Full reference for devopsgen init flags: stack, app type, CI provider, registry, image, port, Kubernetes ingress, health path, dry-run and force overwrite behaviour.`,keywords:`devopsgen init, flags, dry-run, force, image, ingress`,ogImage:`img/init-success.png`},{path:`detect`,component:ee,title:`detect command — DevOpsGen Docs`,description:`devopsgen detect inspects the current project and reports the programming stack, the files it based its decision on, and candidate application types.`,keywords:`devopsgen detect, stack detection, go.mod, package.json`,ogImage:`img/detect.png`},{path:`validate`,component:te,title:`validate command — DevOpsGen Docs`,description:`devopsgen validate statically checks generated Dockerfiles, GitHub Actions workflows and Kubernetes manifests: FROM digests, action pinning, naming rules, probes and more.`,keywords:`devopsgen validate, dockerfile lint, workflow lint, kubernetes manifest lint`,ogImage:`img/validate.png`},{path:`exit-codes`,component:ne,title:`Exit codes — DevOpsGen Docs`,description:`Every devopsgen command exits with a documented status code: 0 success, 1 general error, 2 invalid configuration, 3 file conflicts, 4 validation failure, 5 ambiguous detection.`,keywords:`devopsgen exit codes, ci integration, pipeline status`,ogImage:`img/validate.png`}],ie=[{label:`Overview`,items:[`getting-started`,`wizard`]},{label:`Command reference`,items:[`init`,`detect`,`validate`]},{label:`Operations`,items:[`exit-codes`]}];function S({rel:e,activePath:t,children:n}){return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(`a`,{className:`skip`,href:`#main`,children:`skip to content`}),(0,d.jsxs)(`header`,{className:`topbar`,children:[(0,d.jsxs)(`a`,{className:`brand`,href:e||`./`,children:[(0,d.jsx)(`span`,{className:`brand-mark`,children:`DG`}),(0,d.jsx)(`span`,{className:`brand-name`,children:`DevOpsGen`}),(0,d.jsx)(`span`,{className:`brand-sub`,children:`DOCS`})]}),(0,d.jsx)(`a`,{className:`gh-pill`,href:`https://github.com/Bangkahdev/DevOpsGen`,rel:`noopener noreferrer`,target:`_blank`,children:`GitHub`})]}),(0,d.jsxs)(`div`,{className:`shell`,children:[(0,d.jsxs)(`aside`,{className:`sidebar`,"aria-label":`Documentation navigation`,children:[(0,d.jsx)(`a`,{className:`side-link side-home${t===``?` is-active`:``}`,href:e||`./`,children:`Home`}),ie.map(n=>(0,d.jsxs)(`div`,{className:`side-group`,children:[(0,d.jsx)(`p`,{className:`group-label`,children:n.label}),(0,d.jsx)(`ul`,{children:n.items.map(n=>{let r=x.find(e=>e.path===n);return(0,d.jsx)(`li`,{children:(0,d.jsx)(`a`,{className:`side-link${t===n?` is-active`:``}`,href:`${e}${n}/`,"aria-current":t===n?`page`:void 0,children:r?r.path.replace(/-/g,` `):n})},n)})})]},n.label))]}),(0,d.jsx)(`main`,{id:`main`,children:n})]}),(0,d.jsxs)(`footer`,{className:`footer`,children:[(0,d.jsxs)(`p`,{children:[`DevOpsGen — deterministic DevOps scaffolding for Go & Node.js.`,` `,(0,d.jsx)(`a`,{href:`${e}getting-started/`,children:`Get started`}),` or browse the`,` `,(0,d.jsx)(`a`,{href:`${e}exit-codes/`,children:`exit codes`}),`.`]}),(0,d.jsxs)(`p`,{className:`footer-links`,children:[(0,d.jsx)(`a`,{href:re,children:`canonical site`}),` · `,(0,d.jsx)(`a`,{href:`https://github.com/Bangkahdev/DevOpsGen`,children:`source code`})]})]})]})}var ae=x.find(e=>e.path===location.pathname.replace(/\/$/,``).replace(/^.*\//,``))??null,oe=ae&&ae.path===``?``:`../`,se=ae??x[0];(0,l.createRoot)(document.getElementById(`root`)).render((0,d.jsx)(S,{rel:oe,activePath:ae?ae.path:``,children:(0,d.jsx)(se.component,{rel:oe})})); \ No newline at end of file diff --git a/docs/web/dist/exit-codes/index.html b/docs/web/dist/exit-codes/index.html index 260969d..984bd7e 100644 --- a/docs/web/dist/exit-codes/index.html +++ b/docs/web/dist/exit-codes/index.html @@ -12,16 +12,16 @@ - + - + -
DGDevOpsGenDOCSGitHub

ci integration

Exit codes

Every DevOpsGen command exits with a stable, documented status code so shells, scripts and CI jobs can branch deterministically — no output parsing required.

CodeClassificationMeaningTypical example
0successEverything requested completed; dry-run plans that resolved cleanly also end here.init created 5 files; --dry-run --force plan is green.
1general errorUnexpected failure — I/O errors, template issues, or a run that failed mid-write and rolled back.Disk full while writing deployment.yaml.
2invalid inputConfiguration failed validation before anything was planned or written.--image BANGKAH/my-app; port -1; Ingress without host.
3conflictTarget files already exist and would be overwritten; nothing was written. Retried with --force.Second init without --force.
4validation failedRejected output: a template rendering failure, required artifacts missing, or generated documents failing the static lint rules.A workflow that never publishes the commit SHA tag.
5detectionStack detection was ambiguous or found nothing at all.Empty directory without go.mod / package.json.

In practice

devopsgen exiting with code 2 after failing image validation
Exit 2 — config rejected before planning.
devopsgen exiting with code 3 on existing files
Exit 3 — conflict, nothing written.
shell script branching
devopsgen init --stack go --registry ghcr --image you/myapp --port 8080
+
DGDevOpsGenDOCSGitHub

ci integration

Exit codes

Every DevOpsGen command exits with a stable, documented status code so shells, scripts and CI jobs can branch deterministically — no output parsing required.

CodeClassificationMeaningTypical example
0successEverything requested completed; dry-run plans that resolved cleanly also end here.init created 5 files; --dry-run --force plan is green.
1general errorUnexpected failure — I/O errors, template issues, or a run that failed mid-write and rolled back.Disk full while writing deployment.yaml.
2invalid inputConfiguration failed validation before anything was planned or written.--image BANGKAH/my-app; port -1; Ingress without host.
3conflictTarget files already exist and would be overwritten; nothing was written. Retried with --force.Second init without --force.
4validation failedRejected output: a template rendering failure, required artifacts missing, or generated documents failing the static lint rules.A workflow that never publishes the commit SHA tag.
5detectionStack detection was ambiguous or found nothing at all.Empty directory without go.mod / package.json.

In practice

devopsgen validate reporting internal validation passed with exit code 0
Exit 0 — internal validation passed.
shell script branching
devopsgen init --stack go --registry ghcr --image you/myapp --port 8080
 case $? in
   0) echo "ready" ;;
   3) devopsgen init --force --stack go --registry ghcr --image you/myapp --port 8080 ;;
diff --git a/docs/web/dist/img/dry-run.png b/docs/web/dist/img/dry-run.png
index 239b232ae33eef9d9d0d1a413db13e910e18edea..48723f8c3bfa2bf17937199e2c57537b9d611972 100644
GIT binary patch
literal 27855
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

literal 50595
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≫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

y{Mgs)8?1#5)K zr+g<0O>H|%b)g0>WMjPbdW;G? zZ7{*-j2jVai1dot$Nv)tgeoL8*a6(R(?I`UvhApXE+FGR@%33fq zS+F~0yq#_}3Fgx6y!n*?e3k%h_a752f97PJ7|R~kGxEc+h=>Tksc=dp?AtOg9QjUR zuE9U@;>oCO(sP^x>Vk6ud5Gl?rMF{un`&%$*LN4SiG=|nY?X%T%NAt*L|Dc)_}O`#rODR2oru8`@qc>m;OGkn2=wH*#y*#17Cl zkJRgFh@6Vv?X^oQdSCOKX!*I^1Ww~^;w5dRP79Kk@9K*a^3>v%krK1VhtekdZvS}y z20HQP37uN8lN17H=V?|h-ckUEHpslbM*v+{pC{J#*ms7W)a1j^@ME@yZ}^YyL@~n! zHU7}3hNjL+s_E{3zWSOgT9h&!D;HWdvp2J9rY@g5Q;_VMp6A<`3wOV4oejj;TLZD7 zzXcy${W87I_O-9tXI}1(nWQ*M6Gr&ODcAOfTimDL!CKNFyvp=RZ2Q1FlC>y7V4X*7 z^)2or2g{g1^XwARJSuHW_zsbSC1tIT*_YKAw;e?HY!37WZy#Kr{>?UCE}8R)=29ZkK{c^WtG{}(=OoOu8M diff --git a/docs/web/dist/img/init-conflict.png b/docs/web/dist/img/init-conflict.png deleted file mode 100644 index 5bc87d01c208a73d67e698c77d068b3bc685b666..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11079 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 diff --git a/docs/web/dist/index.html b/docs/web/dist/index.html index 761f54a..4581a33 100644 --- a/docs/web/dist/index.html +++ b/docs/web/dist/index.html @@ -23,6 +23,6 @@

DGDevOpsGenDOCSGitHub

docker · github actions · kubernetes

DevOps scaffolding,
deterministically.

DevOpsGen reads your Go or Node.js project and writes a complete, opinionated DevOps baseline: hardened Dockerfile, GitHub Actions pipeline and ready-to-apply Kubernetes manifests — with dry-run plans, automatic backups and config validation built in.

DevOpsGen interactive wizard running in a Windows terminal, asking for the project stack
The interactive wizard — press Enter to accept smart defaults.

Why DevOpsGen

Deterministic

Same inputs, same bytes — every run. Machine-friendly for code review: a second generation with --force produces bit-identical files.

Safe by default

Existing files are never overwritten without --force. Overwrites get .bak backups, failed runs roll back automatically, and --dry-run prints the full plan first.

Validated output

Built-in validation checks Dockerfile structure, GitHub Actions workflow wiring and Kubernetes manifests (selector consistency, port ranges, Ingress paths) before anything ships.

Stack aware

Detects Go and Node.js projects (npm, pnpm, Express, Next.js, Vite, NestJS) from go.mod / package.json and tailors templates accordingly.

Everything a project needs on day one

One init command writes the whole baseline tree. Preview the real terminal output of every command below — all screenshots are live captures, not mockups.

generated in one command
$ devopsgen init --stack go --ci github-actions --registry ghcr --image you/myapp --port 8080
 created 5 file(s), replaced 0 file(s) in .
-exit code: 0
Terminal showing a successful DevOpsGen init run creating five files with exit code 0
init — first run creates the complete baseline and exits 0.
Terminal showing DevOpsGen refusing to overwrite five files and exiting with code 3
init on a second run refuses to overwrite files — exit code 3 without --force.
Terminal showing a DevOpsGen dry-run plan listing replace and conflict entries before exiting with code 3
--dry-run prints the exact write plan, unresolved conflicts included.

What gets generated

Template setFilesPurpose
docker (+ .dockerignore)DockerfileHardened multi-stage build (Go runs as USER 1000:1000 on a scratch base). For Node.js, RUN steps and install/prune commands follow the detected package manager (npm / pnpm) and lockfile. The generated .dockerignore keeps state, tool caches and env files out of the image.
github-actions.github/workflows/ci.ymlRuns your tests when a test command is configured, then builds and pushes the image with both the commit SHA tag and your alias tag, authenticating to the chosen registry via secrets.
kubernetesdeployment.yaml, service.yaml, optional ingress.yamlDNS 1035-safe resource names, container port wiring, resource requests and limits, health probes when --health-path is given, and an optional host-based Ingress (RFC 1123 hostname).

Explore the docs

Command cheatsheet

Terminal showing the full devopsgen help output listing all commands
devopsgen --help — all commands at a glance.
Terminal showing the devopsgen list output with available stacks, app types and registries
devopsgen list — supported stacks, app types and registries.
Terminal showing the devopsgen version output
devopsgen version.
+exit code: 0
Terminal showing a successful DevOpsGen init run creating five files with exit code 0
init — first run creates the complete baseline and exits 0.
Terminal showing a DevOpsGen dry-run plan listing five create entries with exit code 0
--dry-run on a fresh project prints the pure create plan and exits 0.
Terminal showing a DevOpsGen dry-run force plan where every file would be replaced, exit code 0
--dry-run --force previews the full replace plan — still nothing written.

What gets generated

Template setFilesPurpose
docker (+ .dockerignore)DockerfileHardened multi-stage build (Go runs as USER 1000:1000 on a scratch base). For Node.js, RUN steps and install/prune commands follow the detected package manager (npm / pnpm) and lockfile. The generated .dockerignore keeps state, tool caches and env files out of the image.
github-actions.github/workflows/ci.ymlRuns your tests when a test command is configured, then builds and pushes the image with both the commit SHA tag and your alias tag, authenticating to the chosen registry via secrets.
kubernetesdeployment.yaml, service.yaml, optional ingress.yamlDNS 1035-safe resource names, container port wiring, resource requests and limits, health probes when --health-path is given, and an optional host-based Ingress (RFC 1123 hostname).

Explore the docs

Command cheatsheet

Terminal showing the full devopsgen help output listing all commands
devopsgen --help — all commands at a glance.
Terminal showing the devopsgen list output with available stacks, app types and registries
devopsgen list — supported stacks, app types and registries.
Terminal showing the devopsgen version output
devopsgen version.
\ No newline at end of file diff --git a/docs/web/dist/init/index.html b/docs/web/dist/init/index.html index a416db1..b644eda 100644 --- a/docs/web/dist/init/index.html +++ b/docs/web/dist/init/index.html @@ -21,6 +21,6 @@ -
DGDevOpsGenDOCSGitHub

command reference

devopsgen init

Initialize DevOps configuration. In an interactive terminal with no complete configuration the TUI wizard is launched; when all required parameters are supplied via flags the process runs headless and never waits for stdin.

synopsis
devopsgen init [flags]

Flags

FlagDefaultDescription
--stackauto-detectedProject stack: go or nodejs.
--app-typeauto-detectedApplication type (see devopsgen list).
--cigithub-actionsCI provider.
--registrydockerhubContainer registry: dockerhub or ghcr.
--image—Image repository as namespace/repository — no host and no tag.
--taglatestAdditional image tag alias.
--port—Application port, 1–65535.
--k8strueGenerate Kubernetes manifests.
--ingressoffEnable Kubernetes Ingress (requires --ingress-host).
--ingress-host—Ingress hostname, validated as RFC 1123.
--health-path—HTTP health probe path wired into manifests.
--build-cmd—Build command.
--build-path.Go package path to build inside the container.
--start-cmd—Startup command.
--test-cmd—Test command.
--output-dir.Output directory.
--dry-runoffSimulate without writing anything.
--forceoffOverwrite existing regular files.

Success & conflicts

A clean run writes every template and exits with 0. A second run over an existing project stops before touching anything and exits with 3 until you add --force:

devopsgen init success output with exit code 0
First run: five files created, exit code 0.
devopsgen init conflict error refusing to overwrite files with exit code 3
Re-run without --force: exit code 3, zero files touched.

Preview plans with --dry-run

--dry-run prints the byte-plan: which files would be created, which would be replaced, and which are in conflict. With a conflict present it exits 3; combined with --force a fully green plan exits 0 without writing anything:

devopsgen dry-run plan output showing replace and conflict entries with exit code 3
--dry-run over an existing project: conflict entries, exit code 3.
devopsgen dry-run force plan output where every file would be replaced, exit code 0
--dry-run --force: every file replaced in plan form, exit code 0.

Config validation

Invalid configuration fails fast with 2 before any file is planned — e.g. an image that must be namespace/repository without host or tag, a port outside 1–65535, or an Ingress without a host:

devopsgen init failing config validation on an invalid image with exit code 2
Config errors exit with code 2 and never write files.
Overwrites performed with --force keep the previous content as <file>.devopsgen.bak backups, and any failure mid-run triggers a best-effort rollback to the pre-run state.
+
DGDevOpsGenDOCSGitHub

command reference

devopsgen init

Initialize DevOps configuration. In an interactive terminal with no complete configuration the TUI wizard is launched; when all required parameters are supplied via flags the process runs headless and never waits for stdin.

synopsis
devopsgen init [flags]

Flags

FlagDefaultDescription
--stackauto-detectedProject stack: go or nodejs.
--app-typeauto-detectedApplication type (see devopsgen list).
--cigithub-actionsCI provider.
--registrydockerhubContainer registry: dockerhub or ghcr.
--image—Image repository as namespace/repository — no host and no tag.
--taglatestAdditional image tag alias.
--port—Application port, 1–65535.
--k8strueGenerate Kubernetes manifests.
--ingressoffEnable Kubernetes Ingress (requires --ingress-host).
--ingress-host—Ingress hostname, validated as RFC 1123.
--health-path—HTTP health probe path wired into manifests.
--build-cmd—Build command.
--build-path.Go package path to build inside the container.
--start-cmd—Startup command.
--test-cmd—Test command.
--output-dir.Output directory.
--dry-runoffSimulate without writing anything.
--forceoffOverwrite existing regular files.

Success & conflict behaviour

A clean run writes every template and exits with 0. A second run over an existing project stops before touching anything and exits with 3 until you add --force; a detailed walkthrough of that re-run path is on the exit codes page.

devopsgen init success output with exit code 0
First run: five files created, exit code 0.

Preview plans with --dry-run

--dry-run prints the byte-plan and writes nothing. On a fresh project it lists pure create rows and exits 0; combined with --force over an existing project it lists the exact files that would be replaced — still 0:

devopsgen dry-run plan output showing five create entries with exit code 0
--dry-run on a fresh project: pure create plan, exit code 0.
devopsgen dry-run force plan output where every file would be replaced, exit code 0
--dry-run --force: every file replaced in plan form, exit code 0.

Config validation

Invalid configuration fails fast with 2 before any file is planned and never writes files — e.g. an image that must be namespace/repository without host or tag, a port outside 1–65535, or an Ingress without a host. The full code table lives on the exit codes page.

Overwrites performed with --force keep the previous content as <file>.devopsgen.bak backups, and any failure mid-run triggers a best-effort rollback to the pre-run state.
\ No newline at end of file diff --git a/docs/web/img/dry-run.png b/docs/web/img/dry-run.png index 239b232ae33eef9d9d0d1a413db13e910e18edea..48723f8c3bfa2bf17937199e2c57537b9d611972 100644 GIT binary patch literal 27855 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 literal 50595 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≫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

y{Mgs)8?1#5)K zr+g<0O>H|%b)g0>WMjPbdW;G? zZ7{*-j2jVai1dot$Nv)tgeoL8*a6(R(?I`UvhApXE+FGR@%33fq zS+F~0yq#_}3Fgx6y!n*?e3k%h_a752f97PJ7|R~kGxEc+h=>Tksc=dp?AtOg9QjUR zuE9U@;>oCO(sP^x>Vk6ud5Gl?rMF{un`&%$*LN4SiG=|nY?X%T%NAt*L|Dc)_}O`#rODR2oru8`@qc>m;OGkn2=wH*#y*#17Cl zkJRgFh@6Vv?X^oQdSCOKX!*I^1Ww~^;w5dRP79Kk@9K*a^3>v%krK1VhtekdZvS}y z20HQP37uN8lN17H=V?|h-ckUEHpslbM*v+{pC{J#*ms7W)a1j^@ME@yZ}^YyL@~n! zHU7}3hNjL+s_E{3zWSOgT9h&!D;HWdvp2J9rY@g5Q;_VMp6A<`3wOV4oejj;TLZD7 zzXcy${W87I_O-9tXI}1(nWQ*M6Gr&ODcAOfTimDL!CKNFyvp=RZ2Q1FlC>y7V4X*7 z^)2or2g{g1^XwARJSuHW_zsbSC1tIT*_YKAw;e?HY!37WZy#Kr{>?UCE}8R)=29ZkK{c^WtG{}(=OoOu8M diff --git a/docs/web/img/init-conflict.png b/docs/web/img/init-conflict.png deleted file mode 100644 index 5bc87d01c208a73d67e698c77d068b3bc685b666..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11079 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 diff --git a/docs/web/public/img/dry-run.png b/docs/web/public/img/dry-run.png index 239b232ae33eef9d9d0d1a413db13e910e18edea..48723f8c3bfa2bf17937199e2c57537b9d611972 100644 GIT binary patch literal 27855 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 literal 50595 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≫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

y{Mgs)8?1#5)K zr+g<0O>H|%b)g0>WMjPbdW;G? zZ7{*-j2jVai1dot$Nv)tgeoL8*a6(R(?I`UvhApXE+FGR@%33fq zS+F~0yq#_}3Fgx6y!n*?e3k%h_a752f97PJ7|R~kGxEc+h=>Tksc=dp?AtOg9QjUR zuE9U@;>oCO(sP^x>Vk6ud5Gl?rMF{un`&%$*LN4SiG=|nY?X%T%NAt*L|Dc)_}O`#rODR2oru8`@qc>m;OGkn2=wH*#y*#17Cl zkJRgFh@6Vv?X^oQdSCOKX!*I^1Ww~^;w5dRP79Kk@9K*a^3>v%krK1VhtekdZvS}y z20HQP37uN8lN17H=V?|h-ckUEHpslbM*v+{pC{J#*ms7W)a1j^@ME@yZ}^YyL@~n! zHU7}3hNjL+s_E{3zWSOgT9h&!D;HWdvp2J9rY@g5Q;_VMp6A<`3wOV4oejj;TLZD7 zzXcy${W87I_O-9tXI}1(nWQ*M6Gr&ODcAOfTimDL!CKNFyvp=RZ2Q1FlC>y7V4X*7 z^)2or2g{g1^XwARJSuHW_zsbSC1tIT*_YKAw;e?HY!37WZy#Kr{>?UCE}8R)=29ZkK{c^WtG{}(=OoOu8M diff --git a/docs/web/public/img/init-conflict.png b/docs/web/public/img/init-conflict.png deleted file mode 100644 index 5bc87d01c208a73d67e698c77d068b3bc685b666..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11079 zcmcI~2{_y7yQoe(|4us{rgX1m+R{{8)J|+|X*IOb7PU(&gA#kh7Kv_CrIu-eP(l?& zkW@8dOH8Lot*Irng0zCzLL*`iH)3YaIrlmDKIc5=-rw^GpWm1Fd$;f1IR@_=x{b`r%*V&j&~BABcZ#gWt5gC`Ig$pAav0cwe}7K}xDT`Ny?8 z-;39~g048hrKF_aZ~knf2NwM*C3SiLWO2bR!kss0Q-pHL7z*aDtL{y_q8gun)=KSJ z=#|gccHe9|P$0J_{n3NV%D4WdTLjv@fB40CZuzs{b&g5Lw>c{aUp)A@{o(xiA3T0O z@pebTsUL!eEq;#GH`X^!U0fuF&x&T?y@uRuWc@+Y0r*fwM?b8Lx?qZ|51)mzzdhEk z`?`t0_&KP*Ly`Y1IeN#|(z3-6_vg>QfVNAP=bSpK_dS*Z9g(c=HHUN*oZE4wYisM( zG`RY2$IfH60Ns9*1y|j(4WqO55<8k@edmYY^S4Qs>1VmFyUp(@|0G%c@v9;C=ArK_ zReZ9e=bAIa>sJT$XCvrF0Yh_Xlz}>aV&IOTWBvbPuP;#8#_LNQ3d?KAT>^-U-8?er zI%aI5Fo$Ncw@YYn71cor4N{g72zc-6;n0<*Nk9U4Tz$CYJV#LC)H?s@0+8j_{%89gWpk2`_@w zCDihi+jp8Rz00I4BK-`Ow+AgwAoEl1wzGr<&m>F=f=D>_7OP`pBJ2qo-uVSsx7;2` zTmBeps^ixe(tO5GJtM#R*LpF2_h1Wu{-`k!J$eS>RG_tt!Y$0TYOtdxZF7zczv{C) zNtcnJFBVP2FQK}wLqrW8W=n>#H)O{$yt5B)ZPU00O4mU1pL)LZ;*rh&mYCuX{_i7e zX*v>7{vn)Dz76zL&$Vi@D?coe|0{scx+rFiVc9I)md@D+dai+*ur~LT`49V5PI`h< zUp(8?iThY(AM{*3x_qKBW>x7iTiItQRItp5K|irKU2e7+8lqu1;UJ2J3|>~j8d`u@ zOAL&LK2aJLLx!x+;r@mk@gYV21A7!xd=D7VX?m&~N+ zK4Nu%H~JWxV*g5>-c+u38}uCZ7&<`AewhGPDVr@8Pyl+NB4@CPxl?pjMd{myPXbzy z$=(Ak*wIcx3(st6@k|Q%yH~bj7)3kG$vzfYAB2q|$T{Q3Pe;DM-rhL%?8TWI^EKcE z;eZ)9dVKO*vjRpF{KGhv0U zfqln7M^vt)T)EM8an}J+0~RgD=Kjk^_ghtSzcxGoC!{)lgP{WfAdZ|5GZ*WVitxDH zdVS79vu{+d4gBgXS=cksw-l|m&HlzRb+($6Rn!@kg@5r32JTv0qMOl{`}=5m4g0%c zhSHnb9SYo)4$iPH!f4t1JD>WOtr9MrXabwb&!%3g#r_w_J-vj8@b@_2?^t zd77+}CWy0wvQILM+{>|dOLYXd-jr=|SQ)2atpj3N6FKBZu}v2M8!MfMR8B4SlK6bI9T3Y`StHi(EM!@jVs|lQlODm&WLzjMDZaE8R?8Q8d zHP8du8uq2?$ja#|-xcF^uQl@PZwDW17O{zI zotmKMZDxk1CqNwKhqBuYxBW~Scrx4F{90BAsCi549Ys}5)OMw7WThlTb1ycBq~b%U z!QYPK?NhlOqU3Q=r8hGt9IIp9npU70eRnSW9nz6^ZinKtGYJbPeHzRn4bf^iLuHU$y@4ZO zb%h^ZwxpN2)JOv>o(g_}g}Q+-_49p{OA`QqsYi&#EJIi;9TRTt2P2lqwj!`PwEZn2 z;@z_Yfo6TP(MW8Lk>>9#g&gik>rIT8&u2^^2>C>3%CnS31Sk38jSNGnV zm?nm>BJ3hb8NBx3OS)eiFS$8;U}mW5?g!=a~YtgwDiZ$$5>OTzC7%fgKm4aX+u9+bww||SE5DEBH2b+ z^V_NvH?LeEWwZ_@2?xenH)8`w@txXz1m9z_Jc89vHd*)-)V1?VRGqLakV<|2*h1ps zv)m;#o(TQ!;KTud+XeFn|Ef|-DT-vT4u#kHBaLE);{b}Kb&O50_nahNMe&)<_$HoG zQm-NZAA^o9=}1YPl+f~Dh;yo}Hsg>$_sG%IW71OL7bJu+ReVg>xiM$~X?-Cu)?j7+ z&H{_Q9`*#9gmaIY7-Kp>6o!%Q1a9tfXEM5BEda=sH}Z0-=$$ByQXfs%v|yVb<-*wN zz?p6!6*dLCg_JI{Y(7k#oq}wvd^;jF@V!KiwOE~vY0~wPS`JjsRh%Jd0C8$Z3$vqqBm9%eQFYR!iF*Q9f7AK%v&Wn>p%rCnFjzpFb793~ zhEK_CXa6COY$!dF0i^yoGaRPLDxaEHuij#8u_Y^g2o51)qKdqxwcTRJo+-vG*0QN6 zMY)JfA6zgU%|1RQB|d7)tWGT2f_PQ8I7~z$^ufK zvc69nBnx#*Ok#WTT})8*c^QS;pCJ2Plp;xwUnh`%ZqKN0 zKlC2n^{G)40Mh=~D`g*xI5|3EG$EVo@?zm;$e#$qU3Mxy>t7lV2Fe}b_nrnk$~qtK zAUMT;Mp_RxpUze=o+hi_F?x0A4-vlGgAO>p%`3*}@ZXqpN`Ej? z;-#z&EoGl3Mn%WH2n%rz8@S_hq9-JD_O*stuVC%BKwqd|a>LoM8JyxQukR*uUn@>G zAo!L^izl$PpFl^sVsMe_u&EN3SJ^?jj;XT)Gd9s<{oZ`Y+dcK}3gZ(bzj%A0+GlNg z@7P+keB%mLEGJhfk)P+hK<<5>c!_Ajg? zgGDtq^NrA7vd!^4s&>a4T?ZqAFm(}%*9%|Rg-0Vy;kCSGQ424Qz{{-wdj~)U(WAk= zf`|c@DjYnx;D?%t@Jn0RHHh+x?Td7!^%i)biFAJYd1IxzAulFeeNc0{joGn4D*)=d zK7HDxmCQwLB_$Z;M7a}I>ZdLQkMGx6Uq33kWkO?~K53jX{SnT7P+*aiR>Cb;iz2n2 zj^i}Mp&f)vzAp$Qn6!_e|4k1XkZyOm`4rU*=Q1o~BIBI6TgS^ioRh%@E9UH0fdO4FN__^DJtAag zK$%%)g&j+N?d3%Ar&@`T{@fdaza?ojn4#I1x7a93_CSJDyxN!nY)aF0py0LkW0y^7 znNCrb;B;OGYId3{lTq?U*K`okKjDCo{W7Y7e|rmvVt9%LrJLjCRRZC@C4&b6LYCkP zD{18weWfe}&ofEBquYV6?*Hmp#-mI7z{x}K3<5-5j+Jf(_a+182I5y|W`KAyiZ_9C ze>!zWaWSkV%eK%Y($pcx$Yu4>jA?~Ayj{@E>*S<6h8Wr1@~q1;(BBf-fVM+l<)U;M zs}3TFB2{Xr0Rod3uSraKigF@Wnl=auWyZ=KK>IW7RZqL9sE7Rd9`w5-g_XA>7OMkp zS_)38Ez`{12UV}P5KeDOY#4bh7^0Rk1$l|L9J*sQ^rdcZlbqvhG?hPAA77O{`Q8}) zVkA9>9+ida)tVnLTJbec%Mhy_cJg+BjMAQwr6Er>rW}N|ddzG6oYSxjUY_A;*Vnu9 zhU&i%)tfX}Uf^l3q=lZDrVeG|%710ZcMHgd^#$4;cr8MSwrOX-yi2!2&Ru^e7kJ(g z+eO{9W?pkSK{1(^9o!*}FL}dUB={vch+4|mT<6xki`$W*O|Na6gw+hq1C(GBcNT+@ zRWit*DD5so+XG%W)4-SzH|rV{Y3%Y4Eo~)xwTekn!&i5zVyDV_eFheU#(faxiAW?{ zy8{N-)$j(9X$zH+#o1LhpSnp)b%G3*zfE>5U(|n~XXp@v^M!6mBcl|w=mW$8bR!}w z8ENEM8QMRf+U;*crV$*ybG~RHD<8)9k1eY@%ap4H#NrCWMyfR{vUTx@PF2pzLeib= zl0hCd58iReCnK_20neXEX%=Q*l*sG?==oaXJ1hASm)NV#KLLJ8`Sk-yqZzc%_6^{q zamX9xer$d*Mv2yc*^{ZiSbb9sR@M${4Y>+Z8hk!F(l*4(P76D<9yBK~zH=h*_E3cA z{(E_tTIpgT5k z((z@K(U!={^k7Lorjgz}emtD8GUYI~=o4xBrDt`nx$(IP{4B-0B*)1+OT5{^JNh_9 zmre<#1DsvbATCELIx1~ZAGnV8$yFMI!P&YFo+Y#PpXC{?#L2Ri?5U}MRu~ZaNfpbg z(lL$lj~mj46T|4#6S$5wR-4P<=I{86BVzx-*2_ z{S-H1xZUVK2&cCnW}mi#>Fve&lbuG%9d8w>f;Kn-{_;z3Qsod9A!c-Vwt(AnSbTAk z$|jO*-d2kJb?4_Wf=pz4@u8AQ{yX!T*5^)e`^pu?QBxQ9u(P$5vt^T0ey!Y;)o1=Z zt~Y}zrmJ`2R=qNMY$g8bY1Oy+ti_Ij@eVGyUj5jj<=m3kRs{ObR@aRN4?QobZnu_r z9~Xaj0wBqj0wDrg;GUO}$NiC!hcT>ax}iEf01|SyUb(W+b}S1hc1`;h%>p*;&rVHi zQ^rNkGMZz;nUV8kCBgoS?u!+ZhLkeRf#)Smz2lL{*?ypRLeFF4?7vKz_*!J${y_Nk z0akkOQ7qB*Mx@F;4`Vhkzc01O$!dM1q4_4}Rn1^geAz^0H9?;~@9NMVN-r6%-#20n z78JmSexHLVzp2`OQ=!^@wuf^$9g0>AKfWH+X7u>O(W-uf3J7y&XV--beO;@I>M)+} z>{Sh++g_L9l@PzOcC;G0%1}-ze83tvU>TVu$~IBT8Z=DfF5aAW1#;xd+RJqZ`Ek8z zWIcUlQa8agH4f0qTq~aZY~-cQ^(_r7p1m2hDmp>Ol)i-_R);c<4lWN&^r?)jUolnXa}Le=%?@tz+l{#rKULU0RuDC8fLKkP zYR;*y=!e1p@9~JqH)2jBSNBumq9wi_zc9i`FA$rekDt8*nmOtL71%S`nf96ZQ+RO% zR+f0jn;1q}B$mOOuK0g|qS+&x1q+xY35^4TR<8HOV#gm^jh^i*)B^4$gzXrL zD@IfMjLIk9x8UNRP9_)`QT4r|L|+e^o%a^D3LDT%+f|w>m;SgCT}{fFH3UueoanEv z2@EbxGFdXR@J2N|XNtbQ(7XxJ#pzgDOfi)b+zU@1?JL$OPBHEXu11;~8^KGpxr}0M z(?P?^0`aG3S$kqtX;m~;5lS?xr2EgU1)C7ry!IGf7qNM1xy3eue#(f&YxW2_Dx;+* zU8XCV>=^>RI&ZU>X;)qnqaVmyXzc-0^cnahFxv#DFwE!f+n z1QK8qZDY?k&}VxCHRy?$)a2cz3Mx#L?pB2M;>yT|j9n(lQ=braQ#y*T?K#t}=NF^z zg>gUiW|>iDmh9%lF8gqfNvm__Q6{jxHJ*2aZ4Ys!wTx5~`Z%;gSg$J?%svymhcb4@ zdyinL)W5ZGtkUyHiEHH%ZdFc>uESyiqYF6Ltr0gWxDY_krqLHiwQeR>a0NqX{QF*D zJ7C6|-?1=s*t@vtTn97BSf)heSlEsi4ox`NZ?d1MNXjhmKSnY#>)^X?IOAap^Jj30 zQ>9|VQ^Rvw9r#>pJo4=Y1S?R>2&QvYrdIb{|Mo_3Xbrl{f*%N~P zDgC}-WfK1#x$0Flp+0OLfB&xc&Fn{AT`H1=yNMEB6Zvwf4aBmru=uZ>rd2bY+S@G=vF12fFowrLKAF^^w3RjxF(=hrsSM(g1?h5i#f-cB-L=kLim0TlcjMAzue06gCAJjWI zrUA3zm;Rfjko$w6BQv&Jy&OlJq%i(QIgu891p*w=_@xUcW3sU(FgKLcS?;Z#l=x<4 z(2*FUw=FB|h~>w3oz@ z??BJ5lsh&#bTp*XNSA}%?r_pE`ZZM0E_nzd@6k2)lak$k=r(U6ZeRf7aB2Rk?%&(0 z1k6W)yMA5Ud1?zwC5dm4$LDu4&(-*=uImGEoq>Y~MmMJS1%`(VKn_i_a_3_1eJ9yn zr6*AsOMp+qMsYL6K-DRa&VTw4(Rgir=t%uZtBw(^EhPI+ZHni1_+Je+sj0s%$kyBc zY4=TBP5d!()I26g09jwJpv=Kw^Rz%S!9aWc>Ibu`<&Uh5j&H!tqrS}jb*}6E7*V)c zgn+%#X;!^#ma~GRtWPP4`2KB-(R$H)o1bP|=N0jvxJ%~O6YtocOlBP8)Ln{8{gftd z7;LO!bEqg1dLt8Hrj=4{opkv9#{A;?_=1Tc?XqwdC6i{)YBUeN%Fc-0u<>U9D6Zvi z^~0vYT}yvdyp$ujD$YgW!?Ouse9v#lki>#8o!K zM26B27iaw%;<_qI(mmVkGRC0Sv?)7XoDjb}<&0MzP#BrKtzYlu48Y4lM3)?68ja@< z9L_nH6J=rq$}??TMvT8hdGGOrMb~iZnozcxbFkQSH+C^kLCgUhrP3`_T!GLEXKJF% z7L5md87iTRR563aRpiZnr8s&s0XP{XH90#djYO!!lMo?9tQ0`;ZQWY`F>w~43C$Ar z{VMbygVZwhMFl|m>`N;23T7-|YFZBHN$k8;-?2qR#lj}kzSDnSZiQ3v#Hvon$7r*f zobc8sv_NxB>MOY$B2V>o`wExj@h?oA8&@y9SX$(%tF8}_tL&fN-nTS(JbrYcX1X_m zlp6f!i55@SfMSU0667Wm(PmKFzT#iqrl{TIU82|-#b8r^$7)8^H|f>ucSX>ne&w0C zn=#j%UY^;pmYub)`;CX0k-#w7dcVulr<3!Lp+<^jX&E+tvJW}DP{3~!6jjiGy-joq za>PG3K9Ef37ogn2@d3;{Ef>}$ad@WM&8zJn8uV75NMa<=taW8d^hoVWeOOAyp{Yu) zETPiU1r@H;J4Pr)p&P}~ji$J!Y%8%f2B$!r?JrI#PLJPf2Dq%K(H{H}V?UMBdBNWJ z%iIM=E_+c)vTk-BMM@ToDmtF5>plEM%4 z+3oz0kc={PwF$Z&9Oi)xK~*#v-efHd%=9R{?^ycOZ@?82gY7bf#%Z>G#nSw^{Qjd9 z5}AgqD?yYuKug)CaiM>n4^I3|k&9Mq=MEH}t~{^^Bf7M91?K!A4klfbo35kgYOc4f z77vgLgk+UI+r;GlXH!Dc7QplBY=TK}(yi5+8Q>tn(zCMiX@_a9?JL%zvHqNCMV^tV z_KG@Qk4tk96!v?0l(Mqn6EjF7RI^-uGVWml6L!obhCT_h!8FD}@>WU~8&(9s_=N2om<_qzu6&I~ zO*wQ!!P+jc@M>v=Zy{oZw(lu02a;`*S`a0k4DgcZ{V$*j^TpfeaLv3a`8pTxIwQ|t zeGcQ%&AH9@sCF^yB}F#kYL_dzwVcykOotX#dhbbtPe-nZKciI^a1aTe?%#41t7Fy5;9#@1q zA?(N+bl}ceKGlWe#&mFUzFY_y#%7RbEz6-zPCI*+Yrk8gp5aeEBz7EX=~`-tN^@TX zE%hE6n>{}9DJmKKsZ!Q#zYs8_^^$9-is1(A?-rz6IM*OlY5H_~-0%_lA+xct!b7d_ zx>{Q0NV#KtzI+N4&8Q_;HE;>6G!g$VI3Q8_6O}FZS{=_k> zBm{+2w&41pKb>_L!kVo0YiHK^I{@K(#2$2?#Dhv(b&V^V?*wN^zYGm3U@u$m;p{>d zCX8sT3f`s5tkek8ZBpiT-NZ?M3w==te0z0~MbZ3lE3*LpO|ey7VdS}umR$#r|E>rP zyE<&JTrKm+NFO(l*>cWwc~H!nO7fex0e#|V-87?Y+#0op8qYBj3GW+1LoUE;zHEQwTX>0H)L_|k*B08Jy z3p1q$cTOF_8W79HUuh#PTWI%{t0d?4-$apY!cqR8k0`-w#l8BIFy6$>lvtZ7*(R(@ z;W@8wd6mtUo0NB$k2Uo!eJG`cv+8tX7W^PEUiBj~ic~738aWg^H(M5zoQ8i`5D!tj z{(Bhdr+b`nW##N&%kT|$!_7~@2I`TrlF6x}zq`2V7BPEo{i(uUd80xj)p$rE?V!lN zvJ0{C5GTB7u z7Qq^IGn2q-l92uvpTxnff#zPhZQ!d7BXLlxH>W`5X-|rXmzznvYi$KE#3MEXx$B}5zCa`1In?XN7zQ3GMgT7Zew#H6Qxvhzthz@=|$=`pHrq;rM zKDe-Jj|Ky>a%NEZ39eufcDTHqU;oRf#+uve@NMcVt@ZVc^!$m0WQEnncLX!__mIa~ zq#w4DE3PDTe{BRhVP&xtzgOk^ke9gvjVk=NqLD|BW%c;j0vK}9e`M8)AEb-wp^?|ts`+&}Jf|GGSn==QTed#}CMTJO8| zS{ri#d}iw}>c1!{DQ&eoYkNsaX`P?^@93X5$iL~Q`VHj2)*vpOIjL0AsyQxitn)o_ z{)CcJDQ@%PU+d-VO~Gef5lTwRA69?X(1Y@>D=F;{w6i_o7~v`CKc5%tnmHK4qo%I+ ze{}M|4a2KWSHIXl7;n7eNdNuS-VF{XPwd^c$#JXywimV=!Z|6B6D`V)^`v%yi< zevP{JNc-m#Tkf2+fBXE-ulnG1Ara381JF-+D@DFjOOpter8Fy=re@WLV7dAVe2eR5 zdl6D|>G`0jj%Ouu(d3_C{{1@}LDD|CgsUI3ORbdc_kT)0`n{Plnq~i&!EU>?ism8L z|Emwp4DG}tDG*P~g|TdxsTdxRG%#C9_Nbe03EB{BU%u7fEoLfuFuE>)E7-9*f3Sr) z@6yg+l+U$;WRqnsQ<2Q*5|b^1(`jTSGn;d)kpMMCFLgz)aD6`ldSSdUUI!gfwR>GK zdO(Clx$8TL!?&#Vs&f6emv-dHszN}3n@rx`H0I@6uajBYWJ!BDYVoT zJ&DoXD(`ix#*pX!i_Hn3o%qXTh==9OXPXZVI=95RQ;#pbG!0^tlm2VBcO|;#so&NH z@0xk6A3Kg3C<)TAQ(v8Hx^|}B-UT}U$;CMzj2;Y#mUOz1tR(r6t)s8mj{503idoj! zsedJWK9)u1_nuB(T}~C~-20fBY#psn=SlfsV_JZ`Ic^U%R5gW@wEp`m-<5prKKQ5C zmwCq=n=%S+-dAixN6OKaaoQp|dt_FrIYia&sY%>C!=_tXchwDUF*@wthE4RPWu#K_ z*CmatnoHGV-4@6))8ts);^+!!ai5(yt&kZjMA*2Fa&%VaBs8biQFwKL4*yY?@JK8- z#IOH`CT&?lQW=e}!sxcF4*%k&ioyh|n5mi{2S<|?>*ecSvp@!>q#QZ^U-ByQhnnJw8vIbiu6gSSRE8 zTFbg6{n}9;YK>7s9euUb;LkW!mDkn&CY399<#u8Lc%frNCjtL>9QWn4FmXSoow9ip z4wdz2s7WRmQmV9WXpc3&GWO@Ch$63>yX>A`1%GJ)NTR9)4+?lzcdbSsUNBw=jh4um-kB(#xa7IVFzDaAX3e6*nU@1ozlCSA`zZ_gymfCcasgmNMI{Run z^#FV8m3gMl*)Ld-N$zd&bN=z1q&g|_?ENnV}U!D z4Dz3k+!CJs1~(Mrjlj>xuxd*N^IvPAj)W;Rpn~UZICMepRKYq3nySmX+?!wzFn8US zUWa5uSblCyNp^^%WfEp$yp#^XAr9-41zo8>Plv|v9-~8V&aI$){3Z*g^2}MKc27U$ z3v(W47G%3b9Xon$Z1*Nvl3T!@}a2n$k6#0{}EIxC8udIh2g8~7lw*Q zhl$cs45*2FX%Mv!;L`@8uekk2OU-B7M`jD70Nsy?Bt1WDfLoK1p3BS?*szHP%PhYS zlLqcpXI5!iVy8X~G6qki(6W8*+e6wPsG92DkPD%dRg)z)*s@;bOsv(UrSUbBb1+cNqLEwZ z#fw^ccBwZXKqvVlcaqmHQ&SgT(EytstLgyOypZx{`|oeFHD~oX>#^MIbL#2f*Hwe| z)d7h#>qgXCx5MIfbIOD{={+a>3xw8B^1r&#W;JfQtZT#8W?RNwA$1?ku@AE20$!MJ*^eU5@= z8IRQjB&Hk!h&Z_9`MnPEDSLH*9k|9u=$YL^5-w1sc+)($TfoCw~%N@4HT&fs^nr9iAA zV>fQyr2aK9Vs0p&G$8j|Xi)D!t4`daDEh#Zcy;J&X$pu|`KT7Q+Eh~NGFcr#PEU%~ zt)_n$rD$dx{D1v0_%T%;Xn4lT@n7rHny;GQsjEu2MQ3TA2wke7E%m<8jJ3#EnkCb; zJ^|w%NDlGeO6R|E?G$U^|q@&u_QMYk?$pxN{+zLN)wWWG?oYLA&x_*Ia%U5%?qLA;)=~scC@o;@(9@h~t7{3|o%Hnq2 zgfn`cYAE*Dr)MI%{Mh{rURTIK8JPLbJW#Dns|L)(q-=ZY`|@uL3knW?FcG=LogbT? zqh@UvA@qI9K}p%4vTo%kA4Nl{(SAk*P5T{?%5qKjv|Ta>@(c6r?H@g&5+zfo~ zj%5Hix5E9uYo*WB4FO|W;5%C#++yjYlyYPgws(D+lihF7vyF$BMxovdiE)y2bj45& zEM}t(IALs$BXZhfT}YsdC_>`_>h#TqY<4KnoZztJ?1uVdKAhOnk|BxM&#mybT=9)NR*U`^;qN)p zC!V#XfPG!v1XVcu>BA83fLJ7q6%~@%c!pnKajmd<<5`n4jBotT_3_J}UcV`*(~IVI z^<-IB6pOl_!aVSz?yJtIzzBRv0I>7kN#nwvw%Yz9Cf6I?1+%g6Edg-t@L6jt+|SLb zqAI3gylSyeQaLL=!YwFHf}rq?Qm3VMi+1s%mIeVef2HmE@jV zR#Y5*^t8w{=?Q<3b^9;4TuaWDG`4ra6r%rKH}(4?++=jiEE$rB?f zx2|w`rCK^g64KzgzU#)YbR(k!mE$3^h|W$#-Ek9G6T$p74~{_F`(^==Uz~koURIb_z6M&g^}MO% zo;H0ggcqf7n!KHWqWS`0YxfI;Q{{qZXUnJ)Ez}il9Jx}qU961RqOYNl)g2^paP%Cz1p98EJdr%4`!)}L4&d$gZ2wC?ZZE%OpRbBx!y z+4{fFfYWTFlaD%0e?ax-l`L?rTnfC48)_>Lrtcrm#`&0=mq}p|d*BwGti?Xyiv(1L z)wj7@W19zKZnfy|kEB0CHH+%7m-UUTKFdr70Cz3RpiUsHIlZf5X1R_rQ5!zC#)x>+ z+n;>-Oh7=fNpFHH!a>}mkJTob}k(HR%$Ub7pYgAEA|TQQCYq%PTdpHPRG-E-Yx>?Sf&6;9yMLnSrfoG z3FqndQretV*e~i%pj@V_m5RI|O!2Alr-6e&1ZN)?@#@HN3uI^w#X6Zz$06ofvjo1I zwy&kuG~CH3Y3pTRxFk}=i$pxlBKS~Ev8piZCPT3R3g z@gVs}ed@w5)_$5 z=K5nJ?J7tqRWz}VfuY8Gw=boB$Jcl7!64*Q|+c zV)Z@pmnDPlyCK2(st{qWBcE!>u#hzyMa2;cJ*SrMhF0i^wN83U|7+|LdgqVAY?~+#%+psR5OCH(J--5+hLbnE8sH+}9=2qA9O)Mo%$ckgne0do zdMCMUxN>SwB5-%b<6a5aa$jI*CXudHs)B`Y+(Vo+Xv|zHP`0&tK2q&rKP5-33UZMn&dvLSCd*PK4LiIDc!m?w<2+<)uM%A9VVM--YS~?0YCB$$MK7_P&s9gvB@Lk zkq|ZdTGx>6!KuGT8*^bI-rF?oTFKqFqOaG% zH{Vs3n$s=zrot@%%&X4vDD|EfH_qhq=Ic*vgz7xt6z6r`K7kDT!%^T+r+QfyMM8OX zzWYQ@NQC@SThryDNRLAOh{TrjJY08I(X*=iV35hvi;Bd-r4D1Oc z2mGRpdfmu}IO6~Ci%W}M%WrK_lG|;3M<(#bU)NJ+v<&%+8{d)U#H9?=OKWTDP>qx$F2KI< z7+U&hCiF}R~ z@Rb=5nTHRs+HWc-kA3r1^>LNWEY@KooZS&rXJYc<3)Tw*y_pXT=^65Z2y6VFOy`FY~bwJ!Yw? zJnAizYv5vWM{Utg+(OCh@U)XY)2U8dYUxqNEkG`KVqjIKDnM8U-8aCE>W4K-RD(Mw zA^Moir-jjtzJ7S&czXRp=P6;DWh`!rfy`0&W%BBlEbbK}pPKZge**SK`)0jT|6t|< zEI{X5>I~NQO$>WZNh~^G7!t6gYGB4}_WX<$JHJPCik#M&L>Dx&>x^p;T0?t&pRN{j z+ym)>P&{Qw@`T?AgXFgEM{-<&!pVO9gMuT7I=!nUm22pGJD0ngj?%N3n|&*O98Ban z_g<7qT7Ja*;(|!pbi%!+o`DLuh~>k{)wG_R@xDif8EVW6-OECObGW=01T?ExdRD zjK6F_j<{u?zMAN{rQ33Sd3jeGs&y^Qu z2w9%2kSuoU6E!?*Y$uPiw2oM%S3#=kGvoq%KM>cX9JTT*7&ED+SYgFM%R?|WOcrOo zoLRWC3?b08ITLprNQDIOuozAr>Kmr$svjxl#fd&d5$SYq7DSclF0 ztE;_1&0WSmKuMOhPYk#Y(v^_Q*#@(!uz$Eq>6T1)bq()M*r|JLAIsTY2-XbA3PO+E zYB3wPk~Ab` zE!>e%FaP9%a&}akM72E>cvT{virqMfiP-nfAg%PB;(QOUW_jLMUvU5r)V0f2-O#3W zyn1c@VD2!l-{R$z`-M!;j`bL0hv8FpWUV&4ht|hZVZuuq3-&(lfmSC56S^^Ku{WE@ zq{4%AeziSEu=#HTc3WudaqL(rWFoX5M)y6SO%o>Ci*`N;VzYv1&{6fNn4fwC>8w-B zRzyqkJrt~jb=m3lP8etyS7^4ZClAM{RTzW=qlFVOId|QEZ;(oRrr3>NS7V&hL8?HO zZZ9LyO~(5Z%o_)~gKjotr9UHgb}jcT2g6`59b2s@Y_3eY>c-^jjg&ng3>8Tnh4J{ zHq=SlB@ce-oZOut@YOWP28o;GOC0k+1t)@o@y>-tdfdSK_0QMWW^0sr;`mjD;!~L{ z-@b4Vs&>FKyg-K?jSWbmpJ800^`o9dy5Rv&Lcni%93!Xvn$Qqnc+8SuYK0H@=g9p?S{kET6xN&&3D<6YNKu8jv)Vy@?Maj}+$T=a zU`cxVW+kOrMRIsGskTvgkoa-zPttV6^n^5=KNnK_YyPLo9!yv=e&s!DG^IG^r6+!} zs3D7J51J2;OB*T0PGP(!az70>y(q%R$i4aE4&1PFCObukH{HDSZM_2-YSs2|Nwg`< z^!^jg-b>9_ow54qMlHl<7(1!-QcI~J7e>!5OvtVN`fxgmDIygo7Ne1@doV0)$d=nK zeLIrDPJ1HNa0Af2=Sbqn`8O5TlLrgs85cbF%`2)&{;bA)1xPzBz0R@H)XM26ho#RM zJa26q*vruylRNDDpd)iPXXhf8iaML*M~Ex>=>ZKLkJF9f>-+HW$9KqM4pWty*~TpC z#eU9ydELk1UkjSQ<~g2acC#}dtXUv+^gjM#VKbbCp;-LpW-&hi94K{QF!XN^CqC+H zbihZ*4=Vhei)wd-HFO5&5#LRiu5B{j`lPn#RYsvCl@SKu*0{#RCw`hfERHd^HKprH zy_*1x5=YU9`5RQ7EX0Xgzcf*lXvnSV12?z#2OVtUdkIREyPsN9mi*;T!w(UA(Ic;6dy^xl zJ2CR390mN6bH=8RHIQev{@^!b(|q%qVy7fBb6@kVz)X_AF-1ySD&V zMh5`Qox~DD0_eRib zQ&&Rh(-plLxLw4&1byO`g^+_%PQ;1SAi8jtp>`F{huiD>JULJq@tz3t99A9Lnca&W z>@9UMrB5%)eb~bZ6oL(7MQe*+AwzD^rmKUSLukXBXNB%hK*A@1&C4I#uD-tpmwPYE zc@QSYJ`X({!clPiCcGvu&ErWx60V9w%|pHSIo6}%$}dp(*M?>iP_sz4 zRoA6lYWa`}2x{oajMst#P_zHDty)Cz*X`}tbX$3D0Z(f-_MAgaJbk*0(VaS=ASP1&C3q47Dgp{A+eG3TKEhn;c{byW(v$XauNR8WO;i1 zb1sPiTbg(oj-k`1Bwcxy>`eIvxgn@!1L6#m;zTfQCIaqZ=F{-JdRPDzg?nK|dBS#d zwrW|G;EGTG(qHm)ZmbKwm0EJ7)lIgQ-P>baIXsTVty^p=<4VP7eL0V;A!e*Py-^9+KXx>m-MMjOx04MGdZC6s#-1jfVYgHYvGXFUG zQgt1+EROhsei)GN-n0itMDrsj?@oltoQg@7c6qDl2GBOLC(%V0w1}zC zCdMs0*WVf-sg7Tv6_9mJ>`UuuuX{>49i6LmX^ErA^LpJAF4{zY4|yuVMU%dG6&q

D;q!`p~ZC;kU!#I4=xBFhu5?#84dfV_rE-jL4Jhfx;W`#aG? z;f`t#$W3-nY*vP;bc$rDat@n#`Js6**o^R#(xEdyuHr}^1|`i3B&Y@tfm$GwqGvdh zE{M@*oHr*^2RFnm9vLkDsSl|MS)-Jp|06I2g4NWkKmNMnbVW@&x4NrlKdJ(1rXw}K z7y^}*;F4~{4dbxEj}v6KR)P2Uf8H`iFMANru#KAOF|$kVeR2U~`q;Mj`q)%B?d4`i zi8XqYad3Kw9J;=8|E*vuN_+nYw}$SNoo$a9*{efY7}2*jPleu**OfY4po_z5@rs~U zDL771s5Fz;#nh%aHsXsaXyxhm$ zsF3@6t@i7|1V8s@y>9%rE$5Eb*BnoMbRl!w zhNu$Uk#S2Ap}H~9J{lGZr}2B5g)b*n>B$deZ;IrX-+AL=of3{XfWtt;H$yeiM5fy!;?ln2IUo0bDhRnW>W(t&#B;(24@KQkJuV z^ZV`8^+CgDa0m6hvfi5Qv*X~-X{CHM^G^0*&NXjSJ$k%CaiL4;^S?fHT1V^B$=z{b z2I4a@S@mW!955KGDgKS{3I{yprh`f@(3$6e`$eTND`Ac_a&kNWg+L+iEsEl_ISFo` zE7`gt-K)2$8EGNUCWptwW2}E4+9ptU>8QgHo!!B3S_VF%DSajjIPEMN{dZLRa$3 u1B&LgH;P%lUm8$S+V}q-e&2-2DWx=xiwp9cOZ@6S*_{I0mYlqH=f43^cYbI9 diff --git a/docs/web/src/pages/ExitCodes.jsx b/docs/web/src/pages/ExitCodes.jsx index 45cb3ea..b948d59 100644 --- a/docs/web/src/pages/ExitCodes.jsx +++ b/docs/web/src/pages/ExitCodes.jsx @@ -72,20 +72,13 @@ export default function ExitCodes({ rel }) {

In practice

-
- - -
+ {`devopsgen init --stack go --registry ghcr --image you/myapp --port 8080 case $? in diff --git a/docs/web/src/pages/Home.jsx b/docs/web/src/pages/Home.jsx index bc8c172..799e2c2 100644 --- a/docs/web/src/pages/Home.jsx +++ b/docs/web/src/pages/Home.jsx @@ -88,15 +88,15 @@ exit code: 0`} />
diff --git a/docs/web/src/pages/InitCmd.jsx b/docs/web/src/pages/InitCmd.jsx index d7e79cb..d0ccb51 100644 --- a/docs/web/src/pages/InitCmd.jsx +++ b/docs/web/src/pages/InitCmd.jsx @@ -120,40 +120,36 @@ export default function InitCmd({ rel }) { -

Success & conflicts

+

Success & conflict behaviour

A clean run writes every template and exits with{' '} 0. A second run over an existing project stops before touching - anything and exits with 3 until you add --force: + anything and exits with 3 until you add --force; a + detailed walkthrough of that re-run path is on the{' '} + exit codes page.

-
- - -
+

Preview plans with --dry-run

- --dry-run prints the byte-plan: which files would be created, which would be - replaced, and which are in conflict. With a conflict present it exits{' '} - 3; combined with --force a fully green plan exits{' '} - 0 without writing anything: + --dry-run prints the byte-plan and writes nothing. On a fresh project it lists + pure create rows and exits{' '} + 0; combined with --force over an existing project it + lists the exact files that would be replaced — still{' '} + 0:

Config validation

Invalid configuration fails fast with 2 before any file is - planned — e.g. an image that must be namespace/repository without host or - tag, a port outside 1–65535, or an Ingress without a host: + planned and never writes files — e.g. an image that must be{' '} + namespace/repository without host or tag, a port outside 1–65535, or an + Ingress without a host. The full code table lives on the{' '} + exit codes page.

-
Overwrites performed with --force keep the previous content as{' '} <file>.devopsgen.bak backups, and any failure mid-run triggers a diff --git a/docs/web/src/routes.jsx b/docs/web/src/routes.jsx index f3320cf..032ade9 100644 --- a/docs/web/src/routes.jsx +++ b/docs/web/src/routes.jsx @@ -71,6 +71,6 @@ export const ROUTES = [ description: 'Every devopsgen command exits with a documented status code: 0 success, 1 general error, 2 invalid configuration, 3 file conflicts, 4 validation failure, 5 ambiguous detection.', keywords: 'devopsgen exit codes, ci integration, pipeline status', - ogImage: 'img/invalid-config.png', + ogImage: 'img/validate.png', }, ];