From 74a7f6edb055aab115660ef3c0aac3f4a6096c7b Mon Sep 17 00:00:00 2001 From: Tommaso <65722261+TommasoTate@users.noreply.github.com> Date: Mon, 15 Jun 2026 20:33:53 +0200 Subject: [PATCH] Refine docs workflow and update contributor guidance --- .github/PULL_REQUEST_TEMPLATE.md | 3 +- AGENTS.md | 207 ++----- CONTRIBUTING.md | 8 +- README.md | 31 +- docs/ARCHITECTURE.md | 233 -------- docs/SLACK_INTEGRATION.md | 121 ---- ...04-agent-skills-use-dedicated-sandboxes.md | 62 +-- docs/adr/index.md | 10 + docs/agent-chat/api-contract.md | 13 + docs/agent-chat/edge-cases.md | 12 + docs/agent-chat/flow.md | 12 + docs/agent-chat/index.md | 13 + docs/agent-chat/invariants.md | 12 + docs/agent-chat/overview.md | 13 + docs/agent-chat/state.md | 12 + docs/agent-chat/tests.md | 12 + docs/agent-creation-chat/edge-cases.md | 12 + docs/agent-creation-chat/flow.md | 12 + docs/agent-creation-chat/index.md | 12 + docs/agent-creation-chat/invariants.md | 12 + docs/agent-creation-chat/overview.md | 12 + docs/agent-creation-chat/state.md | 11 + docs/agent-creation-chat/tests.md | 13 + docs/agent-edit-chat/edge-cases.md | 12 + docs/agent-edit-chat/flow.md | 12 + docs/agent-edit-chat/index.md | 12 + docs/agent-edit-chat/invariants.md | 12 + docs/agent-edit-chat/overview.md | 12 + docs/agent-edit-chat/state.md | 11 + docs/agent-edit-chat/tests.md | 13 + docs/agent-events/concurrency-idempotency.md | 19 + docs/agent-events/event-kinds.md | 17 + docs/agent-events/index.md | 11 + docs/agent-events/overview.md | 30 + docs/agent-events/state-machine.md | 19 + docs/agent-events/streams.md | 19 + .../configuration-contract.md | 14 + docs/agent-management/edge-cases.md | 12 + docs/agent-management/flow.md | 12 + docs/agent-management/index.md | 14 + docs/agent-management/invariants.md | 12 + docs/agent-management/overview.md | 14 + docs/agent-management/product-shell.md | 13 + docs/agent-management/state.md | 11 + docs/agent-management/tests.md | 13 + docs/agent-memory/index.md | 8 + docs/agent-memory/overview.md | 30 + docs/agent-memory/sandbox-files-contract.md | 24 + docs/agent-skills/index.md | 8 + docs/agent-skills/package-lifecycle.md | 24 + docs/agent-skills/runtime.md | 29 + docs/auth-account/index.md | 8 + docs/auth-account/otp-flow.md | 21 + docs/auth-account/overview.md | 22 + docs/budgets/accounting.md | 25 + docs/budgets/index.md | 8 + docs/budgets/overview.md | 23 + docs/cache-revalidation/cache-map.md | 28 + docs/cache-revalidation/index.md | 9 + docs/cache-revalidation/overview.md | 29 + docs/cache-revalidation/revalidation-flow.md | 26 + docs/channels-slack/channel-contract.md | 26 + docs/channels-slack/index.md | 8 + docs/channels-slack/overview.md | 23 + docs/connections/connector-authoring.md | 23 + docs/connections/credential-taxonomy.md | 23 + docs/connections/index.md | 9 + docs/connections/overview.md | 23 + docs/data/core-tables.md | 21 + docs/data/index.md | 8 + docs/data/migrations.md | 19 + docs/dreaming/overview.md | 30 + docs/email-templates/components.md | 26 + docs/email-templates/index.md | 9 + docs/email-templates/overview.md | 25 + docs/email-templates/sending.md | 25 + docs/heartbeat/overview.md | 30 + docs/index.md | 15 + docs/inference/index.md | 8 + docs/inference/provider-authoring.md | 21 + docs/inference/providers.md | 23 + docs/launch-video/index.md | 9 + docs/launch-video/manifest.md | 25 + docs/launch-video/overview.md | 29 + docs/launch-video/rendering.md | 25 + docs/marketing-site/content.md | 24 + docs/marketing-site/index.md | 9 + docs/marketing-site/overview.md | 27 + docs/marketing-site/routing.md | 25 + docs/platform/env-matrix.md | 29 + docs/platform/index.md | 10 + docs/platform/routing.md | 26 + docs/platform/test-matrix.md | 27 + docs/platform/workspaces.md | 27 + docs/realtime-turns/edge-cases.md | 12 + docs/realtime-turns/flow.md | 11 + docs/realtime-turns/index.md | 13 + docs/realtime-turns/invariants.md | 12 + docs/realtime-turns/overview.md | 13 + docs/realtime-turns/runtime-spec.md | 15 + docs/realtime-turns/state.md | 11 + docs/realtime-turns/tests.md | 12 + docs/runtime-cache/index.md | 8 + docs/runtime-cache/overview.md | 30 + docs/runtime-cache/redis-requirements.md | 21 + docs/scheduler/index.md | 9 + docs/scheduler/overview.md | 30 + docs/scheduler/recovery.md | 19 + docs/scheduler/schedule-contract.md | 19 + docs/security-edge/botid-contracts.md | 23 + docs/security-edge/index.md | 9 + docs/security-edge/overview.md | 29 + docs/security-edge/proxy-rules.md | 25 + docs/simplification-plan-agent-workflows.md | 260 --------- docs/sub-agents/index.md | 8 + docs/sub-agents/invocation-events.md | 19 + docs/sub-agents/overview.md | 30 + docs/tool-sandboxes/index.md | 8 + docs/tool-sandboxes/manifest-authoring.md | 24 + docs/tool-sandboxes/overview.md | 30 + docs/tools/catalog.md | 30 + docs/tools/index.md | 9 + docs/tools/maintainer-tool-authoring.md | 23 + docs/tools/reconnect-and-audit.md | 24 + docs/ui-system/ai-elements.md | 22 + docs/ui-system/components.md | 25 + docs/ui-system/index.md | 10 + docs/ui-system/overview.md | 29 + docs/ui-system/product-shell.md | 26 + docs/waitlist/index.md | 8 + docs/waitlist/overview.md | 22 + docs/waitlist/status-transitions.md | 22 + docs/workflow-runtime/extension-guide.md | 19 + docs/workflow-runtime/index.md | 8 + docs/workflow-runtime/overview.md | 28 + package.json | 4 +- packages/shared/content/blog/posts.ts | 11 +- scripts/docs-index.ts | 525 ++++++++++++++++++ 138 files changed, 2877 insertions(+), 849 deletions(-) delete mode 100644 docs/ARCHITECTURE.md delete mode 100644 docs/SLACK_INTEGRATION.md create mode 100644 docs/adr/index.md create mode 100644 docs/agent-chat/api-contract.md create mode 100644 docs/agent-chat/edge-cases.md create mode 100644 docs/agent-chat/flow.md create mode 100644 docs/agent-chat/index.md create mode 100644 docs/agent-chat/invariants.md create mode 100644 docs/agent-chat/overview.md create mode 100644 docs/agent-chat/state.md create mode 100644 docs/agent-chat/tests.md create mode 100644 docs/agent-creation-chat/edge-cases.md create mode 100644 docs/agent-creation-chat/flow.md create mode 100644 docs/agent-creation-chat/index.md create mode 100644 docs/agent-creation-chat/invariants.md create mode 100644 docs/agent-creation-chat/overview.md create mode 100644 docs/agent-creation-chat/state.md create mode 100644 docs/agent-creation-chat/tests.md create mode 100644 docs/agent-edit-chat/edge-cases.md create mode 100644 docs/agent-edit-chat/flow.md create mode 100644 docs/agent-edit-chat/index.md create mode 100644 docs/agent-edit-chat/invariants.md create mode 100644 docs/agent-edit-chat/overview.md create mode 100644 docs/agent-edit-chat/state.md create mode 100644 docs/agent-edit-chat/tests.md create mode 100644 docs/agent-events/concurrency-idempotency.md create mode 100644 docs/agent-events/event-kinds.md create mode 100644 docs/agent-events/index.md create mode 100644 docs/agent-events/overview.md create mode 100644 docs/agent-events/state-machine.md create mode 100644 docs/agent-events/streams.md create mode 100644 docs/agent-management/configuration-contract.md create mode 100644 docs/agent-management/edge-cases.md create mode 100644 docs/agent-management/flow.md create mode 100644 docs/agent-management/index.md create mode 100644 docs/agent-management/invariants.md create mode 100644 docs/agent-management/overview.md create mode 100644 docs/agent-management/product-shell.md create mode 100644 docs/agent-management/state.md create mode 100644 docs/agent-management/tests.md create mode 100644 docs/agent-memory/index.md create mode 100644 docs/agent-memory/overview.md create mode 100644 docs/agent-memory/sandbox-files-contract.md create mode 100644 docs/agent-skills/index.md create mode 100644 docs/agent-skills/package-lifecycle.md create mode 100644 docs/agent-skills/runtime.md create mode 100644 docs/auth-account/index.md create mode 100644 docs/auth-account/otp-flow.md create mode 100644 docs/auth-account/overview.md create mode 100644 docs/budgets/accounting.md create mode 100644 docs/budgets/index.md create mode 100644 docs/budgets/overview.md create mode 100644 docs/cache-revalidation/cache-map.md create mode 100644 docs/cache-revalidation/index.md create mode 100644 docs/cache-revalidation/overview.md create mode 100644 docs/cache-revalidation/revalidation-flow.md create mode 100644 docs/channels-slack/channel-contract.md create mode 100644 docs/channels-slack/index.md create mode 100644 docs/channels-slack/overview.md create mode 100644 docs/connections/connector-authoring.md create mode 100644 docs/connections/credential-taxonomy.md create mode 100644 docs/connections/index.md create mode 100644 docs/connections/overview.md create mode 100644 docs/data/core-tables.md create mode 100644 docs/data/index.md create mode 100644 docs/data/migrations.md create mode 100644 docs/dreaming/overview.md create mode 100644 docs/email-templates/components.md create mode 100644 docs/email-templates/index.md create mode 100644 docs/email-templates/overview.md create mode 100644 docs/email-templates/sending.md create mode 100644 docs/heartbeat/overview.md create mode 100644 docs/index.md create mode 100644 docs/inference/index.md create mode 100644 docs/inference/provider-authoring.md create mode 100644 docs/inference/providers.md create mode 100644 docs/launch-video/index.md create mode 100644 docs/launch-video/manifest.md create mode 100644 docs/launch-video/overview.md create mode 100644 docs/launch-video/rendering.md create mode 100644 docs/marketing-site/content.md create mode 100644 docs/marketing-site/index.md create mode 100644 docs/marketing-site/overview.md create mode 100644 docs/marketing-site/routing.md create mode 100644 docs/platform/env-matrix.md create mode 100644 docs/platform/index.md create mode 100644 docs/platform/routing.md create mode 100644 docs/platform/test-matrix.md create mode 100644 docs/platform/workspaces.md create mode 100644 docs/realtime-turns/edge-cases.md create mode 100644 docs/realtime-turns/flow.md create mode 100644 docs/realtime-turns/index.md create mode 100644 docs/realtime-turns/invariants.md create mode 100644 docs/realtime-turns/overview.md create mode 100644 docs/realtime-turns/runtime-spec.md create mode 100644 docs/realtime-turns/state.md create mode 100644 docs/realtime-turns/tests.md create mode 100644 docs/runtime-cache/index.md create mode 100644 docs/runtime-cache/overview.md create mode 100644 docs/runtime-cache/redis-requirements.md create mode 100644 docs/scheduler/index.md create mode 100644 docs/scheduler/overview.md create mode 100644 docs/scheduler/recovery.md create mode 100644 docs/scheduler/schedule-contract.md create mode 100644 docs/security-edge/botid-contracts.md create mode 100644 docs/security-edge/index.md create mode 100644 docs/security-edge/overview.md create mode 100644 docs/security-edge/proxy-rules.md delete mode 100644 docs/simplification-plan-agent-workflows.md create mode 100644 docs/sub-agents/index.md create mode 100644 docs/sub-agents/invocation-events.md create mode 100644 docs/sub-agents/overview.md create mode 100644 docs/tool-sandboxes/index.md create mode 100644 docs/tool-sandboxes/manifest-authoring.md create mode 100644 docs/tool-sandboxes/overview.md create mode 100644 docs/tools/catalog.md create mode 100644 docs/tools/index.md create mode 100644 docs/tools/maintainer-tool-authoring.md create mode 100644 docs/tools/reconnect-and-audit.md create mode 100644 docs/ui-system/ai-elements.md create mode 100644 docs/ui-system/components.md create mode 100644 docs/ui-system/index.md create mode 100644 docs/ui-system/overview.md create mode 100644 docs/ui-system/product-shell.md create mode 100644 docs/waitlist/index.md create mode 100644 docs/waitlist/overview.md create mode 100644 docs/waitlist/status-transitions.md create mode 100644 docs/workflow-runtime/extension-guide.md create mode 100644 docs/workflow-runtime/index.md create mode 100644 docs/workflow-runtime/overview.md create mode 100644 scripts/docs-index.ts diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 1542e55b..4611fa96 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -5,7 +5,8 @@ ## Validation -- [ ] `pnpm check` +- [ ] `pnpm verify` +- [ ] `pnpm docs:index` was run if docs changed - [ ] Relevant tests or manual verification ## Release notes diff --git a/AGENTS.md b/AGENTS.md index b3381628..2352a6d5 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -1,171 +1,36 @@ -# Ultracite Code Standards - -This project uses **Ultracite**, a zero-config preset that enforces strict code quality standards through automated formatting and linting. - -## Quick Reference - -- **Format code**: `pnpm dlx ultracite fix` -- **Check for issues**: `pnpm dlx ultracite check` -- **Diagnose setup**: `pnpm dlx ultracite doctor` - -Biome (the underlying engine) provides robust linting and formatting. Most issues are automatically fixable. - ---- - -## Core Principles - -Write code that is **accessible, performant, type-safe, and maintainable**. Focus on clarity and explicit intent over brevity. - -### Type Safety & Explicitness - -- Use explicit types for function parameters and return values when they enhance clarity -- Prefer `unknown` over `any` when the type is genuinely unknown -- Use const assertions (`as const`) for immutable values and literal types -- Leverage TypeScript's type narrowing instead of type assertions -- Use meaningful variable names instead of magic numbers - extract constants with descriptive names - -### Modern JavaScript/TypeScript - -- Use arrow functions for callbacks and short functions -- Prefer `for...of` loops over `.forEach()` and indexed `for` loops -- Use optional chaining (`?.`) and nullish coalescing (`??`) for safer property access -- Prefer template literals over string concatenation -- Use destructuring for object and array assignments -- Use `const` by default, `let` only when reassignment is needed, never `var` - -### Async & Promises - -- Always `await` promises in async functions - don't forget to use the return value -- Use `async/await` syntax instead of promise chains for better readability -- Handle errors appropriately in async code with try-catch blocks -- Don't use async functions as Promise executors - -### React & JSX - -- Use function components over class components -- Call hooks at the top level only, never conditionally -- Specify all dependencies in hook dependency arrays correctly -- Use the `key` prop for elements in iterables (prefer unique IDs over array indices) -- Nest children between opening and closing tags instead of passing as props -- Don't define components inside other components -- Use semantic HTML and ARIA attributes for accessibility: - - Provide meaningful alt text for images - - Use proper heading hierarchy - - Add labels for form inputs - - Include keyboard event handlers alongside mouse events - - Use semantic elements (`