Update documentation 2026-01-16

This commit is contained in:
rob
2026-01-16 06:23:31 -04:00
parent fcb3aaebce
commit ae767de2d7
19 changed files with 279 additions and 78 deletions
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
-1
View File
@@ -1 +0,0 @@
"use strict";(globalThis.webpackChunkproject_public_docs=globalThis.webpackChunkproject_public_docs||[]).push([[894],{7836(e,s,i){i.r(s),i.d(s,{assets:()=>c,contentTitle:()=>a,default:()=>u,frontMatter:()=>l,metadata:()=>t,toc:()=>r});const t=JSON.parse('{"id":"goals","title":"Goals","description":"Vision","source":"@site/docs/goals.md","sourceDirName":".","slug":"/goals","permalink":"/rob/CmdForge/goals","draft":false,"unlisted":false,"tags":[],"version":"current","frontMatter":{"type":"goals","project":"cmdforge","updated":"2026-01-12T00:00:00.000Z"},"sidebar":"docs","previous":{"title":"CmdForge TODOs","permalink":"/rob/CmdForge/todos"},"next":{"title":"Ideas & Exploration","permalink":"/rob/CmdForge/ideas-and-exploration"}}');var n=i(4848),o=i(8453);const l={type:"goals",project:"cmdforge",updated:new Date("2026-01-12T00:00:00.000Z")},a="Goals",c={},r=[{value:"Vision",id:"vision",level:2},{value:"Active",id:"active",level:2},{value:"Future",id:"future",level:2},{value:"Non-Goals",id:"non-goals",level:2}];function d(e){const s={h1:"h1",h2:"h2",header:"header",input:"input",li:"li",p:"p",ul:"ul",...(0,o.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(s.header,{children:(0,n.jsx)(s.h1,{id:"goals",children:"Goals"})}),"\n",(0,n.jsx)(s.h2,{id:"vision",children:"Vision"}),"\n",(0,n.jsx)(s.p,{children:"CmdForge empowers users to create custom AI-powered CLI commands as easily as writing a config file. It bridges the gap between powerful AI capabilities and the simplicity of Unix pipes, letting anyone build tools that fit their workflow without writing code."}),"\n",(0,n.jsx)(s.h2,{id:"active",children:"Active"}),"\n",(0,n.jsxs)(s.ul,{className:"contains-task-list",children:["\n",(0,n.jsx)(s.li,{children:"[~] Provide a simple, intuitive way for users to create AI-powered CLI tools without coding #high"}),"\n",(0,n.jsx)(s.li,{children:"[~] Enable tool sharing so users can discover, use, and improve community-created tools #high"}),"\n",(0,n.jsx)(s.li,{children:"[~] Integrate seamlessly with Unix workflows through standard stdin/stdout piping #medium"}),"\n",(0,n.jsxs)(s.li,{className:"task-list-item",children:[(0,n.jsx)(s.input,{type:"checkbox",checked:!0,disabled:!0})," ","Abstract away AI provider complexity so tools work with any backend #medium"]}),"\n",(0,n.jsxs)(s.li,{className:"task-list-item",children:[(0,n.jsx)(s.input,{type:"checkbox",disabled:!0})," ","Maintain tool reliability through offline caching and graceful degradation #medium"]}),"\n",(0,n.jsx)(s.li,{children:"[~] Ensure tool quality through a curation system that prevents duplication and maintains standards #low"}),"\n"]}),"\n",(0,n.jsx)(s.h2,{id:"future",children:"Future"}),"\n",(0,n.jsxs)(s.ul,{className:"contains-task-list",children:["\n",(0,n.jsxs)(s.li,{className:"task-list-item",children:[(0,n.jsx)(s.input,{type:"checkbox",disabled:!0})," ","Support tool composition where tools can chain together and build on each other #medium"]}),"\n",(0,n.jsxs)(s.li,{className:"task-list-item",children:[(0,n.jsx)(s.input,{type:"checkbox",disabled:!0})," ","Enable a sustainable ecosystem where quality tools can be monetized #low"]}),"\n",(0,n.jsxs)(s.li,{className:"task-list-item",children:[(0,n.jsx)(s.input,{type:"checkbox",disabled:!0})," ","Provide extensibility for custom AI backends and integrations #low"]}),"\n"]}),"\n",(0,n.jsx)(s.h2,{id:"non-goals",children:"Non-Goals"}),"\n",(0,n.jsxs)(s.ul,{className:"contains-task-list",children:["\n",(0,n.jsxs)(s.li,{className:"task-list-item",children:[(0,n.jsx)(s.input,{type:"checkbox",checked:!0,disabled:!0})," ","Replace shell scripting #medium"]}),"\n",(0,n.jsxs)(s.li,{className:"task-list-item",children:[(0,n.jsx)(s.input,{type:"checkbox",checked:!0,disabled:!0})," ","Build a full IDE #medium"]}),"\n",(0,n.jsxs)(s.li,{className:"task-list-item",children:[(0,n.jsx)(s.input,{type:"checkbox",checked:!0,disabled:!0})," ","Require coding knowledge #medium"]}),"\n",(0,n.jsxs)(s.li,{className:"task-list-item",children:[(0,n.jsx)(s.input,{type:"checkbox",checked:!0,disabled:!0})," ","Lock users to specific providers #medium"]}),"\n"]})]})}function u(e={}){const{wrapper:s}={...(0,o.R)(),...e.components};return s?(0,n.jsx)(s,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},8453(e,s,i){i.d(s,{R:()=>l,x:()=>a});var t=i(6540);const n={},o=t.createContext(n);function l(e){const s=t.useContext(o);return t.useMemo(function(){return"function"==typeof e?e(s):{...s,...e}},[s,e])}function a(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:l(e.components),t.createElement(o.Provider,{value:s},e.children)}}}]);
+1
View File
@@ -0,0 +1 @@
"use strict";(globalThis.webpackChunkproject_public_docs=globalThis.webpackChunkproject_public_docs||[]).push([[894],{7836(e,i,s){s.r(i),s.d(i,{assets:()=>c,contentTitle:()=>a,default:()=>u,frontMatter:()=>l,metadata:()=>t,toc:()=>r});const t=JSON.parse('{"id":"goals","title":"Goals","description":"Vision","source":"@site/docs/goals.md","sourceDirName":".","slug":"/goals","permalink":"/rob/CmdForge/goals","draft":false,"unlisted":false,"tags":[],"version":"current","frontMatter":{"type":"goals","project":"cmdforge","updated":"2026-01-13T00:00:00.000Z"},"sidebar":"docs","previous":{"title":"CmdForge TODOs","permalink":"/rob/CmdForge/todos"},"next":{"title":"Ideas & Exploration","permalink":"/rob/CmdForge/ideas-and-exploration"}}');var n=s(4848),o=s(8453);const l={type:"goals",project:"cmdforge",updated:new Date("2026-01-13T00:00:00.000Z")},a="Goals",c={},r=[{value:"Vision",id:"vision",level:2},{value:"Active",id:"active",level:2},{value:"Future",id:"future",level:2},{value:"Non-Goals",id:"non-goals",level:2}];function d(e){const i={h1:"h1",h2:"h2",header:"header",input:"input",li:"li",p:"p",ul:"ul",...(0,o.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(i.header,{children:(0,n.jsx)(i.h1,{id:"goals",children:"Goals"})}),"\n",(0,n.jsx)(i.h2,{id:"vision",children:"Vision"}),"\n",(0,n.jsx)(i.p,{children:"CmdForge empowers users to create custom AI-powered CLI commands as easily as writing a config file. It bridges the gap between powerful AI capabilities and the simplicity of Unix pipes, letting anyone build tools that fit their workflow without writing code."}),"\n",(0,n.jsx)(i.h2,{id:"active",children:"Active"}),"\n",(0,n.jsxs)(i.ul,{className:"contains-task-list",children:["\n",(0,n.jsxs)(i.li,{className:"task-list-item",children:[(0,n.jsx)(i.input,{type:"checkbox",checked:!0,disabled:!0})," ","Provide a simple, intuitive way for users to create AI-powered CLI tools without coding #high"]}),"\n",(0,n.jsx)(i.li,{children:"[~] Enable tool sharing so users can discover, use, and improve community-created tools #high"}),"\n",(0,n.jsxs)(i.li,{className:"task-list-item",children:[(0,n.jsx)(i.input,{type:"checkbox",checked:!0,disabled:!0})," ","Integrate seamlessly with Unix workflows through standard stdin/stdout piping #medium"]}),"\n",(0,n.jsxs)(i.li,{className:"task-list-item",children:[(0,n.jsx)(i.input,{type:"checkbox",checked:!0,disabled:!0})," ","Abstract away AI provider complexity so tools work with any backend #medium"]}),"\n",(0,n.jsx)(i.li,{children:"[~] Maintain tool reliability through offline caching and graceful degradation #medium"}),"\n",(0,n.jsx)(i.li,{children:"[~] Ensure tool quality through a curation system that prevents duplication and maintains standards #low"}),"\n"]}),"\n",(0,n.jsx)(i.h2,{id:"future",children:"Future"}),"\n",(0,n.jsxs)(i.ul,{className:"contains-task-list",children:["\n",(0,n.jsx)(i.li,{children:"[~] Support tool composition where tools can chain together and build on each other #medium"}),"\n",(0,n.jsxs)(i.li,{className:"task-list-item",children:[(0,n.jsx)(i.input,{type:"checkbox",disabled:!0})," ","Create a monetization plan for sustainable tool ecosystem #low"]}),"\n",(0,n.jsx)(i.li,{children:"[~] Provide extensibility for custom AI backends and integrations #low"}),"\n"]}),"\n",(0,n.jsx)(i.h2,{id:"non-goals",children:"Non-Goals"}),"\n",(0,n.jsxs)(i.ul,{className:"contains-task-list",children:["\n",(0,n.jsxs)(i.li,{className:"task-list-item",children:[(0,n.jsx)(i.input,{type:"checkbox",checked:!0,disabled:!0})," ","Replace shell scripting #medium"]}),"\n",(0,n.jsxs)(i.li,{className:"task-list-item",children:[(0,n.jsx)(i.input,{type:"checkbox",checked:!0,disabled:!0})," ","Build a full IDE #medium"]}),"\n",(0,n.jsxs)(i.li,{className:"task-list-item",children:[(0,n.jsx)(i.input,{type:"checkbox",checked:!0,disabled:!0})," ","Require coding knowledge #medium"]}),"\n",(0,n.jsxs)(i.li,{className:"task-list-item",children:[(0,n.jsx)(i.input,{type:"checkbox",checked:!0,disabled:!0})," ","Lock users to specific providers #medium"]}),"\n"]})]})}function u(e={}){const{wrapper:i}={...(0,o.R)(),...e.components};return i?(0,n.jsx)(i,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},8453(e,i,s){s.d(i,{R:()=>l,x:()=>a});var t=s(6540);const n={},o=t.createContext(n);function l(e){const i=t.useContext(o);return t.useMemo(function(){return"function"==typeof e?e(i):{...i,...e}},[i,e])}function a(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:l(e.components),t.createElement(o.Provider,{value:i},e.children)}}}]);
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+1
View File
@@ -0,0 +1 @@
(()=>{"use strict";var e,r,t,a,o,n={},c={};function i(e){var r=c[e];if(void 0!==r)return r.exports;var t=c[e]={id:e,loaded:!1,exports:{}};return n[e].call(t.exports,t,t.exports,i),t.loaded=!0,t.exports}i.m=n,i.c=c,e=[],i.O=(r,t,a,o)=>{if(!t){var n=1/0;for(l=0;l<e.length;l++){for(var[t,a,o]=e[l],c=!0,d=0;d<t.length;d++)(!1&o||n>=o)&&Object.keys(i.O).every(e=>i.O[e](t[d]))?t.splice(d--,1):(c=!1,o<n&&(n=o));if(c){e.splice(l--,1);var f=a();void 0!==f&&(r=f)}}return r}o=o||0;for(var l=e.length;l>0&&e[l-1][2]>o;l--)e[l]=e[l-1];e[l]=[t,a,o]},i.n=e=>{var r=e&&e.__esModule?()=>e.default:()=>e;return i.d(r,{a:r}),r},t=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,i.t=function(e,a){if(1&a&&(e=this(e)),8&a)return e;if("object"==typeof e&&e){if(4&a&&e.__esModule)return e;if(16&a&&"function"==typeof e.then)return e}var o=Object.create(null);i.r(o);var n={};r=r||[null,t({}),t([]),t(t)];for(var c=2&a&&e;("object"==typeof c||"function"==typeof c)&&!~r.indexOf(c);c=t(c))Object.getOwnPropertyNames(c).forEach(r=>n[r]=()=>e[r]);return n.default=()=>e,i.d(o,n),o},i.d=(e,r)=>{for(var t in r)i.o(r,t)&&!i.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},i.f={},i.e=e=>Promise.all(Object.keys(i.f).reduce((r,t)=>(i.f[t](e,r),r),[])),i.u=e=>"assets/js/"+({48:"a94703ab",98:"a7bd4aaa",207:"e719f3dc",393:"1db78e9f",401:"17896441",413:"1db64337",443:"5281b7a2",574:"817f7194",647:"5e95c892",742:"aba21aa0",854:"3fbf7384",894:"5eebbccf"}[e]||e)+"."+{48:"b8c77466",98:"3ba34601",207:"a5309d63",237:"447ba118",393:"c1cfaf5f",401:"a2525508",413:"24dfc3f7",443:"2c953305",574:"a62b2c6a",647:"a3b66919",742:"4a552a5c",854:"58217f0b",894:"b83c9cc8"}[e]+".js",i.miniCssF=e=>{},i.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),a={},o="project-public-docs:",i.l=(e,r,t,n)=>{if(a[e])a[e].push(r);else{var c,d;if(void 0!==t)for(var f=document.getElementsByTagName("script"),l=0;l<f.length;l++){var u=f[l];if(u.getAttribute("src")==e||u.getAttribute("data-webpack")==o+t){c=u;break}}c||(d=!0,(c=document.createElement("script")).charset="utf-8",i.nc&&c.setAttribute("nonce",i.nc),c.setAttribute("data-webpack",o+t),c.src=e),a[e]=[r];var b=(r,t)=>{c.onerror=c.onload=null,clearTimeout(s);var o=a[e];if(delete a[e],c.parentNode&&c.parentNode.removeChild(c),o&&o.forEach(e=>e(t)),r)return r(t)},s=setTimeout(b.bind(null,void 0,{type:"timeout",target:c}),12e4);c.onerror=b.bind(null,c.onerror),c.onload=b.bind(null,c.onload),d&&document.head.appendChild(c)}},i.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.p="/rob/CmdForge/",i.gca=function(e){return e={17896441:"401",a94703ab:"48",a7bd4aaa:"98",e719f3dc:"207","1db78e9f":"393","1db64337":"413","5281b7a2":"443","817f7194":"574","5e95c892":"647",aba21aa0:"742","3fbf7384":"854","5eebbccf":"894"}[e]||e,i.p+i.u(e)},(()=>{var e={354:0,869:0};i.f.j=(r,t)=>{var a=i.o(e,r)?e[r]:void 0;if(0!==a)if(a)t.push(a[2]);else if(/^(354|869)$/.test(r))e[r]=0;else{var o=new Promise((t,o)=>a=e[r]=[t,o]);t.push(a[2]=o);var n=i.p+i.u(r),c=new Error;i.l(n,t=>{if(i.o(e,r)&&(0!==(a=e[r])&&(e[r]=void 0),a)){var o=t&&("load"===t.type?"missing":t.type),n=t&&t.target&&t.target.src;c.message="Loading chunk "+r+" failed.\n("+o+": "+n+")",c.name="ChunkLoadError",c.type=o,c.request=n,a[1](c)}},"chunk-"+r,r)}},i.O.j=r=>0===e[r];var r=(r,t)=>{var a,o,[n,c,d]=t,f=0;if(n.some(r=>0!==e[r])){for(a in c)i.o(c,a)&&(i.m[a]=c[a]);if(d)var l=d(i)}for(r&&r(t);f<n.length;f++)o=n[f],i.o(e,o)&&e[o]&&e[o][0](),e[o]=0;return i.O(l)},t=globalThis.webpackChunkproject_public_docs=globalThis.webpackChunkproject_public_docs||[];t.forEach(r.bind(null,0)),t.push=r.bind(null,t.push.bind(t))})()})();
-1
View File
@@ -1 +0,0 @@
(()=>{"use strict";var e,r,t,a,o,n={},i={};function c(e){var r=i[e];if(void 0!==r)return r.exports;var t=i[e]={id:e,loaded:!1,exports:{}};return n[e].call(t.exports,t,t.exports,c),t.loaded=!0,t.exports}c.m=n,c.c=i,e=[],c.O=(r,t,a,o)=>{if(!t){var n=1/0;for(l=0;l<e.length;l++){for(var[t,a,o]=e[l],i=!0,d=0;d<t.length;d++)(!1&o||n>=o)&&Object.keys(c.O).every(e=>c.O[e](t[d]))?t.splice(d--,1):(i=!1,o<n&&(n=o));if(i){e.splice(l--,1);var f=a();void 0!==f&&(r=f)}}return r}o=o||0;for(var l=e.length;l>0&&e[l-1][2]>o;l--)e[l]=e[l-1];e[l]=[t,a,o]},c.n=e=>{var r=e&&e.__esModule?()=>e.default:()=>e;return c.d(r,{a:r}),r},t=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,c.t=function(e,a){if(1&a&&(e=this(e)),8&a)return e;if("object"==typeof e&&e){if(4&a&&e.__esModule)return e;if(16&a&&"function"==typeof e.then)return e}var o=Object.create(null);c.r(o);var n={};r=r||[null,t({}),t([]),t(t)];for(var i=2&a&&e;("object"==typeof i||"function"==typeof i)&&!~r.indexOf(i);i=t(i))Object.getOwnPropertyNames(i).forEach(r=>n[r]=()=>e[r]);return n.default=()=>e,c.d(o,n),o},c.d=(e,r)=>{for(var t in r)c.o(r,t)&&!c.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},c.f={},c.e=e=>Promise.all(Object.keys(c.f).reduce((r,t)=>(c.f[t](e,r),r),[])),c.u=e=>"assets/js/"+({48:"a94703ab",98:"a7bd4aaa",207:"e719f3dc",393:"1db78e9f",401:"17896441",413:"1db64337",443:"5281b7a2",574:"817f7194",647:"5e95c892",742:"aba21aa0",854:"3fbf7384",894:"5eebbccf"}[e]||e)+"."+{48:"b8c77466",98:"3ba34601",207:"a5309d63",237:"447ba118",393:"cd3f507f",401:"a2525508",413:"dd4b0e6b",443:"06e90270",574:"8359c903",647:"a3b66919",742:"4a552a5c",854:"58217f0b",894:"ab36aeeb"}[e]+".js",c.miniCssF=e=>{},c.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),a={},o="project-public-docs:",c.l=(e,r,t,n)=>{if(a[e])a[e].push(r);else{var i,d;if(void 0!==t)for(var f=document.getElementsByTagName("script"),l=0;l<f.length;l++){var u=f[l];if(u.getAttribute("src")==e||u.getAttribute("data-webpack")==o+t){i=u;break}}i||(d=!0,(i=document.createElement("script")).charset="utf-8",c.nc&&i.setAttribute("nonce",c.nc),i.setAttribute("data-webpack",o+t),i.src=e),a[e]=[r];var b=(r,t)=>{i.onerror=i.onload=null,clearTimeout(s);var o=a[e];if(delete a[e],i.parentNode&&i.parentNode.removeChild(i),o&&o.forEach(e=>e(t)),r)return r(t)},s=setTimeout(b.bind(null,void 0,{type:"timeout",target:i}),12e4);i.onerror=b.bind(null,i.onerror),i.onload=b.bind(null,i.onload),d&&document.head.appendChild(i)}},c.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},c.p="/rob/CmdForge/",c.gca=function(e){return e={17896441:"401",a94703ab:"48",a7bd4aaa:"98",e719f3dc:"207","1db78e9f":"393","1db64337":"413","5281b7a2":"443","817f7194":"574","5e95c892":"647",aba21aa0:"742","3fbf7384":"854","5eebbccf":"894"}[e]||e,c.p+c.u(e)},(()=>{var e={354:0,869:0};c.f.j=(r,t)=>{var a=c.o(e,r)?e[r]:void 0;if(0!==a)if(a)t.push(a[2]);else if(/^(354|869)$/.test(r))e[r]=0;else{var o=new Promise((t,o)=>a=e[r]=[t,o]);t.push(a[2]=o);var n=c.p+c.u(r),i=new Error;c.l(n,t=>{if(c.o(e,r)&&(0!==(a=e[r])&&(e[r]=void 0),a)){var o=t&&("load"===t.type?"missing":t.type),n=t&&t.target&&t.target.src;i.message="Loading chunk "+r+" failed.\n("+o+": "+n+")",i.name="ChunkLoadError",i.type=o,i.request=n,a[1](i)}},"chunk-"+r,r)}},c.O.j=r=>0===e[r];var r=(r,t)=>{var a,o,[n,i,d]=t,f=0;if(n.some(r=>0!==e[r])){for(a in i)c.o(i,a)&&(c.m[a]=i[a]);if(d)var l=d(c)}for(r&&r(t);f<n.length;f++)o=n[f],c.o(e,o)&&e[o]&&e[o][0](),e[o]=0;return c.O(l)},t=globalThis.webpackChunkproject_public_docs=globalThis.webpackChunkproject_public_docs||[];t.forEach(r.bind(null,0)),t.push=r.bind(null,t.push.bind(t))})()})();