mirror of
https://github.com/software-mansion/argent.git
synced 2026-09-14 19:27:14 +08:00
36aa14a5fc
Adds the Argent documentation site, published to [docs.swmansion.com/argent](https://docs.swmansion.com/argent): a branded Docusaurus project under `packages/docs/`, the full first set of pages, and the CI that checks and deploys it. <img width="1512" height="945" alt="Screenshot 2026-08-21 at 13 05 04" src="https://github.com/user-attachments/assets/4607e143-4359-49a8-93a2-aaa3af4c9534" /> ## Site A standalone Docusaurus 3.9 project, built on the shared Software Mansion docs theme ([`@swmansion/t-rex-ui`](https://www.npmjs.com/package/@swmansion/t-rex-ui)) and restyled for Argent: - **Palette** from [argent.swmansion.com](https://argent.swmansion.com): dark `#0D0F26`, blue `#99DAFF`, lavender `#E4E1FF`, light `#FEFEFE`, mist `#F1F1F1`. The `--swm-*` token names stay, since the shared theme resolves against them. - **Typography**: DM Sans and DM Mono, matching the landing page. - **Sidebar** with lucide icons on every page entry (`sidebar_custom_props.icon` in the front matter, registered in `src/theme/SidebarIcon`), the logo kept on the page background and the panel inset from the edge. - **Video component** for embedded screen recordings, with `scripts/encode-video.sh` producing a web-sized MP4 and a poster frame for each clip in `static/video/`. - **Copy page button** and a few theme fixes: inline code badges in tables, paginator hover. - **No landing page.** That stays at argent.swmansion.com. The root route redirects to Getting started. ## Content Three sections in `docs/`: - **Fundamentals**: getting started, installation, supported platforms. - **Features**: interacting with apps, flows, network, screen recording, lens, visual regression, profiling, debugging. Conceptual overviews with recordings, each linking to the tools reference. - **Reference**: tools, CLI, configuration, flow YAML, editors, telemetry. Prose follows Simplified Technical English. The conventions (style, front matter, icons, checks) are written down in `packages/docs/CLAUDE.md`, and a root `CLAUDE.md` adds a checklist so that code changes to tools, CLI, configuration or flows update the matching docs page in the same pull request. ## CI and deploy - `Docs build` runs `format:check`, `lint`, `typecheck` and `build` on every pull request that touches `packages/docs/`. The build has `onBrokenLinks: "throw"`, so it catches links left dangling by a moved page. - `Docs publish` deploys `packages/docs/build` through the GitHub Actions Pages source on every push to `main` that touches the docs. The repository Pages source needs to be set to **GitHub Actions** for the first run. ## Notes for review - The site is excluded from the root `packages/*` workspaces (`!packages/docs`) and keeps its own `package.json` and `package-lock.json`, so its dependency tree stays out of the toolkit's lockfile. Root Prettier, ESLint and knip ignore it; it formats and lints itself with the repo `.prettierrc` and its own `eslint.config.mjs`. `check-workspace-versions.mjs` skips it so its `0.0.0` version is not read as drift. - `webpack` is pinned to `5.105.4` and `@docusaurus/plugin-content-docs` / `theme-common` to `3.9.2` via `overrides`. Newer webpack fails Docusaurus 3.9's ProgressPlugin option validation, and a hoisted `plugin-content-docs@3.10.2` produced a duplicate React context that crashed SSR. - **Search is not wired up yet.** The shared theme always mounts a DocSearch bar, so an `algolia` block has to be present. It reads `ALGOLIA_APP_ID` / `ALGOLIA_API_KEY` / `ALGOLIA_INDEX_NAME` from the environment and the bar stays hidden until Argent has its own DocSearch application. Follow-up PR. ## Testing - `npm run format:check`, `npm run lint`, `npm run typecheck` and `npm run build` pass in `packages/docs/`. - Root `prettier --check`, `eslint` and `npm run knip` pass. - Walked the served production build in the browser in light and dark themes while iterating: root redirect, docs pages, sidebar icons, videos, TOC, footer. --------- Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
42 lines
2.1 KiB
JSON
42 lines
2.1 KiB
JSON
{
|
|
"name": "argent-workspace",
|
|
"private": true,
|
|
"workspaces": [
|
|
"packages/*",
|
|
"!packages/docs"
|
|
],
|
|
"scripts": {
|
|
"build": "tsc --build",
|
|
"start": "npm run build -w @argent/registry && npm run dev -w @argent/tool-server",
|
|
"start:tool-server": "npm run build -w @argent/registry && npm run dev -w @argent/tool-server",
|
|
"download:simulator-server": "bash scripts/download-simulator-server.sh",
|
|
"download:native-binaries": "bash scripts/download-native-binaries.sh",
|
|
"download:trace-processor": "bash scripts/download-trace-processor.sh",
|
|
"build:ios-binaries": "bash packages/native-devtools-ios/scripts/build.sh dev",
|
|
"build:ios-binaries:tcp": "bash packages/native-devtools-ios/scripts/build.sh dev --transport tcp",
|
|
"build:android-binaries": "bash packages/native-devtools-android/scripts/build.sh",
|
|
"pack": "node scripts/pack-mcp.cjs",
|
|
"pack:mcp": "node scripts/pack-mcp.cjs",
|
|
"pack:mcp:local": "npm run download:simulator-server && npm run build:ios-binaries && npm run build:ios-binaries:tcp && npm run build:android-binaries && npm run download:trace-processor && npm run build && npm run build -w @swmansion/argent && npm pack -w @swmansion/argent --pack-destination .",
|
|
"dev": "node scripts/dev.cjs",
|
|
"format": "prettier --write .",
|
|
"lint": "eslint . --max-warnings 0",
|
|
"lint:fix": "eslint . --fix",
|
|
"knip": "knip --exclude exports,types && knip --include exports,types,classMembers,nsExports,nsTypes --max-issues 215",
|
|
"typecheck:scripts": "tsc --noEmit -p tsconfig.scripts.json",
|
|
"test:scripts": "node --test scripts/sync-next-dist-tag.test.mjs scripts/extract-tools.test.mjs scripts/next-canary-version.test.mjs scripts/check-workspace-versions.test.mjs",
|
|
"check:versions": "node scripts/check-workspace-versions.mjs"
|
|
},
|
|
"devDependencies": {
|
|
"@eslint/js": "^10.0.1",
|
|
"eslint": "^10.5.0",
|
|
"eslint-plugin-react-hooks": "^7.1.1",
|
|
"globals": "^17.7.0",
|
|
"knip": "^5.88.1",
|
|
"prettier": "^3.8.5",
|
|
"semver": "^7.8.5",
|
|
"typescript": "^6.0.3",
|
|
"typescript-eslint": "^8.62.0"
|
|
}
|
|
}
|