1 line
6.8 KiB
JavaScript
1 line
6.8 KiB
JavaScript
"use strict";(globalThis.webpackChunkproject_public_docs=globalThis.webpackChunkproject_public_docs||[]).push([[574],{921(e,t,r){r.r(t),r.d(t,{assets:()=>l,contentTitle:()=>o,default:()=>a,frontMatter:()=>i,metadata:()=>n,toc:()=>c});const n=JSON.parse('{"id":"milestones","title":"Milestones","description":"M0: Core Platform","source":"@site/docs/milestones.md","sourceDirName":".","slug":"/milestones","permalink":"/rob/CmdForge/milestones","draft":false,"unlisted":false,"tags":[],"version":"current","frontMatter":{"type":"milestones","project":"cmdforge","updated":"2026-01-12T00:00:00.000Z"},"sidebar":"docs","previous":{"title":"Ideas & Exploration","permalink":"/rob/CmdForge/ideas-and-exploration"}}');var s=r(4848),d=r(8453);const i={type:"milestones",project:"cmdforge",updated:new Date("2026-01-12T00:00:00.000Z")},o="Milestones",l={},c=[{value:"M0: Core Platform",id:"m0-core-platform",level:4},{value:"M1: Production Ready",id:"m1-production-ready",level:4},{value:"M2: Tool Discovery",id:"m2-tool-discovery",level:4},{value:"M3: Plugin System",id:"m3-plugin-system",level:4}];function h(e){const t={h1:"h1",h4:"h4",header:"header",hr:"hr",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,d.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.header,{children:(0,s.jsx)(t.h1,{id:"milestones",children:"Milestones"})}),"\n",(0,s.jsx)(t.h4,{id:"m0-core-platform",children:"M0: Core Platform"}),"\n",(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.strong,{children:"Target"}),": December 2025\n",(0,s.jsx)(t.strong,{children:"Status"}),": Completed (100%)"]}),"\n",(0,s.jsx)(t.p,{children:"The foundational CmdForge platform with AI-powered CLI tool builder, YAML tool definitions, web UI, offline caching, and provider abstraction."}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Deliverable"}),(0,s.jsx)(t.th,{children:"Status"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"YAML tool definition system"}),(0,s.jsx)(t.td,{children:"Done"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"CLI entry point and subcommands"}),(0,s.jsx)(t.td,{children:"Done"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Provider abstraction layer"}),(0,s.jsx)(t.td,{children:"Done"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Offline caching for tools"}),(0,s.jsx)(t.td,{children:"Done"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Web UI for tool browsing"}),(0,s.jsx)(t.td,{children:"Done"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Tool execution engine"}),(0,s.jsx)(t.td,{children:"Done"})]})]})]}),"\n",(0,s.jsx)(t.hr,{}),"\n",(0,s.jsx)(t.h4,{id:"m1-production-ready",children:"M1: Production Ready"}),"\n",(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.strong,{children:"Target"}),": February 2026\n",(0,s.jsx)(t.strong,{children:"Status"}),": In Progress (60%)"]}),"\n",(0,s.jsx)(t.p,{children:"Production deployment with proper server configuration, complete documentation, and improved reliability."}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Deliverable"}),(0,s.jsx)(t.th,{children:"Status"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Public documentation"}),(0,s.jsx)(t.td,{children:"Done"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Systemd service setup"}),(0,s.jsx)(t.td,{children:"Done"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Gunicorn production server"}),(0,s.jsx)(t.td,{children:"Not Started"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Systemd linger for persistence"}),(0,s.jsx)(t.td,{children:"Not Started"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"CI/CD pipeline"}),(0,s.jsx)(t.td,{children:"Not Started"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Error message improvements"}),(0,s.jsx)(t.td,{children:"Not Started"})]})]})]}),"\n",(0,s.jsx)(t.hr,{}),"\n",(0,s.jsx)(t.h4,{id:"m2-tool-discovery",children:"M2: Tool Discovery"}),"\n",(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.strong,{children:"Target"}),": Q2 2026\n",(0,s.jsx)(t.strong,{children:"Status"}),": Not Started"]}),"\n",(0,s.jsx)(t.p,{children:"Enable users to discover, rate, and share tools through a marketplace interface with curation to maintain quality."}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Deliverable"}),(0,s.jsx)(t.th,{children:"Status"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Tool search and filtering"}),(0,s.jsx)(t.td,{children:"Not Started"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Registry curation system"}),(0,s.jsx)(t.td,{children:"Not Started"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Tool ratings/reviews"}),(0,s.jsx)(t.td,{children:"Not Started"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Import remaining Fabric patterns"}),(0,s.jsx)(t.td,{children:"Not Started"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Tool marketplace UI"}),(0,s.jsx)(t.td,{children:"Not Started"})]})]})]}),"\n",(0,s.jsx)(t.hr,{}),"\n",(0,s.jsx)(t.h4,{id:"m3-plugin-system",children:"M3: Plugin System"}),"\n",(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.strong,{children:"Target"}),": Q3 2026\n",(0,s.jsx)(t.strong,{children:"Status"}),": Planning (0%)"]}),"\n",(0,s.jsx)(t.p,{children:"Extensible plugin architecture for custom backends, tool composition, and automated testing."}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Deliverable"}),(0,s.jsx)(t.th,{children:"Status"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Plugin architecture design"}),(0,s.jsx)(t.td,{children:"Not Started"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Custom AI backend support"}),(0,s.jsx)(t.td,{children:"Not Started"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Tool composition and chaining"}),(0,s.jsx)(t.td,{children:"Not Started"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Tool testing framework"}),(0,s.jsx)(t.td,{children:"Not Started"})]})]})]}),"\n",(0,s.jsx)(t.hr,{})]})}function a(e={}){const{wrapper:t}={...(0,d.R)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(h,{...e})}):h(e)}},8453(e,t,r){r.d(t,{R:()=>i,x:()=>o});var n=r(6540);const s={},d=n.createContext(s);function i(e){const t=n.useContext(d);return n.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:i(e.components),n.createElement(d.Provider,{value:t},e.children)}}}]); |