docs: Documentation VitePress bilingue + CI GitHub Pages - #148
Merged
Conversation
- Move specs/, review/, and functional.md into _internal/ - Update docs/README.md with VitePress instructions - Update AGENTS.md with docs workspace commands
- Remove modules.md, commands.md, listeners.md, interactions.md, services.md, prisma.md, functional.md (moved to _internal/) - Remove specs/ and review/ directories (moved to _internal/)
- Add landing page with feature overview - Add getting-started guide (architecture, conventions, imports) - Add creating-a-module guide (structure, lifecycle hooks) - Add commands guide (slash commands, registration, propagation) - Add listeners guide (event listeners, activation) - Add interactions guide (buttons, modals, select menus) - Add configuration guide (ConfigType, ENUM, lists, defaults) - Add services guide (business logic encapsulation) - Add database guide (Prisma multi-file schema, migrations)
- Add landing page with feature overview - Add getting-started, module, commands, listeners guides - Add interactions, configuration, services, database guides
- Use jdx/mise-action v2 for Node/pnpm from .mise.toml - pnpm install --frozen-lockfile, then build docs - Deploy to GitHub Pages via actions/upload-pages-artifact and actions/deploy-pages - Trigger: push to master touching docs/** or CI config
- Add index.md as a VitePress landing page - Restructure locales: fr/ and en/ instead of root=fr - Add Accueil/Home nav links to both locales
Contributor
There was a problem hiding this comment.
Pull request overview
This PR migrates the project documentation to a bilingual (FR/EN) VitePress site and adds CI to build and deploy the docs to GitHub Pages.
Changes:
- Adds a VitePress site under
docs/with i18n (French + English) and a new landing page. - Moves legacy markdown docs/specs into
docs/_internal/and introduces new structured guide pages. - Adds a GitHub Actions workflow to build and deploy the docs to GitHub Pages on pushes to
master.
Reviewed changes
Copilot reviewed 31 out of 39 changed files in this pull request and generated 8 comments.
Show a summary per file
| File | Description |
|---|---|
| pnpm-workspace.yaml | Adds docs as a pnpm workspace package and enables esbuild builds needed for Vite/VitePress tooling. |
| .github/workflows/docs.yml | Builds and deploys the VitePress site to GitHub Pages. |
| AGENTS.md | Documents how to run/build the docs locally. |
| docs/.gitignore | Ignores VitePress build/cache artifacts for the docs workspace. |
| docs/.vitepress/config.ts | Adds VitePress config (base path, locales, sidebar/nav, excludes). |
| docs/README.md | Updates README to point to VitePress workflows and new docs structure. |
| docs/index.md | Adds VitePress home/landing page with language entry points. |
| docs/en/index.md | Adds English home page. |
| docs/fr/index.md | Adds French home page. |
| docs/package.json | Introduces the omnibot-docs workspace package with VitePress scripts. |
| docs/pnpm-lock.yaml | Adds a docs-local pnpm lockfile for the docs workspace. |
| docs/fr/guide/getting-started.md | Adds FR “Getting started” guide. |
| docs/fr/guide/creating-a-module.md | Adds FR module creation guide. |
| docs/fr/guide/commands.md | Adds FR commands guide. |
| docs/fr/guide/listeners.md | Adds FR listeners guide. |
| docs/fr/guide/interactions.md | Updates/creates FR interactions guide with new API notes and imports. |
| docs/fr/guide/configuration.md | Adds FR typed configuration guide. |
| docs/fr/guide/services.md | Adds FR services guide. |
| docs/fr/guide/database.md | Adds FR Prisma/database guide. |
| docs/en/guide/getting-started.md | Adds EN “Getting started” guide. |
| docs/en/guide/creating-a-module.md | Adds EN module creation guide. |
| docs/en/guide/commands.md | Adds EN commands guide. |
| docs/en/guide/listeners.md | Adds EN listeners guide. |
| docs/en/guide/interactions.md | Adds EN interactions guide. |
| docs/en/guide/configuration.md | Adds EN typed configuration guide. |
| docs/en/guide/services.md | Adds EN services guide. |
| docs/en/guide/database.md | Adds EN Prisma/database guide. |
| docs/commands.md | Removes legacy standalone markdown docs page. |
| docs/listeners.md | Removes legacy standalone markdown docs page. |
| docs/modules.md | Removes legacy standalone markdown docs page. |
| docs/prisma.md | Removes legacy standalone markdown docs page. |
| docs/services.md | Removes legacy standalone markdown docs page. |
| docs/_internal/functional.md | Moves legacy “functional behavior” documentation into internal docs area. |
| docs/_internal/specs/thread-creator-queue.md | Moves internal spec content into docs/_internal/. |
| docs/_internal/specs/module-config.md | Moves internal spec content into docs/_internal/. |
| docs/_internal/specs/autopin.md | Moves internal spec content into docs/_internal/. |
| docs/_internal/review/dev-guild-commands-findings.md | Moves internal review notes into docs/_internal/. |
| docs/_internal/review/config-completion-findings.md | Moves internal review notes into docs/_internal/. |
Files not reviewed (2)
- docs/pnpm-lock.yaml: Generated file
- pnpm-lock.yaml: Generated file
Comments suppressed due to low confidence (1)
docs/fr/guide/interactions.md:32
- Le snippet
InteractionHandlern'est pas valide TypeScript (args[]) et fait référence à un génériqueTnon défini. L'API réelle est générique et attendargs: string[]+configobligatoire (voirsrc/lib/interaction.ts).
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
- Move the VitePress site under `docs/site/` and lift the internal notes (`functional.md`, `specs/`, `review/`) out of `_internal/` back to `docs/`. - Point `pnpm-workspace.yaml` at `docs/site` and regenerate the root `pnpm-lock.yaml` as the single source of truth. - Remove the nested `docs/pnpm-lock.yaml` (ignored inside a workspace and a source of divergence). - Fix `pnpm --filter docs` → `--filter omnibot-docs` in README/AGENTS, repoint the AGENTS doc table, and trim now-dead `srcExclude` entries. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- `config` is a required parameter — drop the misleading `config?`. - `InteractionHandler`: use `args: string[]` instead of the invalid `args[]` and declare the `Interaction` generic (was an undefined `T`). - Applies to both the EN and FR guides. Addresses the Copilot review. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- Fix the artifact path to `docs/site/.vitepress/dist` after the move. - Add the `github-pages` environment to the deploy job. - Build on pull requests too; keep deploy gated to master pushes. - Scope the install with `--filter omnibot-docs` and restrict the `pages`/`id-token` permissions to the deploy job. - Bump and pin actions per the Renovate policy (checkout v6, upload-pages v5, deploy-pages v5, mise-action pinned to its commit SHA). - Factor the duplicated `paths` and deploy condition with YAML anchors. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- Remove the `/logo.svg` hero reference (no asset yet); tracked as `#31`. - Record the `#28` decision: keep the current CI setup rather than adopt `jdx/mise-action` (would lose setup-node's pnpm cache, pull unneeded tools). - Add `#32`–`#36` to the backlog. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Contributor
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 35 out of 36 changed files in this pull request and generated 4 comments.
Files not reviewed (1)
- pnpm-lock.yaml: Generated file
Comments suppressed due to low confidence (1)
docs/site/fr/guide/interactions.md:183
- This example uses
logger.error(...)but doesn’t show importinglogger, so it’s not copy/pasteable as-is. Adding the#lib/logger.jsimport in the snippet would make the documentation self-contained.
- Normalize `DOCS_BASE` to always start and end with a slash so an override like `/OmniBot` (no trailing slash) doesn't break VitePress routing/assets. - Point the locale nav home links at `/fr/` and `/en/` instead of the shared root `/`, keeping each locale self-contained. Update `#33`. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Résumé
Migration de la documentation vers VitePress avec support i18n (français / anglais) et déploiement automatique sur GitHub Pages. Le site vit dans
docs/site/(workspacepnpm
omnibot-docs) ; les notes internes restent en markdown simple dansdocs/.Changements
Infrastructure
docs/site/, config i18n (fr + en).omnibot-docs:pnpm --filter omnibot-docs dev/build.pnpm-workspace.yamlpointe surdocs/site) ; plus de lockfile imbriqué.DOCS_BASE(défaut :/OmniBot/).Documentation (contenu)
#lib/...(au lieu des relatifs../../../lib/...).Réorganisation
docs/site/.functional.md,specs/,review/) conservées en markdown dansdocs/, hors build VitePress.modules.md,commands.md, …) supprimés.CI —
.github/workflows/docs.ymlmasteret sur PR (validation du build docs) ; déploiement réservé aux pushmaster.environment: github-pages; permissions Pages (pages/id-token) réduites au seul jobdeploy.--filter omnibot-docs(n'installe pas tout l'arbre du bot).actions/*en tag, tierces en SHA).paths, condition de déploiement).Retours de revue (Copilot) traités
pnpm --filter docs→--filter omnibot-docs(README, AGENTS).Command/InteractionHandleralignés sur l'API réelle (configrequis,args: string[], génériqueInteraction).docs/pnpm-lock.yamlsupprimé./logo.svg(asset absent) retirée du hero — suivie dansAUDIT.md(#31).Déploiement
Après merge : Settings → Pages → Source : GitHub Actions.