@devframes/plugin-git 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/LICENSE.md +21 -0
  2. package/README.md +94 -0
  3. package/bin.mjs +3 -0
  4. package/dist/cli.d.mts +1 -0
  5. package/dist/cli.mjs +12 -0
  6. package/dist/client/404/index.html +1 -0
  7. package/dist/client/404.html +1 -0
  8. package/dist/client/__next.__PAGE__.txt +6 -0
  9. package/dist/client/__next._full.txt +14 -0
  10. package/dist/client/__next._head.txt +5 -0
  11. package/dist/client/__next._index.txt +5 -0
  12. package/dist/client/__next._tree.txt +2 -0
  13. package/dist/client/_next/static/chunks/02~fscl7ckl8~.js +5 -0
  14. package/dist/client/_next/static/chunks/03~yq9q893hmn.js +1 -0
  15. package/dist/client/_next/static/chunks/0cby-xtlytqc8.js +31 -0
  16. package/dist/client/_next/static/chunks/0e1~n36m7gfkb.js +1 -0
  17. package/dist/client/_next/static/chunks/0f-3h51aw8u6x.js +1 -0
  18. package/dist/client/_next/static/chunks/0fh_ktutzk5fe.js +1 -0
  19. package/dist/client/_next/static/chunks/0o2sgd3e~ptl1.css +8 -0
  20. package/dist/client/_next/static/chunks/turbopack-0_ztfbn7~a1nl.js +1 -0
  21. package/dist/client/_next/static/hfdjoy_Phicjdm2uzC1Xt/_buildManifest.js +16 -0
  22. package/dist/client/_next/static/hfdjoy_Phicjdm2uzC1Xt/_clientMiddlewareManifest.js +1 -0
  23. package/dist/client/_next/static/hfdjoy_Phicjdm2uzC1Xt/_ssgManifest.js +1 -0
  24. package/dist/client/_not-found/__next._full.txt +15 -0
  25. package/dist/client/_not-found/__next._head.txt +5 -0
  26. package/dist/client/_not-found/__next._index.txt +5 -0
  27. package/dist/client/_not-found/__next._not-found.__PAGE__.txt +5 -0
  28. package/dist/client/_not-found/__next._not-found.txt +5 -0
  29. package/dist/client/_not-found/__next._tree.txt +2 -0
  30. package/dist/client/_not-found/index.html +1 -0
  31. package/dist/client/_not-found/index.txt +15 -0
  32. package/dist/client/index.html +1 -0
  33. package/dist/client/index.txt +14 -0
  34. package/dist/index.d.mts +205 -0
  35. package/dist/index.mjs +2 -0
  36. package/dist/src-Bm_Zrtej.mjs +756 -0
  37. package/package.json +80 -0
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,{otherChunks:["static/chunks/0cby-xtlytqc8.js","static/chunks/02~fscl7ckl8~.js","static/chunks/0f-3h51aw8u6x.js"],runtimeModuleIds:[21180]}]),(()=>{let e;if(!Array.isArray(globalThis.TURBOPACK))return;let t="./_next/",r=function(){if(null!=self.TURBOPACK_ASSET_SUFFIX)return self.TURBOPACK_ASSET_SUFFIX;let e=document?.currentScript?.getAttribute?.("src")??"",t=e.indexOf("?");return t>=0?e.slice(t):""}(),n=["NEXT_DEPLOYMENT_ID","NEXT_CLIENT_ASSET_SUFFIX"];var o,l=((o=l||{})[o.Runtime=0]="Runtime",o[o.Parent=1]="Parent",o[o.Update=2]="Update",o);let i=new WeakMap;function s(e,t){this.m=e,this.e=t}let u=s.prototype,a=Object.prototype.hasOwnProperty,c="u">typeof Symbol&&Symbol.toStringTag;function f(e,t,r){a.call(e,t)||Object.defineProperty(e,t,r)}function p(e,t){let r=e[t];return r||(r=h(t),e[t]=r),r}function h(e){return{exports:{},error:void 0,id:e,namespaceObject:void 0}}function d(e,t){f(e,"__esModule",{value:!0}),c&&f(e,c,{value:"Module"});let r=0;for(;r<t.length;){let n=t[r++],o=t[r++];if("number"==typeof o)if(0===o)f(e,n,{value:t[r++],enumerable:!0,writable:!1});else throw Error(`unexpected tag: ${o}`);else"function"==typeof t[r]?f(e,n,{get:o,set:t[r++],enumerable:!0}):f(e,n,{get:o,enumerable:!0})}Object.seal(e)}function m(e,t){(null!=t?p(this.c,t):this.m).exports=e}u.s=function(e,t){let r,n;null!=t?n=(r=p(this.c,t)).exports:(r=this.m,n=this.e),r.namespaceObject=n,d(n,e)},u.j=function(e,t){var r,n;let o,l,s;null!=t?l=(o=p(this.c,t)).exports:(o=this.m,l=this.e);let u=(r=o,n=l,(s=i.get(r))||(i.set(r,s=[]),r.exports=r.namespaceObject=new Proxy(n,{get(e,t){if(a.call(e,t)||"default"===t||"__esModule"===t)return Reflect.get(e,t);for(let e of s){let r=Reflect.get(e,t);if(void 0!==r)return r}},ownKeys(e){let t=Reflect.ownKeys(e);for(let e of s)for(let r of Reflect.ownKeys(e))"default"===r||t.includes(r)||t.push(r);return t}})),s);"object"==typeof e&&null!==e&&u.push(e)},u.v=m,u.n=function(e,t){let r;(r=null!=t?p(this.c,t):this.m).exports=r.namespaceObject=e};let b=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,y=[null,b({}),b([]),b(b)];function g(e,t,r){let n=[],o=-1;for(let t=e;("object"==typeof t||"function"==typeof t)&&!y.includes(t);t=b(t))for(let r of Object.getOwnPropertyNames(t))n.push(r,function(e,t){return()=>e[t]}(e,r)),-1===o&&"default"===r&&(o=n.length-1);return r&&o>=0||(o>=0?n.splice(o,1,0,e):n.push("default",0,e)),d(t,n),t}function O(e){let t=B(e,this.m);if(t.namespaceObject)return t.namespaceObject;let r=t.exports;return t.namespaceObject=g(r,"function"==typeof r?function(...e){return r.apply(this,e)}:Object.create(null),r&&r.__esModule)}function w(e){let t=e.indexOf("#");-1!==t&&(e=e.substring(0,t));let r=e.indexOf("?");return -1!==r&&(e=e.substring(0,r)),e}function k(){let e,t;return{promise:new Promise((r,n)=>{t=n,e=r}),resolve:e,reject:t}}u.i=O,u.A=function(e){return this.r(e)(O.bind(this))},u.t="function"==typeof require?require:function(){throw Error("Unexpected use of runtime require")},u.r=function(e){return B(e,this.m).exports},u.f=function(e){function t(t){if(t=w(t),a.call(e,t))return e[t].module();let r=Error(`Cannot find module '${t}'`);throw r.code="MODULE_NOT_FOUND",r}return t.keys=()=>Object.keys(e),t.resolve=t=>{if(t=w(t),a.call(e,t))return e[t].id();let r=Error(`Cannot find module '${t}'`);throw r.code="MODULE_NOT_FOUND",r},t.import=async e=>await t(e),t};let j=Symbol("turbopack queues"),U=Symbol("turbopack exports"),C=Symbol("turbopack error");function P(e){e&&1!==e.status&&(e.status=1,e.forEach(e=>e.queueCount--),e.forEach(e=>e.queueCount--?e.queueCount++:e()))}u.a=function(e,t){let r=this.m,n=t?Object.assign([],{status:-1}):void 0,o=new Set,{resolve:l,reject:i,promise:s}=k(),u=Object.assign(s,{[U]:r.exports,[j]:e=>{n&&e(n),o.forEach(e),u.catch(()=>{})}}),a={get:()=>u,set(e){e!==u&&(u[U]=e)}};Object.defineProperty(r,"exports",a),Object.defineProperty(r,"namespaceObject",a),e(function(e){let t=e.map(e=>{if(null!==e&&"object"==typeof e){if(j in e)return e;if(null!=e&&"object"==typeof e&&"then"in e&&"function"==typeof e.then){let t=Object.assign([],{status:0}),r={[U]:{},[j]:e=>e(t)};return e.then(e=>{r[U]=e,P(t)},e=>{r[C]=e,P(t)}),r}}return{[U]:e,[j]:()=>{}}}),r=()=>t.map(e=>{if(e[C])throw e[C];return e[U]}),{promise:l,resolve:i}=k(),s=Object.assign(()=>i(r),{queueCount:0});function u(e){e!==n&&!o.has(e)&&(o.add(e),e&&0===e.status&&(s.queueCount++,e.push(s)))}return t.map(e=>e[j](u)),s.queueCount?l:r()},function(e){e?i(u[C]=e):l(u[U]),P(n)}),n&&-1===n.status&&(n.status=0)};let v=function(e){let t=new URL(e,"x:/"),r={};for(let e in t)r[e]=t[e];for(let t in r.href=e,r.pathname=e.replace(/[?#].*/,""),r.origin=r.protocol="",r.toString=r.toJSON=(...t)=>e,r)Object.defineProperty(this,t,{enumerable:!0,configurable:!0,value:r[t]})};function R(e,t){throw Error(`Invariant: ${t(e)}`)}v.prototype=URL.prototype,u.U=v,u.z=function(e){throw Error("dynamic usage of require is not supported")},u.g=globalThis;let S=s.prototype,$=new Map;u.M=$;let E=new Map,_=new Map;async function T(e,t,r){let n;if("string"==typeof r)return M(e,t,N(r));let o=r.included||[],l=o.map(e=>!!$.has(e)||E.get(e));if(l.length>0&&l.every(e=>e))return void await Promise.all(l);let i=r.moduleChunks||[],s=i.map(e=>_.get(e)).filter(e=>e);if(s.length>0){if(s.length===i.length)return void await Promise.all(s);let r=new Set;for(let e of i)_.has(e)||r.add(e);for(let n of r){let r=M(e,t,N(n));_.set(n,r),s.push(r)}n=Promise.all(s)}else{for(let o of(n=M(e,t,N(r.path)),i))_.has(o)||_.set(o,n)}for(let e of o)E.has(e)||E.set(e,n);await n}S.l=function(e){return T(l.Parent,this.m.id,e)};let A=Promise.resolve(void 0),x=new WeakMap;function M(t,r,n){let o=e.loadChunkCached(t,n),i=x.get(o);if(void 0===i){let e=x.set.bind(x,o,A);i=o.then(e).catch(e=>{let o;switch(t){case l.Runtime:o=`as a runtime dependency of chunk ${r}`;break;case l.Parent:o=`from module ${r}`;break;case l.Update:o="from an HMR update";break;default:R(t,e=>`Unknown source type: ${e}`)}let i=Error(`Failed to load chunk ${n} ${o}${e?`: ${e}`:""}`,e?{cause:e}:void 0);throw i.name="ChunkLoadError",i}),x.set(o,i)}return i}function N(e){return`${t}${e.split("/").map(e=>encodeURIComponent(e)).join("/")}${r}`}S.L=function(e){return M(l.Parent,this.m.id,e)},S.R=function(e){let t=this.r(e);return t?.default??t},S.P=function(e){return`/ROOT/${e??""}`},S.q=function(e,t){m.call(this,`${e}${r}`,t)},S.b=function(e,t,o,l){let i="SharedWorker"===e.name,s=[o.map(e=>N(e)).reverse(),r];for(let e of n)s.push(globalThis[e]);let u=new URL(N(t),location.origin),a=JSON.stringify(s);return i?u.searchParams.set("params",a):u.hash="#params="+encodeURIComponent(a),new e(u,l?{...l,type:void 0}:void 0)};let q=/\.js(?:\?[^#]*)?(?:#.*)?$/,K=/\.css(?:\?[^#]*)?(?:#.*)?$/;function L(e){return K.test(e)}u.w=function(t,r,n){return e.loadWebAssembly(l.Parent,this.m.id,t,r,n)},u.u=function(t,r){return e.loadWebAssemblyModule(l.Parent,this.m.id,t,r)};let I={};u.c=I;let B=(e,t)=>{let r=I[e];if(r){if(r.error)throw r.error;return r}return W(e,l.Parent,t.id)};function W(e,t,r){let n=$.get(e);if("function"!=typeof n)throw Error(function(e,t,r){let n;switch(t){case 0:n=`as a runtime entry of chunk ${r}`;break;case 1:n=`because it was required from module ${r}`;break;case 2:n="because of an HMR update";break;default:R(t,e=>`Unknown source type: ${e}`)}return`Module ${e} was instantiated ${n}, but the module factory is not available.`}(e,t,r));let o=h(e),l=o.exports;I[e]=o;let i=new s(o,l);try{n(i,o,l)}catch(e){throw o.error=e,e}return o.namespaceObject&&o.exports!==o.namespaceObject&&g(o.exports,o.namespaceObject),o}function F(t){let r,n=function(e){if("string"==typeof e)return e;if(e)return{src:e.getAttribute("src")};if("u">typeof TURBOPACK_NEXT_CHUNK_URLS)return{src:TURBOPACK_NEXT_CHUNK_URLS.pop()};throw Error("chunk path empty but not in a worker")}(t[0]);return 2===t.length?r=t[1]:(r=void 0,!function(e,t){let r=1;for(;r<e.length;){let n,o=r+1;for(;o<e.length&&"function"!=typeof e[o];)o++;if(o===e.length)throw Error("malformed chunk format, expected a factory function");let l=e[o];for(let l=r;l<o;l++){let r=e[l],o=t.get(r);if(o){n=o;break}}let i=n??l,s=!1;for(let n=r;n<o;n++){let r=e[n];t.has(r)||(s||(i===l&&Object.defineProperty(l,"name",{value:"module evaluation"}),s=!0),t.set(r,i))}r=o+1}}(t,$)),e.registerChunk(n,r)}let X=new Map;function D(e){let t=X.get(e);if(!t){let r,n;t={resolved:!1,loadingStarted:!1,promise:new Promise((e,t)=>{r=e,n=t}),resolve:()=>{t.resolved=!0,r()},reject:n},X.set(e,t)}return t}e={async registerChunk(e,r){let n=function(e){if("string"==typeof e)return e;let r=decodeURIComponent(e.src.replace(/[?#].*$/,""));return r.startsWith(t)?r.slice(t.length):r}(e);if(D("string"==typeof e?N(e):e.src).resolve(),null!=r){for(let e of r.otherChunks)D(N("string"==typeof e?e:e.path));if(await Promise.all(r.otherChunks.map(e=>T(l.Runtime,n,e))),r.runtimeModuleIds.length>0)for(let e of r.runtimeModuleIds)!function(e,t){let r=I[t];if(r){if(r.error)throw r.error;return}W(t,l.Runtime,e)}(n,e)}},loadChunkCached:(e,t)=>(function(e,t){let r=D(t);if(r.loadingStarted)return r.promise;if(e===l.Runtime)return r.loadingStarted=!0,L(t)&&r.resolve(),r.promise;if("function"==typeof importScripts)if(L(t));else if(q.test(t))self.TURBOPACK_NEXT_CHUNK_URLS.push(t),importScripts(t);else throw Error(`can't infer type of chunk from URL ${t} in worker`);else{let e=decodeURI(t);if(L(t))if(document.querySelectorAll(`link[rel=stylesheet][href="${t}"],link[rel=stylesheet][href^="${t}?"],link[rel=stylesheet][href="${e}"],link[rel=stylesheet][href^="${e}?"]`).length>0)r.resolve();else{let e=document.createElement("link");e.rel="stylesheet",e.href=t,e.onerror=()=>{r.reject()},e.onload=()=>{r.resolve()},document.head.appendChild(e)}else if(q.test(t)){let n=document.querySelectorAll(`script[src="${t}"],script[src^="${t}?"],script[src="${e}"],script[src^="${e}?"]`);if(n.length>0)for(let e of Array.from(n))e.addEventListener("error",()=>{r.reject()});else{let e=document.createElement("script");e.src=t,e.onerror=()=>{r.reject()},document.head.appendChild(e)}}else throw Error(`can't infer type of chunk from URL ${t}`)}return r.loadingStarted=!0,r.promise})(e,t),async loadWebAssembly(e,t,r,n,o){let l=fetch(N(r)),{instance:i}=await WebAssembly.instantiateStreaming(l,o);return i.exports},async loadWebAssemblyModule(e,t,r,n){let o=fetch(N(r));return await WebAssembly.compileStreaming(o)}};let H=globalThis.TURBOPACK;globalThis.TURBOPACK={push:F},H.forEach(F)})();
@@ -0,0 +1,16 @@
1
+ self.__BUILD_MANIFEST = {
2
+ "__rewrites": {
3
+ "afterFiles": [],
4
+ "beforeFiles": [
5
+ {
6
+ "source": "/./_next/:path+",
7
+ "destination": "/_next/:path+"
8
+ }
9
+ ],
10
+ "fallback": []
11
+ },
12
+ "sortedPages": [
13
+ "/_app",
14
+ "/_error"
15
+ ]
16
+ };self.__BUILD_MANIFEST_CB && self.__BUILD_MANIFEST_CB()
@@ -0,0 +1 @@
1
+ self.__MIDDLEWARE_MATCHERS = [];self.__MIDDLEWARE_MATCHERS_CB && self.__MIDDLEWARE_MATCHERS_CB()
@@ -0,0 +1 @@
1
+ self.__SSG_MANIFEST=new Set([]);self.__SSG_MANIFEST_CB&&self.__SSG_MANIFEST_CB()
@@ -0,0 +1,15 @@
1
+ 1:"$Sreact.fragment"
2
+ 2:I[3510,["./_next/static/chunks/0e1~n36m7gfkb.js"],"default"]
3
+ 3:I[17923,["./_next/static/chunks/0e1~n36m7gfkb.js"],"default"]
4
+ 4:I[24417,["./_next/static/chunks/0e1~n36m7gfkb.js"],"OutletBoundary"]
5
+ 5:"$Sreact.suspense"
6
+ 8:I[24417,["./_next/static/chunks/0e1~n36m7gfkb.js"],"ViewportBoundary"]
7
+ a:I[24417,["./_next/static/chunks/0e1~n36m7gfkb.js"],"MetadataBoundary"]
8
+ c:I[48776,["./_next/static/chunks/0e1~n36m7gfkb.js"],"default",1]
9
+ :HL["./_next/static/chunks/0o2sgd3e~ptl1.css","style"]
10
+ 0:{"P":null,"c":["","_not-found",""],"q":"","i":false,"f":[[["",{"children":["/_not-found",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",16],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"./_next/static/chunks/0o2sgd3e~ptl1.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"./_next/static/chunks/0e1~n36m7gfkb.js","async":true,"nonce":"$undefined"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":[["$","head",null,{"children":["$","script",null,{"dangerouslySetInnerHTML":{"__html":"(function(){try{var k='devframe-git-theme';var t=localStorage.getItem(k);if(t!=='light'&&t!=='dark'){t=window.matchMedia('(prefers-color-scheme: dark)').matches?'dark':'light';}if(t==='dark')document.documentElement.classList.add('dark');}catch(e){document.documentElement.classList.add('dark');}})();"}}]}],["$","body",null,{"children":["$","$L2",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L3",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]]}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L3",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":"$0:f:0:1:0:props:children:1:props:children:1:props:children:props:notFound:0:1:props:style","children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":"$0:f:0:1:0:props:children:1:props:children:1:props:children:props:notFound:0:1:props:children:props:children:1:props:style","children":404}],["$","div",null,{"style":"$0:f:0:1:0:props:children:1:props:children:1:props:children:props:notFound:0:1:props:children:props:children:2:props:style","children":["$","h2",null,{"style":"$0:f:0:1:0:props:children:1:props:children:1:props:children:props:notFound:0:1:props:children:props:children:2:props:children:props:style","children":"This page could not be found."}]}]]}]}]],null,["$","$L4",null,{"children":["$","$5",null,{"name":"Next.MetadataOutlet","children":"$@6"}]}]]}],{},null,false,null]},null,false,"$@7"]},null,false,null],["$","$1","h",{"children":[["$","meta",null,{"name":"robots","content":"noindex"}],["$","$L8",null,{"children":"$L9"}],["$","div",null,{"hidden":true,"children":["$","$La",null,{"children":["$","$5",null,{"name":"Next.Metadata","children":"$Lb"}]}]}],null]}],false]],"m":"$undefined","G":["$c",[["$","link","0",{"rel":"stylesheet","href":"./_next/static/chunks/0o2sgd3e~ptl1.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"hfdjoy_Phicjdm2uzC1Xt"}
11
+ d:[]
12
+ 7:"$Wd"
13
+ 9:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]
14
+ 6:null
15
+ b:[["$","title","0",{"children":"Git Dashboard"}],["$","meta","1",{"name":"description","content":"A devframe Git integration with a Next.js App Router + shadcn/ui SPA."}]]
@@ -0,0 +1,5 @@
1
+ 1:"$Sreact.fragment"
2
+ 2:I[24417,["./_next/static/chunks/0e1~n36m7gfkb.js"],"ViewportBoundary"]
3
+ 3:I[24417,["./_next/static/chunks/0e1~n36m7gfkb.js"],"MetadataBoundary"]
4
+ 4:"$Sreact.suspense"
5
+ 0:{"rsc":["$","$1","h",{"children":[["$","meta",null,{"name":"robots","content":"noindex"}],["$","$L2",null,{"children":[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]}],["$","div",null,{"hidden":true,"children":["$","$L3",null,{"children":["$","$4",null,{"name":"Next.Metadata","children":[["$","title","0",{"children":"Git Dashboard"}],["$","meta","1",{"name":"description","content":"A devframe Git integration with a Next.js App Router + shadcn/ui SPA."}]]}]}]}],null]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"hfdjoy_Phicjdm2uzC1Xt"}
@@ -0,0 +1,5 @@
1
+ 1:"$Sreact.fragment"
2
+ 2:I[3510,["./_next/static/chunks/0e1~n36m7gfkb.js"],"default"]
3
+ 3:I[17923,["./_next/static/chunks/0e1~n36m7gfkb.js"],"default"]
4
+ :HL["./_next/static/chunks/0o2sgd3e~ptl1.css","style"]
5
+ 0:{"rsc":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"./_next/static/chunks/0o2sgd3e~ptl1.css","precedence":"next"}],["$","script","script-0",{"src":"./_next/static/chunks/0e1~n36m7gfkb.js","async":true}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":[["$","head",null,{"children":["$","script",null,{"dangerouslySetInnerHTML":{"__html":"(function(){try{var k='devframe-git-theme';var t=localStorage.getItem(k);if(t!=='light'&&t!=='dark'){t=window.matchMedia('(prefers-color-scheme: dark)').matches?'dark':'light';}if(t==='dark')document.documentElement.classList.add('dark');}catch(e){document.documentElement.classList.add('dark');}})();"}}]}],["$","body",null,{"children":["$","$L2",null,{"parallelRouterKey":"children","template":["$","$L3",null,{}],"notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]]}]}]]}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"hfdjoy_Phicjdm2uzC1Xt"}
@@ -0,0 +1,5 @@
1
+ 1:"$Sreact.fragment"
2
+ 2:I[24417,["./_next/static/chunks/0e1~n36m7gfkb.js"],"OutletBoundary"]
3
+ 3:"$Sreact.suspense"
4
+ 0:{"rsc":["$","$1","c",{"children":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],null,["$","$L2",null,{"children":["$","$3",null,{"name":"Next.MetadataOutlet","children":"$@4"}]}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"hfdjoy_Phicjdm2uzC1Xt"}
5
+ 4:null
@@ -0,0 +1,5 @@
1
+ 1:"$Sreact.fragment"
2
+ 2:I[3510,["./_next/static/chunks/0e1~n36m7gfkb.js"],"default"]
3
+ 3:I[17923,["./_next/static/chunks/0e1~n36m7gfkb.js"],"default"]
4
+ 4:[]
5
+ 0:{"rsc":["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","template":["$","$L3",null,{}]}]]}],"isPartial":false,"staleTime":300,"varyParams":"$W4","buildId":"hfdjoy_Phicjdm2uzC1Xt"}
@@ -0,0 +1,2 @@
1
+ :HL["./_next/static/chunks/0o2sgd3e~ptl1.css","style"]
2
+ 0:{"tree":{"name":"","param":null,"prefetchHints":16,"slots":{"children":{"name":"/_not-found","param":null,"prefetchHints":0,"slots":{"children":{"name":"__PAGE__","param":null,"prefetchHints":0,"slots":null}}}}},"staleTime":300,"buildId":"hfdjoy_Phicjdm2uzC1Xt"}
@@ -0,0 +1 @@
1
+ <!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="./_next/static/chunks/0o2sgd3e~ptl1.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="./_next/static/chunks/0cby-xtlytqc8.js"/><script src="./_next/static/chunks/02~fscl7ckl8~.js" async=""></script><script src="./_next/static/chunks/0f-3h51aw8u6x.js" async=""></script><script src="./_next/static/chunks/turbopack-0_ztfbn7~a1nl.js" async=""></script><script src="./_next/static/chunks/0e1~n36m7gfkb.js" async=""></script><meta name="robots" content="noindex"/><title>404: This page could not be found.</title><title>Git Dashboard</title><meta name="description" content="A devframe Git integration with a Next.js App Router + shadcn/ui SPA."/><script>(function(){try{var k='devframe-git-theme';var t=localStorage.getItem(k);if(t!=='light'&&t!=='dark'){t=window.matchMedia('(prefers-color-scheme: dark)').matches?'dark':'light';}if(t==='dark')document.documentElement.classList.add('dark');}catch(e){document.documentElement.classList.add('dark');}})();</script><script src="./_next/static/chunks/03~yq9q893hmn.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div><!--$--><!--/$--><script src="./_next/static/chunks/0cby-xtlytqc8.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[3510,[\"./_next/static/chunks/0e1~n36m7gfkb.js\"],\"default\"]\n3:I[17923,[\"./_next/static/chunks/0e1~n36m7gfkb.js\"],\"default\"]\n4:I[24417,[\"./_next/static/chunks/0e1~n36m7gfkb.js\"],\"OutletBoundary\"]\n5:\"$Sreact.suspense\"\n8:I[24417,[\"./_next/static/chunks/0e1~n36m7gfkb.js\"],\"ViewportBoundary\"]\na:I[24417,[\"./_next/static/chunks/0e1~n36m7gfkb.js\"],\"MetadataBoundary\"]\nc:I[48776,[\"./_next/static/chunks/0e1~n36m7gfkb.js\"],\"default\",1]\n:HL[\"./_next/static/chunks/0o2sgd3e~ptl1.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"_not-found\",\"\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",16],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"./_next/static/chunks/0o2sgd3e~ptl1.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-0\",{\"src\":\"./_next/static/chunks/0e1~n36m7gfkb.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"suppressHydrationWarning\":true,\"children\":[[\"$\",\"head\",null,{\"children\":[\"$\",\"script\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"(function(){try{var k='devframe-git-theme';var t=localStorage.getItem(k);if(t!=='light'\u0026\u0026t!=='dark'){t=window.matchMedia('(prefers-color-scheme: dark)').matches?'dark':'light';}if(t==='dark')document.documentElement.classList.add('dark');}catch(e){document.documentElement.classList.add('dark');}})();\"}}]}],[\"$\",\"body\",null,{\"children\":[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:1:props:children:props:notFound:0:1:props:style\",\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":\"$0:f:0:1:0:props:children:1:props:children:1:props:children:props:notFound:0:1:props:children:props:children:1:props:style\",\"children\":404}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:1:props:children:props:notFound:0:1:props:children:props:children:2:props:style\",\"children\":[\"$\",\"h2\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:1:props:children:props:notFound:0:1:props:children:props:children:2:props:children:props:style\",\"children\":\"This page could not be found.\"}]}]]}]}]],null,[\"$\",\"$L4\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@6\"}]}]]}],{},null,false,null]},null,false,\"$@7\"]},null,false,null],[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[\"$\",\"$L8\",null,{\"children\":\"$L9\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$La\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Lb\"}]}]}],null]}],false]],\"m\":\"$undefined\",\"G\":[\"$c\",[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"./_next/static/chunks/0o2sgd3e~ptl1.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]]],\"S\":true,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"hfdjoy_Phicjdm2uzC1Xt\"}\n"])</script><script>self.__next_f.push([1,"d:[]\n7:\"$Wd\"\n"])</script><script>self.__next_f.push([1,"9:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"6:null\nb:[[\"$\",\"title\",\"0\",{\"children\":\"Git Dashboard\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"A devframe Git integration with a Next.js App Router + shadcn/ui SPA.\"}]]\n"])</script></body></html>
@@ -0,0 +1,15 @@
1
+ 1:"$Sreact.fragment"
2
+ 2:I[3510,["./_next/static/chunks/0e1~n36m7gfkb.js"],"default"]
3
+ 3:I[17923,["./_next/static/chunks/0e1~n36m7gfkb.js"],"default"]
4
+ 4:I[24417,["./_next/static/chunks/0e1~n36m7gfkb.js"],"OutletBoundary"]
5
+ 5:"$Sreact.suspense"
6
+ 8:I[24417,["./_next/static/chunks/0e1~n36m7gfkb.js"],"ViewportBoundary"]
7
+ a:I[24417,["./_next/static/chunks/0e1~n36m7gfkb.js"],"MetadataBoundary"]
8
+ c:I[48776,["./_next/static/chunks/0e1~n36m7gfkb.js"],"default",1]
9
+ :HL["./_next/static/chunks/0o2sgd3e~ptl1.css","style"]
10
+ 0:{"P":null,"c":["","_not-found",""],"q":"","i":false,"f":[[["",{"children":["/_not-found",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",16],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"./_next/static/chunks/0o2sgd3e~ptl1.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"./_next/static/chunks/0e1~n36m7gfkb.js","async":true,"nonce":"$undefined"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":[["$","head",null,{"children":["$","script",null,{"dangerouslySetInnerHTML":{"__html":"(function(){try{var k='devframe-git-theme';var t=localStorage.getItem(k);if(t!=='light'&&t!=='dark'){t=window.matchMedia('(prefers-color-scheme: dark)').matches?'dark':'light';}if(t==='dark')document.documentElement.classList.add('dark');}catch(e){document.documentElement.classList.add('dark');}})();"}}]}],["$","body",null,{"children":["$","$L2",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L3",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]]}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L3",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":"$0:f:0:1:0:props:children:1:props:children:1:props:children:props:notFound:0:1:props:style","children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":"$0:f:0:1:0:props:children:1:props:children:1:props:children:props:notFound:0:1:props:children:props:children:1:props:style","children":404}],["$","div",null,{"style":"$0:f:0:1:0:props:children:1:props:children:1:props:children:props:notFound:0:1:props:children:props:children:2:props:style","children":["$","h2",null,{"style":"$0:f:0:1:0:props:children:1:props:children:1:props:children:props:notFound:0:1:props:children:props:children:2:props:children:props:style","children":"This page could not be found."}]}]]}]}]],null,["$","$L4",null,{"children":["$","$5",null,{"name":"Next.MetadataOutlet","children":"$@6"}]}]]}],{},null,false,null]},null,false,"$@7"]},null,false,null],["$","$1","h",{"children":[["$","meta",null,{"name":"robots","content":"noindex"}],["$","$L8",null,{"children":"$L9"}],["$","div",null,{"hidden":true,"children":["$","$La",null,{"children":["$","$5",null,{"name":"Next.Metadata","children":"$Lb"}]}]}],null]}],false]],"m":"$undefined","G":["$c",[["$","link","0",{"rel":"stylesheet","href":"./_next/static/chunks/0o2sgd3e~ptl1.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"hfdjoy_Phicjdm2uzC1Xt"}
11
+ d:[]
12
+ 7:"$Wd"
13
+ 9:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]
14
+ 6:null
15
+ b:[["$","title","0",{"children":"Git Dashboard"}],["$","meta","1",{"name":"description","content":"A devframe Git integration with a Next.js App Router + shadcn/ui SPA."}]]
@@ -0,0 +1 @@
1
+ <!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="./_next/static/chunks/0o2sgd3e~ptl1.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="./_next/static/chunks/0cby-xtlytqc8.js"/><script src="./_next/static/chunks/02~fscl7ckl8~.js" async=""></script><script src="./_next/static/chunks/0f-3h51aw8u6x.js" async=""></script><script src="./_next/static/chunks/turbopack-0_ztfbn7~a1nl.js" async=""></script><script src="./_next/static/chunks/0e1~n36m7gfkb.js" async=""></script><script src="./_next/static/chunks/0fh_ktutzk5fe.js" async=""></script><title>Git Dashboard</title><meta name="description" content="A devframe Git integration with a Next.js App Router + shadcn/ui SPA."/><script>(function(){try{var k='devframe-git-theme';var t=localStorage.getItem(k);if(t!=='light'&&t!=='dark'){t=window.matchMedia('(prefers-color-scheme: dark)').matches?'dark':'light';}if(t==='dark')document.documentElement.classList.add('dark');}catch(e){document.documentElement.classList.add('dark');}})();</script><script src="./_next/static/chunks/03~yq9q893hmn.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><div class="bg-base flex h-svh w-full flex-col overflow-hidden"><header class="flex items-center gap-2 shrink-0 h-10 px-3 border-b border-base bg-base z-nav"><div class="flex items-center gap-1.5 shrink-0 font-semibold text-sm select-none"><span aria-hidden="true" class="i-ph-git-fork-duotone inline-block shrink-0 text-base color-active"></span><span>Git Dashboard</span></div><nav class="inline-flex items-center gap-1 p-1 rounded-lg bg-secondary w-max" role="tablist" aria-label="Git views"><button type="button" role="tab" aria-selected="false" data-state="inactive" class="px-3 py-1 rounded-md text-sm color-muted inline-flex gap-1.5 items-center whitespace-nowrap select-none cursor-pointer transition outline-none hover:color-base focus-visible:ring-2 focus-visible:ring-primary-500/40 data-[state=active]:bg-base data-[state=active]:color-base data-[state=active]:shadow-sm"><span aria-hidden="true" class="i-ph-tree-view-duotone inline-block shrink-0 size-4"></span>Status</button><button type="button" role="tab" aria-selected="true" data-state="active" class="px-3 py-1 rounded-md text-sm color-muted inline-flex gap-1.5 items-center whitespace-nowrap select-none cursor-pointer transition outline-none hover:color-base focus-visible:ring-2 focus-visible:ring-primary-500/40 data-[state=active]:bg-base data-[state=active]:color-base data-[state=active]:shadow-sm"><span aria-hidden="true" class="i-ph-git-commit-duotone inline-block shrink-0 size-4"></span>Commits</button><button type="button" role="tab" aria-selected="false" data-state="inactive" class="px-3 py-1 rounded-md text-sm color-muted inline-flex gap-1.5 items-center whitespace-nowrap select-none cursor-pointer transition outline-none hover:color-base focus-visible:ring-2 focus-visible:ring-primary-500/40 data-[state=active]:bg-base data-[state=active]:color-base data-[state=active]:shadow-sm"><span aria-hidden="true" class="i-ph-git-diff-duotone inline-block shrink-0 size-4"></span>Diff</button></nav><div class="flex-1"></div><span data-slot="badge" class="badge-muted">connecting…</span><button data-slot="icon-button" class="btn-icon w-7! h-7! text-sm" aria-label="Toggle light/dark theme"><span aria-hidden="true" class="i-ph-sun-duotone inline-block shrink-0 size-4"></span></button></header><div class="flex min-h-0 flex-1"><aside class="flex min-h-0 flex-col" style="width:264px"><div class="shrink-0 space-y-3 border-b p-3"><div class="space-y-1.5"><label for="branch-select" class="color-muted text-[11px] font-medium tracking-wide uppercase">Branch</label><select id="branch-select" disabled="" class="bg-base border-base focus:ring-primary-500/40 h-9 w-full rounded-md border px-2 text-sm outline-none focus:ring-2"><option value="" selected="">Not a repository</option></select></div></div><div class="flex min-h-0 flex-1 flex-col"><div class="flex h-9 shrink-0 items-center justify-between gap-2 border-b px-3"><span class="text-xs font-medium">Branches</span><div class="flex items-center gap-1"><span class="color-muted text-[11px] tabular-nums"></span><button data-slot="icon-button" class="btn-icon w-7! h-7! text-sm" aria-label="Refresh branches"><span aria-hidden="true" class="i-ph-arrows-clockwise inline-block shrink-0 size-4"></span></button></div></div><div class="min-h-0 flex-1 overflow-y-auto p-2"><div class="space-y-2"><div data-slot="skeleton" class="bg-active animate-pulse rounded-md h-9 w-full"></div><div data-slot="skeleton" class="bg-active animate-pulse rounded-md h-9 w-full"></div><div data-slot="skeleton" class="bg-active animate-pulse rounded-md h-9 w-full"></div><div data-slot="skeleton" class="bg-active animate-pulse rounded-md h-9 w-full"></div><div data-slot="skeleton" class="bg-active animate-pulse rounded-md h-9 w-full"></div><div data-slot="skeleton" class="bg-active animate-pulse rounded-md h-9 w-full"></div></div></div></div></aside><div role="separator" aria-orientation="vertical" aria-label="Resize sidebar" class="group bg-[#8882] relative w-px shrink-0 cursor-col-resize"><div class="group-hover:bg-primary/40 group-active:bg-primary/60 absolute inset-y-0 -left-1 -right-1 z-10 transition-colors"></div></div><section class="flex min-h-0 min-w-0 flex-1 flex-col"><div class="flex min-h-0 flex-1 flex-col p-3"><div class="flex h-full min-h-0 flex-col gap-3"><div class="flex items-center justify-between"><span class="color-muted text-xs tabular-nums"> </span><button data-slot="icon-button" class="btn-icon w-7! h-7! text-sm" aria-label="Refresh log"><span aria-hidden="true" class="i-ph-arrows-clockwise inline-block shrink-0 size-4"></span></button></div><div class="space-y-2"><div data-slot="skeleton" class="bg-active animate-pulse rounded-md h-10 w-full"></div><div data-slot="skeleton" class="bg-active animate-pulse rounded-md h-10 w-full"></div><div data-slot="skeleton" class="bg-active animate-pulse rounded-md h-10 w-full"></div><div data-slot="skeleton" class="bg-active animate-pulse rounded-md h-10 w-full"></div><div data-slot="skeleton" class="bg-active animate-pulse rounded-md h-10 w-full"></div></div></div></div></section></div></div><!--$--><!--/$--><script src="./_next/static/chunks/0cby-xtlytqc8.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[3510,[\"./_next/static/chunks/0e1~n36m7gfkb.js\"],\"default\"]\n3:I[17923,[\"./_next/static/chunks/0e1~n36m7gfkb.js\"],\"default\"]\n4:I[53567,[\"./_next/static/chunks/0e1~n36m7gfkb.js\",\"./_next/static/chunks/0fh_ktutzk5fe.js\"],\"Dashboard\"]\n5:I[24417,[\"./_next/static/chunks/0e1~n36m7gfkb.js\"],\"OutletBoundary\"]\n6:\"$Sreact.suspense\"\n8:I[24417,[\"./_next/static/chunks/0e1~n36m7gfkb.js\"],\"ViewportBoundary\"]\na:I[24417,[\"./_next/static/chunks/0e1~n36m7gfkb.js\"],\"MetadataBoundary\"]\nc:I[48776,[\"./_next/static/chunks/0e1~n36m7gfkb.js\"],\"default\",1]\n:HL[\"./_next/static/chunks/0o2sgd3e~ptl1.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"__PAGE__\",{}]},\"$undefined\",\"$undefined\",16],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"./_next/static/chunks/0o2sgd3e~ptl1.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-0\",{\"src\":\"./_next/static/chunks/0e1~n36m7gfkb.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"suppressHydrationWarning\":true,\"children\":[[\"$\",\"head\",null,{\"children\":[\"$\",\"script\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"(function(){try{var k='devframe-git-theme';var t=localStorage.getItem(k);if(t!=='light'\u0026\u0026t!=='dark'){t=window.matchMedia('(prefers-color-scheme: dark)').matches?'dark':'light';}if(t==='dark')document.documentElement.classList.add('dark');}catch(e){document.documentElement.classList.add('dark');}})();\"}}]}],[\"$\",\"body\",null,{\"children\":[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"$L4\",null,{}],[[\"$\",\"script\",\"script-0\",{\"src\":\"./_next/static/chunks/0fh_ktutzk5fe.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"$L5\",null,{\"children\":[\"$\",\"$6\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@7\"}]}]]}],{},null,false,null]},null,false,null],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L8\",null,{\"children\":\"$L9\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$La\",null,{\"children\":[\"$\",\"$6\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Lb\"}]}]}],null]}],false]],\"m\":\"$undefined\",\"G\":[\"$c\",[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"./_next/static/chunks/0o2sgd3e~ptl1.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]]],\"S\":true,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"hfdjoy_Phicjdm2uzC1Xt\"}\n"])</script><script>self.__next_f.push([1,"9:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"7:null\nb:[[\"$\",\"title\",\"0\",{\"children\":\"Git Dashboard\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"A devframe Git integration with a Next.js App Router + shadcn/ui SPA.\"}]]\n"])</script></body></html>
@@ -0,0 +1,14 @@
1
+ 1:"$Sreact.fragment"
2
+ 2:I[3510,["./_next/static/chunks/0e1~n36m7gfkb.js"],"default"]
3
+ 3:I[17923,["./_next/static/chunks/0e1~n36m7gfkb.js"],"default"]
4
+ 4:I[53567,["./_next/static/chunks/0e1~n36m7gfkb.js","./_next/static/chunks/0fh_ktutzk5fe.js"],"Dashboard"]
5
+ 5:I[24417,["./_next/static/chunks/0e1~n36m7gfkb.js"],"OutletBoundary"]
6
+ 6:"$Sreact.suspense"
7
+ 8:I[24417,["./_next/static/chunks/0e1~n36m7gfkb.js"],"ViewportBoundary"]
8
+ a:I[24417,["./_next/static/chunks/0e1~n36m7gfkb.js"],"MetadataBoundary"]
9
+ c:I[48776,["./_next/static/chunks/0e1~n36m7gfkb.js"],"default",1]
10
+ :HL["./_next/static/chunks/0o2sgd3e~ptl1.css","style"]
11
+ 0:{"P":null,"c":["",""],"q":"","i":false,"f":[[["",{"children":["__PAGE__",{}]},"$undefined","$undefined",16],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"./_next/static/chunks/0o2sgd3e~ptl1.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"./_next/static/chunks/0e1~n36m7gfkb.js","async":true,"nonce":"$undefined"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":[["$","head",null,{"children":["$","script",null,{"dangerouslySetInnerHTML":{"__html":"(function(){try{var k='devframe-git-theme';var t=localStorage.getItem(k);if(t!=='light'&&t!=='dark'){t=window.matchMedia('(prefers-color-scheme: dark)').matches?'dark':'light';}if(t==='dark')document.documentElement.classList.add('dark');}catch(e){document.documentElement.classList.add('dark');}})();"}}]}],["$","body",null,{"children":["$","$L2",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L3",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]]}]]}],{"children":[["$","$1","c",{"children":[["$","$L4",null,{}],[["$","script","script-0",{"src":"./_next/static/chunks/0fh_ktutzk5fe.js","async":true,"nonce":"$undefined"}]],["$","$L5",null,{"children":["$","$6",null,{"name":"Next.MetadataOutlet","children":"$@7"}]}]]}],{},null,false,null]},null,false,null],["$","$1","h",{"children":[null,["$","$L8",null,{"children":"$L9"}],["$","div",null,{"hidden":true,"children":["$","$La",null,{"children":["$","$6",null,{"name":"Next.Metadata","children":"$Lb"}]}]}],null]}],false]],"m":"$undefined","G":["$c",[["$","link","0",{"rel":"stylesheet","href":"./_next/static/chunks/0o2sgd3e~ptl1.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"hfdjoy_Phicjdm2uzC1Xt"}
12
+ 9:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]
13
+ 7:null
14
+ b:[["$","title","0",{"children":"Git Dashboard"}],["$","meta","1",{"name":"description","content":"A devframe Git integration with a Next.js App Router + shadcn/ui SPA."}]]
@@ -0,0 +1,205 @@
1
+ import { DevframeDefinition } from "devframe/types";
2
+ //#region src/rpc/functions/branches.d.ts
3
+ interface Branch {
4
+ name: string;
5
+ current: boolean;
6
+ sha: string;
7
+ upstream: string | null;
8
+ subject: string;
9
+ ahead: number;
10
+ behind: number;
11
+ /** `true` when the upstream branch no longer exists. */
12
+ gone: boolean;
13
+ }
14
+ interface GitBranches {
15
+ isRepo: boolean;
16
+ current: string | null;
17
+ branches: Branch[];
18
+ }
19
+ //#endregion
20
+ //#region src/rpc/functions/status.d.ts
21
+ type FileStatusCode = 'modified' | 'added' | 'deleted' | 'renamed' | 'copied' | 'type-changed' | 'unmerged' | 'unknown';
22
+ interface StatusFileEntry {
23
+ path: string;
24
+ /** Previous path, present for renames and copies. */
25
+ from?: string;
26
+ status: FileStatusCode;
27
+ }
28
+ interface GitStatus {
29
+ /** `false` when the working directory is not inside a git repository. */
30
+ isRepo: boolean;
31
+ root: string | null;
32
+ /** Current branch name, or `null` when HEAD is detached. */
33
+ branch: string | null;
34
+ detached: boolean;
35
+ /** Short HEAD object name. */
36
+ head: string | null;
37
+ upstream: string | null;
38
+ ahead: number;
39
+ behind: number;
40
+ staged: StatusFileEntry[];
41
+ unstaged: StatusFileEntry[];
42
+ untracked: string[];
43
+ /** `true` when there are no staged, unstaged, or untracked changes. */
44
+ clean: boolean;
45
+ /** `true` when stage / unstage / commit actions are available. */
46
+ canWrite: boolean;
47
+ }
48
+ //#endregion
49
+ //#region src/rpc/functions/commit.d.ts
50
+ interface CommitArgs {
51
+ /** Commit message. */
52
+ message: string;
53
+ }
54
+ interface CommitResult {
55
+ /** `true` when the commit succeeded. */
56
+ ok: boolean;
57
+ /** Short hash of the new commit, or `null` on failure. */
58
+ hash: string | null;
59
+ /** Human-readable outcome (e.g. "nothing to commit"). */
60
+ message: string;
61
+ /** Working-tree status after the attempt. */
62
+ status: GitStatus;
63
+ }
64
+ //#endregion
65
+ //#region src/rpc/functions/diff.d.ts
66
+ interface DiffFile {
67
+ path: string;
68
+ additions: number;
69
+ deletions: number;
70
+ binary: boolean;
71
+ }
72
+ interface GitDiff {
73
+ isRepo: boolean;
74
+ staged: boolean;
75
+ path: string | null;
76
+ files: DiffFile[];
77
+ totalAdditions: number;
78
+ totalDeletions: number;
79
+ /** Unified patch text — populated when `path` targets a single file. */
80
+ patch: string | null;
81
+ /** `true` when `patch` was clipped to {@link PATCH_CHAR_LIMIT}. */
82
+ truncated: boolean;
83
+ }
84
+ interface DiffArgs {
85
+ /** Limit the diff to a single path; omit for the whole tree. */
86
+ path?: string;
87
+ /** Diff the index against HEAD instead of the working tree. */
88
+ staged?: boolean;
89
+ }
90
+ //#endregion
91
+ //#region src/rpc/functions/log.d.ts
92
+ interface Commit {
93
+ hash: string;
94
+ shortHash: string;
95
+ author: string;
96
+ email: string;
97
+ /** Author date as epoch milliseconds. */
98
+ date: number;
99
+ subject: string;
100
+ body: string;
101
+ /** Ref names pointing at this commit (branches, tags, HEAD). */
102
+ refs: string[];
103
+ /** Full parent hashes — drives the commit graph. */
104
+ parents: string[];
105
+ }
106
+ interface GitLog {
107
+ isRepo: boolean;
108
+ commits: Commit[];
109
+ limit: number;
110
+ skip: number;
111
+ /** `true` when the page filled to `limit`, hinting at further history. */
112
+ hasMore: boolean;
113
+ }
114
+ interface LogArgs {
115
+ /** Number of commits to return (clamped to 1–200, default 30). */
116
+ limit?: number;
117
+ /** Commits to skip from the tip, for pagination (default 0). */
118
+ skip?: number;
119
+ /** Optional ref/branch to read history from (default: current HEAD). */
120
+ ref?: string;
121
+ }
122
+ //#endregion
123
+ //#region src/rpc/functions/show.d.ts
124
+ interface CommitFile {
125
+ path: string;
126
+ additions: number;
127
+ deletions: number;
128
+ binary: boolean;
129
+ }
130
+ interface CommitDetail {
131
+ /** `false` when the working directory is not inside a git repository. */
132
+ isRepo: boolean;
133
+ /** `false` when the hash does not resolve to a commit. */
134
+ found: boolean;
135
+ hash: string;
136
+ shortHash: string;
137
+ author: string;
138
+ email: string;
139
+ /** Author date as epoch milliseconds. */
140
+ date: number;
141
+ committer: string;
142
+ committerEmail: string;
143
+ /** Commit date as epoch milliseconds. */
144
+ commitDate: number;
145
+ subject: string;
146
+ body: string;
147
+ parents: string[];
148
+ refs: string[];
149
+ files: CommitFile[];
150
+ totalAdditions: number;
151
+ totalDeletions: number;
152
+ /** Unified patch text for the commit, or `null` when omitted/unavailable. */
153
+ patch: string | null;
154
+ /** `true` when `patch` was clipped to {@link PATCH_CHAR_LIMIT}. */
155
+ truncated: boolean;
156
+ }
157
+ interface ShowArgs {
158
+ /** Commit-ish to inspect (full or short hash). */
159
+ hash: string;
160
+ /** Include the full unified patch (default `true`). */
161
+ patch?: boolean;
162
+ }
163
+ //#endregion
164
+ //#region src/rpc/functions/stage.d.ts
165
+ interface StageArgs {
166
+ /** Paths to stage (`git add`). */
167
+ paths: string[];
168
+ }
169
+ //#endregion
170
+ //#region src/rpc/functions/unstage.d.ts
171
+ interface UnstageArgs {
172
+ /** Paths to unstage (`git restore --staged`). */
173
+ paths: string[];
174
+ }
175
+ //#endregion
176
+ //#region src/index.d.ts
177
+ interface GitDevframeOptions {
178
+ /** Repository directory to inspect. Defaults to the devframe `cwd`. */
179
+ repoRoot?: string;
180
+ /**
181
+ * Mount path override. Left to the adapter by default: `/` for standalone
182
+ * (cli / build / spa), `/__git/` for hosted (vite / embedded).
183
+ */
184
+ basePath?: string;
185
+ /** SPA dist directory. Defaults to the package's bundled SPA. */
186
+ distDir?: string;
187
+ /** Preferred dev-server port (default 9710). */
188
+ port?: number;
189
+ /**
190
+ * Enable staging, unstaging, and committing from the UI. Read-only by
191
+ * default; the standalone CLI also accepts a `--write` flag.
192
+ */
193
+ write?: boolean;
194
+ }
195
+ /**
196
+ * Create the Git dashboard devframe. Mount it into any host via devframe's
197
+ * adapters, or run it standalone with the bundled CLI (`devframe-git`).
198
+ *
199
+ * @experimental This plugin is experimental and may change without a major
200
+ * version bump until it stabilizes.
201
+ */
202
+ declare function createGitDevframe(options?: GitDevframeOptions): DevframeDefinition;
203
+ declare const _default: DevframeDefinition;
204
+ //#endregion
205
+ export { type Branch, type Commit, type CommitArgs, type CommitDetail, type CommitFile, type CommitResult, type DiffArgs, type DiffFile, type FileStatusCode, type GitBranches, GitDevframeOptions, type GitDiff, type GitLog, type GitStatus, type LogArgs, type ShowArgs, type StageArgs, type StatusFileEntry, type UnstageArgs, createGitDevframe, _default as default };
package/dist/index.mjs ADDED
@@ -0,0 +1,2 @@
1
+ import { n as src_default, t as createGitDevframe } from "./src-Bm_Zrtej.mjs";
2
+ export { createGitDevframe, src_default as default };