Fix milestones MDX error and update ideas

This commit is contained in:
rob
2026-01-17 22:57:37 -04:00
parent 18240fe9f9
commit f052628a9e
21 changed files with 139 additions and 42 deletions
+53 -18
View File
@@ -24211,7 +24211,9 @@ function _createMdxContent(props) {
children: "cmdforge add official/toolname"
}), " to add a dependency to manifest - Automatic dependency checking before running meta-tools. ", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_components.strong, {
children: "Tool testing framework"
}), " includes: - TestStepDialog for interactive step testing from GUI - Test button in Tool Builder to test individual steps - Variable input forms auto-detect ", variable, " references from step templates - Multiple assertion types (not_empty, contains, valid_json, matches_regex, min/max_length, etc.) - Background execution with timing metrics - Output variable display and assertion pass/fail results - Provider override for testing with mock provider"]
}), " includes: - TestStepDialog for interactive step testing from GUI - Test button in Tool Builder to test individual steps - Variable input forms auto-detect ", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_components.code, {
children: "{variable}"
}), " references from step templates - Multiple assertion types (not_empty, contains, valid_json, matches_regex, min/max_length, etc.) - Background execution with timing metrics - Output variable display and assertion pass/fail results - Provider override for testing with mock provider"]
}), "\n", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsxs)(_components.table, {
children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_components.thead, {
children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsxs)(_components.tr, {
@@ -24910,7 +24912,7 @@ href:`#${SkipToContentFallbackId}`,onClick:onClick,children:linkLabel})});}
(module) {
"use strict";
module.exports = /*#__PURE__*/JSON.parse('{"version":{"pluginId":"default","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"docs":[{"type":"link","href":"/rob/CmdForge/","label":"CmdForge Overview","docId":"overview","unlisted":false},{"type":"link","href":"/rob/CmdForge/architecture","label":"CmdForge Architecture","docId":"architecture","unlisted":false},{"type":"category","label":"Reference","collapsible":true,"collapsed":true,"items":[{"type":"link","href":"/rob/CmdForge/reference/providers","label":"Provider Setup","docId":"reference/providers","unlisted":false},{"type":"link","href":"/rob/CmdForge/reference/registry-spec","label":"Registry API","docId":"reference/registry-spec","unlisted":false},{"type":"link","href":"/rob/CmdForge/reference/meta-tools","label":"Meta-Tools","docId":"reference/meta-tools","unlisted":false},{"type":"link","href":"/rob/CmdForge/reference/collections","label":"Collections","docId":"reference/collections","unlisted":false},{"type":"link","href":"/rob/CmdForge/reference/examples","label":"Example Tools","docId":"reference/examples","unlisted":false},{"type":"link","href":"/rob/CmdForge/reference/design","label":"Design Philosophy","docId":"reference/design","unlisted":false},{"type":"link","href":"/rob/CmdForge/reference/web-ui-spec","label":"Web UI Design","docId":"reference/web-ui-spec","unlisted":false}],"href":"/rob/CmdForge/category/reference"},{"type":"link","href":"/rob/CmdForge/todos","label":"CmdForge TODOs","docId":"todos","unlisted":false},{"type":"link","href":"/rob/CmdForge/goals","label":"Goals","docId":"goals","unlisted":false},{"type":"link","href":"/rob/CmdForge/ideas-and-exploration","label":"Ideas & Exploration","docId":"ideas-and-exploration","unlisted":false},{"type":"link","href":"/rob/CmdForge/milestones","label":"Milestones","docId":"milestones","unlisted":false}]},"docs":{"architecture":{"id":"architecture","title":"CmdForge Architecture","description":"Module Structure","sidebar":"docs"},"goals":{"id":"goals","title":"Goals","description":"Vision","sidebar":"docs"},"ideas-and-exploration":{"id":"ideas-and-exploration","title":"Ideas & Exploration","description":"Ideas","sidebar":"docs"},"milestones":{"id":"milestones","title":"Milestones","description":"Active","sidebar":"docs"},"overview":{"id":"overview","title":"CmdForge Overview","description":"A lightweight personal tool builder for AI-powered CLI commands.","sidebar":"docs"},"reference/collections":{"id":"reference/collections","title":"CmdForge Collections","description":"Collections are curated groups of tools that can be installed together with a single command.","sidebar":"docs"},"reference/design":{"id":"reference/design","title":"CmdForge Design Document","description":"A lightweight personal tool builder for AI-powered CLI commands","sidebar":"docs"},"reference/examples":{"id":"reference/examples","title":"Example Tools","description":"CmdForge comes with 28 pre-built tools. This document shows their configurations and usage.","sidebar":"docs"},"reference/meta-tools":{"id":"reference/meta-tools","title":"Meta-Tools: Tools That Call Other Tools","description":"Meta-tools are CmdForge tools that can invoke other tools as steps in their workflow. This enables powerful composition and reuse of existing tools.","sidebar":"docs"},"reference/providers":{"id":"reference/providers","title":"Provider Setup Guide","description":"CmdForge works with any AI CLI tool that accepts input via stdin or arguments. This guide covers setup for the most popular providers.","sidebar":"docs"},"reference/registry-spec":{"id":"reference/registry-spec","title":"CmdForge Registry Design","description":"Purpose","sidebar":"docs"},"reference/web-ui-spec":{"id":"reference/web-ui-spec","title":"CmdForge Web UI Design","description":"Purpose","sidebar":"docs"},"todos":{"id":"todos","title":"CmdForge TODOs","description":"Active Tasks","sidebar":"docs"}}}}');
module.exports = /*#__PURE__*/JSON.parse('{"version":{"pluginId":"default","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"docs":[{"type":"link","href":"/rob/CmdForge/","label":"CmdForge Overview","docId":"overview","unlisted":false},{"type":"link","href":"/rob/CmdForge/architecture","label":"CmdForge Architecture","docId":"architecture","unlisted":false},{"type":"category","label":"Reference","collapsible":true,"collapsed":true,"items":[{"type":"link","href":"/rob/CmdForge/reference/providers","label":"Provider Setup","docId":"reference/providers","unlisted":false},{"type":"link","href":"/rob/CmdForge/reference/registry-spec","label":"Registry API","docId":"reference/registry-spec","unlisted":false},{"type":"link","href":"/rob/CmdForge/reference/meta-tools","label":"Meta-Tools","docId":"reference/meta-tools","unlisted":false},{"type":"link","href":"/rob/CmdForge/reference/collections","label":"Collections","docId":"reference/collections","unlisted":false},{"type":"link","href":"/rob/CmdForge/reference/examples","label":"Example Tools","docId":"reference/examples","unlisted":false},{"type":"link","href":"/rob/CmdForge/reference/design","label":"Design Philosophy","docId":"reference/design","unlisted":false},{"type":"link","href":"/rob/CmdForge/reference/web-ui-spec","label":"Web UI Design","docId":"reference/web-ui-spec","unlisted":false}],"href":"/rob/CmdForge/category/reference"},{"type":"link","href":"/rob/CmdForge/todos","label":"CmdForge TODOs","docId":"todos","unlisted":false},{"type":"link","href":"/rob/CmdForge/goals","label":"Goals","docId":"goals","unlisted":false},{"type":"link","href":"/rob/CmdForge/ideas-and-exploration","label":"Ideas & Exploration","docId":"ideas-and-exploration","unlisted":false},{"type":"link","href":"/rob/CmdForge/milestones","label":"Milestones","docId":"milestones","unlisted":false}]},"docs":{"architecture":{"id":"architecture","title":"CmdForge Architecture","description":"Module Structure","sidebar":"docs"},"goals":{"id":"goals","title":"Goals","description":"Vision","sidebar":"docs"},"ideas-and-exploration":{"id":"ideas-and-exploration","title":"Ideas & Exploration","description":"Completed","sidebar":"docs"},"milestones":{"id":"milestones","title":"Milestones","description":"Active","sidebar":"docs"},"overview":{"id":"overview","title":"CmdForge Overview","description":"A lightweight personal tool builder for AI-powered CLI commands.","sidebar":"docs"},"reference/collections":{"id":"reference/collections","title":"CmdForge Collections","description":"Collections are curated groups of tools that can be installed together with a single command.","sidebar":"docs"},"reference/design":{"id":"reference/design","title":"CmdForge Design Document","description":"A lightweight personal tool builder for AI-powered CLI commands","sidebar":"docs"},"reference/examples":{"id":"reference/examples","title":"Example Tools","description":"CmdForge comes with 28 pre-built tools. This document shows their configurations and usage.","sidebar":"docs"},"reference/meta-tools":{"id":"reference/meta-tools","title":"Meta-Tools: Tools That Call Other Tools","description":"Meta-tools are CmdForge tools that can invoke other tools as steps in their workflow. This enables powerful composition and reuse of existing tools.","sidebar":"docs"},"reference/providers":{"id":"reference/providers","title":"Provider Setup Guide","description":"CmdForge works with any AI CLI tool that accepts input via stdin or arguments. This guide covers setup for the most popular providers.","sidebar":"docs"},"reference/registry-spec":{"id":"reference/registry-spec","title":"CmdForge Registry Design","description":"Purpose","sidebar":"docs"},"reference/web-ui-spec":{"id":"reference/web-ui-spec","title":"CmdForge Web UI Design","description":"Purpose","sidebar":"docs"},"todos":{"id":"todos","title":"CmdForge TODOs","description":"Active Tasks","sidebar":"docs"}}}}');
/***/ },
@@ -28939,7 +28941,7 @@ if (true) {
(module) {
"use strict";
module.exports = /*#__PURE__*/JSON.parse('{"id":"ideas-and-exploration","title":"Ideas & Exploration","description":"Ideas","source":"@site/docs/ideas-and-exploration.md","sourceDirName":".","slug":"/ideas-and-exploration","permalink":"/rob/CmdForge/ideas-and-exploration","draft":false,"unlisted":false,"tags":[],"version":"current","frontMatter":{"type":"ideas","project":"cmdforge","updated":"2026-01-08T00:00:00.000Z"},"sidebar":"docs","previous":{"title":"Goals","permalink":"/rob/CmdForge/goals"},"next":{"title":"Milestones","permalink":"/rob/CmdForge/milestones"}}');
module.exports = /*#__PURE__*/JSON.parse('{"id":"ideas-and-exploration","title":"Ideas & Exploration","description":"Completed","source":"@site/docs/ideas-and-exploration.md","sourceDirName":".","slug":"/ideas-and-exploration","permalink":"/rob/CmdForge/ideas-and-exploration","draft":false,"unlisted":false,"tags":[],"version":"current","frontMatter":{"type":"ideas","project":"cmdforge","updated":"2026-01-17T00:00:00.000Z"},"sidebar":"docs","previous":{"title":"Goals","permalink":"/rob/CmdForge/goals"},"next":{"title":"Milestones","permalink":"/rob/CmdForge/milestones"}}');
/***/ },
@@ -36039,7 +36041,7 @@ __webpack_require__.r(__webpack_exports__);
const frontMatter = {
type: 'ideas',
project: 'cmdforge',
updated: new Date('2026-01-08T00:00:00.000Z')
updated: new Date('2026-01-17T00:00:00.000Z')
};
const contentTitle = 'Ideas & Exploration';
@@ -36050,6 +36052,10 @@ const assets = {
const toc = [{
"value": "Completed",
"id": "completed",
"level": 2
}, {
"value": "Ideas",
"id": "ideas",
"level": 2
@@ -36072,29 +36078,52 @@ function _createMdxContent(props) {
children: "Ideas & Exploration"
})
}), "\n", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_components.h2, {
id: "ideas",
children: "Ideas"
id: "completed",
children: "Completed"
}), "\n", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsxs)(_components.ul, {
className: "contains-task-list",
children: ["\n", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsxs)(_components.li, {
className: "task-list-item",
children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_components.input, {
type: "checkbox",
checked: true,
disabled: true
}), " ", "Tool marketplace design #medium"]
}), "\n", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsxs)(_components.li, {
className: "task-list-item",
children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_components.input, {
type: "checkbox",
checked: true,
disabled: true
}), " ", "Tool search and filtering #medium"]
}), "\n", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsxs)(_components.li, {
className: "task-list-item",
children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_components.input, {
type: "checkbox",
checked: true,
disabled: true
}), " ", "User tool ratings/reviews #low"]
}), "\n", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsxs)(_components.li, {
className: "task-list-item",
children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_components.input, {
type: "checkbox",
checked: true,
disabled: true
}), " ", "Tool composition and chaining #medium"]
}), "\n", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsxs)(_components.li, {
className: "task-list-item",
children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_components.input, {
type: "checkbox",
checked: true,
disabled: true
}), " ", "Tool testing framework #medium"]
}), "\n"]
}), "\n", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_components.h2, {
id: "ideas",
children: "Ideas"
}), "\n", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsxs)(_components.ul, {
className: "contains-task-list",
children: ["\n", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsxs)(_components.li, {
className: "task-list-item",
children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_components.input, {
type: "checkbox",
@@ -36112,18 +36141,6 @@ function _createMdxContent(props) {
type: "checkbox",
disabled: true
}), " ", "Custom AI backend support #medium"]
}), "\n", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsxs)(_components.li, {
className: "task-list-item",
children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_components.input, {
type: "checkbox",
disabled: true
}), " ", "Tool composition and chaining #medium"]
}), "\n", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsxs)(_components.li, {
className: "task-list-item",
children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_components.input, {
type: "checkbox",
disabled: true
}), " ", "Tool testing framework #medium"]
}), "\n", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsxs)(_components.li, {
className: "task-list-item",
children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_components.input, {
@@ -36136,6 +36153,24 @@ function _createMdxContent(props) {
type: "checkbox",
disabled: true
}), " ", "Provider auto-detection #low"]
}), "\n", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsxs)(_components.li, {
className: "task-list-item",
children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_components.input, {
type: "checkbox",
disabled: true
}), " ", "Mobile companion app #low"]
}), "\n", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsxs)(_components.li, {
className: "task-list-item",
children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_components.input, {
type: "checkbox",
disabled: true
}), " ", "Tool templates/scaffolding #medium"]
}), "\n", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsxs)(_components.li, {
className: "task-list-item",
children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_components.input, {
type: "checkbox",
disabled: true
}), " ", "Natural language tool creation #medium"]
}), "\n"]
})]
});