From 3357722196cec505f090aa0d01fd0dea86bdb85f Mon Sep 17 00:00:00 2001 From: Bryan Helmkamp Date: Mon, 27 Apr 2026 07:29:59 -0700 Subject: [PATCH] refactor(docs): move .mintignore into docs/public and update skill paths After Mintlify's project root moves to docs/public/, .mintignore needs to live alongside the rest of the published tree. Trim AGENTS.md and drafts/ entries that were guarding against now-relocated content; keep the *.draft.mdx glob since it remains meaningful inside docs/public/. Update .claude/skills/docs and .claude/skills/changelog references (SKILL.md and references/mapping.md) so doc-update and changelog skills write into docs/public/ instead of bare docs/. --- .claude/skills/changelog/SKILL.md | 10 ++-- .claude/skills/docs/SKILL.md | 6 +-- .claude/skills/docs/references/mapping.md | 60 +++++++++++------------ docs/{ => public}/.mintignore | 4 -- 4 files changed, 38 insertions(+), 42 deletions(-) rename docs/{ => public}/.mintignore (84%) diff --git a/.claude/skills/changelog/SKILL.md b/.claude/skills/changelog/SKILL.md index e0ec04ae1..db9682cfe 100644 --- a/.claude/skills/changelog/SKILL.md +++ b/.claude/skills/changelog/SKILL.md @@ -1,6 +1,6 @@ --- name: changelog -description: Generate and update the product changelog in Mintlify docs. Use when the user asks to update the changelog, add a changelog entry, document recent changes, or write release notes. Reads git history on main, filters to user-facing changes, and writes dated MDX files to docs/changelog/. +description: Generate and update the product changelog in Mintlify docs. Use when the user asks to update the changelog, add a changelog entry, document recent changes, or write release notes. Reads git history on main, filters to user-facing changes, and writes dated MDX files to docs/public/changelog/. --- # Changelog @@ -43,13 +43,13 @@ If there are no user-facing changes in the entire range, tell the user and stop. ### 4. Write changelog entries -Create one file per date at `docs/changelog/YYYY-MM-DD.mdx`, using the commit date (not today's date). If a file already exists for a date, regenerate it with the full set of commits for that day (not just new ones). Follow the references linked above for format, writing style, and hero vs. accordion decisions. +Create one file per date at `docs/public/changelog/YYYY-MM-DD.mdx`, using the commit date (not today's date). If a file already exists for a date, regenerate it with the full set of commits for that day (not just new ones). Follow the references linked above for format, writing style, and hero vs. accordion decisions. - **Batch related commits** into a single feature section (e.g., multiple hook-related commits become one "Lifecycle hooks" section) -### 5. Update docs/docs.json +### 5. Update docs/public/docs.json -Add all new pages to the Changelog tab's pages array in `docs/docs.json`. List entries most recent first. The page path is `changelog/YYYY-MM-DD` (no `.mdx` extension). +Add all new pages to the Changelog tab's pages array in `docs/public/docs.json`. List entries most recent first. The page path is `changelog/YYYY-MM-DD` (no `.mdx` extension). ### 6. Write watermark @@ -57,4 +57,4 @@ Write the output of `git rev-parse HEAD` to `.claude/skills/changelog/watermark` ### 7. Clean up legacy single-file changelog -If `docs/changelog.mdx` still exists as the old single-file changelog, delete it and remove its reference from `docs/docs.json`. +If `docs/public/changelog.mdx` still exists as the old single-file changelog, delete it and remove its reference from `docs/public/docs.json`. diff --git a/.claude/skills/docs/SKILL.md b/.claude/skills/docs/SKILL.md index 7c5426345..fef577433 100644 --- a/.claude/skills/docs/SKILL.md +++ b/.claude/skills/docs/SKILL.md @@ -1,6 +1,6 @@ --- name: update-docs -description: Update documentation in docs/ based on recent code changes. Reads git history since a watermark commit, maps changed files to doc pages, and makes surgical edits to keep docs in sync with code. +description: Update documentation in docs/public/ based on recent code changes. Reads git history since a watermark commit, maps changed files to doc pages, and makes surgical edits to keep docs in sync with code. --- # Update Docs @@ -8,7 +8,7 @@ description: Update documentation in docs/ based on recent code changes. Reads g Detect code changes since the last run and update affected documentation pages. - [references/mapping.md](references/mapping.md) — code-to-doc page mapping -- Follow `docs/CONTRIBUTING.md` and `docs/AGENTS.md` for writing style +- Follow `docs/public/CONTRIBUTING.md` and `docs/public/AGENTS.md` for writing style ## Workflow @@ -50,7 +50,7 @@ Surgical edits only — change only affected sections. Preserve existing voice, - Insert rows into reference tables in logical position - Add new sections for entirely new capabilities - Update existing descriptions when behavior changes -- Never edit `docs/api-reference/fabro-api.yaml` — that is the API workflow's source of truth +- Never edit `docs/public/api-reference/fabro-api.yaml` — that is the API workflow's source of truth ### 6. Validate DOT examples diff --git a/.claude/skills/docs/references/mapping.md b/.claude/skills/docs/references/mapping.md index 5d15a1cc8..93b867938 100644 --- a/.claude/skills/docs/references/mapping.md +++ b/.claude/skills/docs/references/mapping.md @@ -4,33 +4,33 @@ Which source files affect which doc pages. Use this as guidance — also apply j | Source | Docs | |--------|------| -| `lib/crates/fabro-cli/src/main.rs`, `lib/crates/fabro-workflow/src/cli/mod.rs`, `lib/crates/fabro-workflow/src/cli/run.rs` | `docs/reference/cli.mdx` | -| `lib/crates/fabro-cli/src/cli_config.rs` | `docs/reference/cli-configuration.mdx` | -| `lib/crates/fabro-llm/src/cli.rs` | `docs/reference/cli.mdx` | -| `lib/crates/fabro-api/src/serve.rs` | `docs/reference/cli.mdx` | -| `lib/crates/fabro-workflow/src/parser/*.rs` | `docs/reference/dot-language.mdx` | -| `lib/crates/fabro-workflow/src/condition.rs` | `docs/reference/dot-language.mdx` | -| `lib/crates/fabro-workflow/src/cli/validate.rs` | `docs/reference/dot-language.mdx` | -| `lib/crates/fabro-workflow/src/stylesheet.rs` | `docs/workflows/stylesheets.mdx` | -| `lib/crates/fabro-workflow/src/transform.rs` | `docs/workflows/variables.mdx` | -| `lib/crates/fabro-workflow/src/handler/*.rs` | `docs/workflows/stages-and-nodes.mdx`, `docs/reference/dot-language.mdx` | -| `lib/crates/fabro-workflow/src/handler/human.rs` | `docs/workflows/human-in-the-loop.mdx` | -| `lib/crates/fabro-workflow/src/cli/run_config.rs` | `docs/execution/run-configuration.mdx` | -| `lib/crates/fabro-workflow/src/engine.rs` | `docs/core-concepts/how-arc-works.mdx` | -| `lib/crates/fabro-workflow/src/context/*.rs` | `docs/execution/context.mdx` | -| `lib/crates/fabro-workflow/src/checkpoint.rs` | `docs/execution/checkpoints.mdx` | -| `lib/crates/fabro-workflow/src/retro.rs`, `lib/crates/fabro-workflow/src/retro_agent.rs` | `docs/execution/retros.mdx` | -| `lib/crates/fabro-workflow/src/interviewer/*.rs` | `docs/execution/interviews.mdx` | -| `lib/crates/fabro-workflow/src/hook/*.rs` | `docs/agents/hooks.mdx` | -| `lib/crates/fabro-workflow/src/daytona_sandbox.rs` | `docs/integrations/daytona.mdx`, `docs/execution/environments.mdx` | -| `lib/crates/fabro-agent/src/tools.rs`, `lib/crates/fabro-agent/src/tool_registry.rs`, `lib/crates/fabro-agent/src/tool_execution.rs` | `docs/agents/tools.mdx` | -| `lib/crates/fabro-agent/src/v4a_patch.rs` | `docs/agents/tools.mdx` | -| `lib/crates/fabro-agent/src/cli.rs` | `docs/agents/permissions.mdx` | -| `lib/crates/fabro-agent/src/subagent.rs` | `docs/agents/subagents.mdx` | -| `lib/crates/fabro-agent/src/mcp_integration.rs` | `docs/agents/mcp.mdx` | -| `lib/crates/fabro-llm/src/catalog.rs`, `lib/crates/fabro-llm/src/providers/*.rs` | `docs/core-concepts/models.mdx` | -| `lib/crates/fabro-devcontainer/src/*.rs` | `docs/execution/devcontainers.mdx` | -| `lib/crates/fabro-slack/src/*.rs` | `docs/integrations/slack.mdx` | -| `lib/crates/fabro-mcp/src/*.rs` | `docs/agents/mcp.mdx` | -| `lib/crates/fabro-api/src/*.rs` | `docs/api-reference/overview.mdx`, `docs/api-reference/demo-mode.mdx` | -| `lib/crates/fabro-api/src/server_config.rs` | `docs/administration/server-configuration.mdx` | +| `lib/crates/fabro-cli/src/main.rs`, `lib/crates/fabro-workflow/src/cli/mod.rs`, `lib/crates/fabro-workflow/src/cli/run.rs` | `docs/public/reference/cli.mdx` | +| `lib/crates/fabro-cli/src/cli_config.rs` | `docs/public/reference/cli-configuration.mdx` | +| `lib/crates/fabro-llm/src/cli.rs` | `docs/public/reference/cli.mdx` | +| `lib/crates/fabro-api/src/serve.rs` | `docs/public/reference/cli.mdx` | +| `lib/crates/fabro-workflow/src/parser/*.rs` | `docs/public/reference/dot-language.mdx` | +| `lib/crates/fabro-workflow/src/condition.rs` | `docs/public/reference/dot-language.mdx` | +| `lib/crates/fabro-workflow/src/cli/validate.rs` | `docs/public/reference/dot-language.mdx` | +| `lib/crates/fabro-workflow/src/stylesheet.rs` | `docs/public/workflows/stylesheets.mdx` | +| `lib/crates/fabro-workflow/src/transform.rs` | `docs/public/workflows/variables.mdx` | +| `lib/crates/fabro-workflow/src/handler/*.rs` | `docs/public/workflows/stages-and-nodes.mdx`, `docs/public/reference/dot-language.mdx` | +| `lib/crates/fabro-workflow/src/handler/human.rs` | `docs/public/workflows/human-in-the-loop.mdx` | +| `lib/crates/fabro-workflow/src/cli/run_config.rs` | `docs/public/execution/run-configuration.mdx` | +| `lib/crates/fabro-workflow/src/engine.rs` | `docs/public/core-concepts/how-arc-works.mdx` | +| `lib/crates/fabro-workflow/src/context/*.rs` | `docs/public/execution/context.mdx` | +| `lib/crates/fabro-workflow/src/checkpoint.rs` | `docs/public/execution/checkpoints.mdx` | +| `lib/crates/fabro-workflow/src/retro.rs`, `lib/crates/fabro-workflow/src/retro_agent.rs` | `docs/public/execution/retros.mdx` | +| `lib/crates/fabro-workflow/src/interviewer/*.rs` | `docs/public/execution/interviews.mdx` | +| `lib/crates/fabro-workflow/src/hook/*.rs` | `docs/public/agents/hooks.mdx` | +| `lib/crates/fabro-workflow/src/daytona_sandbox.rs` | `docs/public/integrations/daytona.mdx`, `docs/public/execution/environments.mdx` | +| `lib/crates/fabro-agent/src/tools.rs`, `lib/crates/fabro-agent/src/tool_registry.rs`, `lib/crates/fabro-agent/src/tool_execution.rs` | `docs/public/agents/tools.mdx` | +| `lib/crates/fabro-agent/src/v4a_patch.rs` | `docs/public/agents/tools.mdx` | +| `lib/crates/fabro-agent/src/cli.rs` | `docs/public/agents/permissions.mdx` | +| `lib/crates/fabro-agent/src/subagent.rs` | `docs/public/agents/subagents.mdx` | +| `lib/crates/fabro-agent/src/mcp_integration.rs` | `docs/public/agents/mcp.mdx` | +| `lib/crates/fabro-llm/src/catalog.rs`, `lib/crates/fabro-llm/src/providers/*.rs` | `docs/public/core-concepts/models.mdx` | +| `lib/crates/fabro-devcontainer/src/*.rs` | `docs/public/execution/devcontainers.mdx` | +| `lib/crates/fabro-slack/src/*.rs` | `docs/public/integrations/slack.mdx` | +| `lib/crates/fabro-mcp/src/*.rs` | `docs/public/agents/mcp.mdx` | +| `lib/crates/fabro-api/src/*.rs` | `docs/public/api-reference/overview.mdx`, `docs/public/api-reference/demo-mode.mdx` | +| `lib/crates/fabro-api/src/server_config.rs` | `docs/public/administration/server-configuration.mdx` | diff --git a/docs/.mintignore b/docs/public/.mintignore similarity index 84% rename from docs/.mintignore rename to docs/public/.mintignore index cead52917..48eac4f3c 100644 --- a/docs/.mintignore +++ b/docs/public/.mintignore @@ -2,9 +2,5 @@ # .git, .github, .claude, .agents, .idea, node_modules, # README.md, LICENSE.md, CHANGELOG.md, CONTRIBUTING.md -# Non-docs files -AGENTS.md - # Draft content -drafts/ *.draft.mdx