mirror of
https://gh-proxy.org/https://github.com/klinsmaya/multica.git
synced 2026-11-09 01:46:46 +08:00
207a4bf4e9b46158cf01eadee1cdaec11b341e7d
4
Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
e13a902f59 |
MUL-8220: docs: interactive demos, structured pages and docs for undocumented features (#9498)
* chore(docs): upgrade to Fumadocs 16 and Next.js 16 Fumadocs UI 16 requires Next.js 16, so the docs app moves to Next 16 alongside it (apps/web is already on 16). - fumadocs-core/ui 15 -> 16, fumadocs-mdx 12 -> 15 - import collections from .source/server and RootProvider from fumadocs-ui/provider/next - migrate UI translation keys to the v16 message ids - rename middleware.ts to proxy.ts per the Next 16 convention - declare the status, diff and overlay color slots v16 moved out of preset.css - keep heading anchors, now rendered as a[data-card], out of the card styles - drop the language select v16 adds to the sidebar footer; the docs settings menu already switches language * feat(docs): add a kit for click-through product demos Docs pages can embed small demos that imitate the product and walk the reader through one action. The kit holds the shared frame (title, replay, live caption), the coach mark that rings the next control with a localized "Click" and an arrow, and timeline pieces for runs, comments and steps. Demos start when scrolled into view, take their scenario copy per locale, and isolate their stacking so they stay under the page header. tw-animate-css provides the enter animations, as in apps/web. * fix(docs): consistent Steps, Tabs and Accordion styling - a Steps item is at least as tall as its number badge, so one-line steps don't stack their badges - accordion headers (not-prose h3) skip the editorial heading styles - hide the copy-link button Fumadocs adds beside accordion titles; the ids stay so links still open an entry - tab bars end in a hairline that carries the active underline without overflowing the scrolling bar, and a lone code block in a tab keeps its inset and border, so every tab group looks the same * docs: interactive getting-started pages - concepts: clickable map of the core objects and their relations - how-multica-works: step-through of one run from issue to result - triggering-agents: pick a goal, get the way to start an agent, including issue wakeups - cloud-quickstart and tutorial use Steps; agent creation, the runtimes entry and the sidebar paths match the current product Covers en, zh, ja, ko and fr; copy edited to drop template phrasing. * docs: interactive workspace, issue and project pages - demos for member roles, issue statuses, project progress, workflow handoffs, creating an issue with an agent, deliverable versions and local directory modes - new Analytics page with a demo of the usage and errors tabs: cost estimates, runtime usage, custom prices and per-issue spend - issues: custom properties, display settings and saved views, peek, bulk edits and duplicates - project progress counts the done and closed categories; status category names, the workflow return label and share links follow the product; agent moves trigger handoffs too - project-resources: modes as Tabs, worktree details as Accordions Covers en, zh, ja, ko and fr; copy edited to drop template phrasing. * docs: interactive agent pages - demos for agent Access, creating an agent, adding a skill and a squad run led by its leader - agents-create describes the current runtime -> configure -> done flow instead of the removed start-blank / build-with-AI choice, and covers workspace-shared MCP servers - squads: notified members, a three-column re-trigger table, and the sections the ja/ko pages were missing Covers en, zh, ja, ko and fr; copy edited to drop template phrasing. * docs: interactive everyday-collaboration pages - demos for steering a running agent, mentioning an agent, assigning an issue, resolving a thread, running a quick action, chat, the chat message queue and the inbox - mentioning-agents documents steering and the per-recipient delivery options; follow-ups no longer always wait for the run to end - comments: sub-issues created from a thread, the thread minimap and edit-conflict comparison - chat: the floating window, draft restore and the message queue - new page for search, keyboard shortcuts and preferences - quick actions: the sidebar list is not filtered by invoke permission Covers en, zh, ja, ko and fr; copy edited to drop template phrasing. * docs: interactive runtime and automation pages - demos for a failed run and its retry, a run waiting on an offline computer, an autopilot run, an issue wakeup and picking a coding tool - new Issue wakeups page: event, time and periodic conditions, check-ins, limits, the child_done system rule and its workspace default, and the `multica issue wakeup` commands - daemon-runtimes: start at login, local MCP merging, cleanup and retention, Codex memory defaults, and sharing a runtime with specific members - runs on an offline runtime fail only after the reconnect grace (default 3h); the execution log lists the latest three past runs - providers and the install guide add ZeroClaw and the model-selection column; install-agent-runtime uses Steps, Tabs and per-tool Accordions - the event-filter heading keeps the anchor the product links to Covers en, zh, ja, ko and fr; copy edited to drop template phrasing. * docs: interactive integration and app pages - demos for talking to a channel bot, a merged PR completing its issue and per-workspace desktop tabs - the bot guides share one Steps-based layout with their old anchors - Lark and Telegram attach recent group messages as read-only context - desktop-app: pinned tabs - fix stale French GitHub and mobile self-hosting sections, and the compressed ja/ko Telegram pages Covers en, zh, ja, ko and fr; copy edited to drop template phrasing. * docs: restructure self-hosting and reference pages - self-host-quickstart and troubleshooting use Steps, Tabs and Accordions with ASCII ids so links open the right entry; code-block tabs become Tabs like everywhere else - environment-variables adds the GC, log rotation and per-tool path/model settings and drops the unused MULTICA_KEEP_ENV_AFTER_TASK - cli adds issue timeline, issue wakeup, daemon autostart and the commonly used flags - fix a corrupted link, flattened code indentation and dead anchors - translations no longer call GitHub issues "tasks" Covers en, zh, ja, ko and fr; copy edited to drop template phrasing. * feat(docs): show the search bar with compact results The site already served a per-locale search index from /api/search (with character-level tokenizers for zh and ja), but the layout hid Fumadocs's search toggle, leaving ⌘K as the only, undiscoverable way in. The toggle is back: a search bar atop the sidebar on desktop and an icon in the mobile header. Fumadocs's default dialog renders every matching paragraph, table and row in full, which buries the page titles. Like DocSearch and Pagefind, results now show the page and section titles plus at most three matches per page, each a two-line excerpt around the match; table rows become one line with their cells joined. The index and ranking are unchanged. |
||
|
|
8c2e08418f |
feat(docs-site): rewrite docs as bilingual flat content tree (#1591)
* chore(docs-site): add @multica/ui bridge and dev:docs script Link @multica/ui as a workspace dep of @multica/docs so the docs app can consume the shared design tokens (tokens.css, base.css) via a relative import — same pattern the web and desktop apps use. Add a top-level pnpm dev:docs script for a one-command docs dev server (port 4000). Preparation for the docs site rewrite tracked in docs/docs-outline.md. Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]> * feat(docs-site): apply Multica tokens and pure-sans typography Replace Fumadocs' neutral color preset with a @theme inline bridge that maps the --color-fd-* chrome tokens to Multica's --background / --foreground / --border / --sidebar-* etc. Sidebar, nav, cards now pick up Multica's cool-gray palette automatically, and switching Multica's .dark flips Fumadocs chrome with it. Typography: pure sans (36px / weight 600 / tight tracking h1, h2+h3 tuned to match), landing continuity without serif display. Code blocks: pinned to near-black (oklch(0.12 0.01 250)) regardless of page theme so they read as a continuation of the landing hero surface. Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]> * docs(plan): add rewrite plan and outline tracker Two planning documents for the docs site rewrite: - docs/docs-rewrite-plan.md — strategic rationale (positioning, reader personas, design principles, visual direction, phase breakdown). - docs/docs-outline.md — execution tracker. 25 v1 pages with per-page entries (source files, audience, what-to-write, what-not-to-write, ⚠️ verify-before-drafting). Workflow: claim via Owner + Status, read source, verify checklist, draft, review, ship. Language: zh only for v1. Outline is the source of truth for scope and status; the earlier "EN first, ZH as Phase 10" line in rewrite-plan.md is superseded. Welcome (§1.1) is claimed under this tracker and currently in 👀 review. Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]> * docs(docs-site): write first Welcome page (zh) — §1.1 Implements §1.1 Welcome per docs/docs-outline.md. Chinese-first (per outline language decision); terms translated to their clearest Chinese equivalents (issue → 任务, agent → 智能体, daemon → 守护进程, etc.), product proper nouns and commands kept in English. Voice: reference-style, not marketing. Follows google-gemini/docs-writer skill rules (BLUF opener, second-person, active voice, no hype, overview prose before every list). Content: - Opens by describing Multica as a 任务协作 platform and how humans + AI 智能体 share the same 工作区 - Two interaction modes: 分配任务 and 聊天 - 智能体在哪里运行: local daemon (today), cloud runtime (soon, waitlist). 10 providers listed from source (server/pkg/agent/*.go). - Three usage paths split into back-end (Cloud / Self-host) and client (Desktop) choices — Desktop bundles CLI and auto-starts daemon. - Status: 👀 In review. Also simplifies content/docs/meta.json to just ["index"] (placeholder page entries removed; IA skeleton will be populated in Phase 2). Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]> * chore(docs-site): wire up client-side Mermaid rendering Add a <Mermaid> React component under apps/docs/components/ that dynamic- imports the mermaid package in useEffect and renders the resulting SVG. Deps added: mermaid@^11.14.0 and next-themes@^0.4.6 (transitively present via fumadocs-ui but needs explicit declaration to be importable). Design choices: - Client-side render (not build-time). No Playwright / browser automation in CI. Mermaid bundle (~400 KB) is loaded only on pages that use the component, thanks to the dynamic import. - Theme flips automatically — useTheme() from next-themes re-invokes mermaid.initialize() with the correct theme on .dark toggle. - SSR safe: the component returns a "Rendering diagram…" placeholder on the server; the SVG appears after hydration. - securityLevel "strict" — diagrams render as static SVG with no inline script or event handlers. Usage in mdx (explicit import, same pattern as Cards/Callout): import { Mermaid } from "@/components/mermaid"; <Mermaid chart={` graph LR User --> Server `} /> Verified by a scratch /app/mermaid-test/ route that compiled to 4665 modules and returned HTTP 200 (cleanup done pre-commit). Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]> * feat(docs-site): adopt v2 editorial palette and typography Replace the Linear/Vercel-style cool-gray token override with a warm editorial palette (bg matches landing #f7f7f5, brand-color primary via Multica's existing --brand hue 255) and wire Source Serif 4 for heading typography. Italic is avoided sitewide — Chinese italic renders as a synthetic slant against upright-designed glyphs and reads as broken; emphasis is carried by serif/sans contrast, brand color, and weight. Sidebar adopts the product app's active-fill pattern (solid sidebar-accent background, no ::before mark). Code blocks drop the always-dark hero treatment and follow page theme so the reading column stays coherent. Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]> * feat(docs-site): add editorial MDX components New components/editorial.tsx exposes Byline, NumberedCards/NumberedCard, and NumberedSteps/Step — the "wow moment" pieces from v2-editorial (ruled-divider bylines, No. 01 serif card numbering, large serif step counters). All escape prose via not-prose so they run their own type scale. DocsHero is rewritten as an editorial showpiece: title accepts ReactNode so callers can pass a brand-color em accent, eyebrow becomes a small uppercase sans label, lede uses serif at 20px. Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]> * docs(docs-site): rewrite welcome page as editorial showpiece Welcome page now opens with an editorial hero (eyebrow + serif h1 with brand-color em accent on "共处一方。" + serif lede), a ruled byline strip carrying the section / updated / read-time metadata, and then flows into prose. The three deployment paths switch from fumadocs's <Cards> to <NumberedCards> so each gets a No. 01/02/03 label, and the "next steps" list becomes a <NumberedSteps> block with large serif counters. These are the highest-impact visual moments on the page; the rest of the guide pages still get the global editorial chrome without needing per-page code. Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]> * feat(docs-site): add bilingual flat content tree with i18n routing Restructures the docs site from nested topic folders (cli/, getting-started/, developers/, guides/) into a flat content tree, and adds Chinese alongside English. The old nested structure forced contributors to think about both the topic AND the user-journey grouping; the flat tree lets a single meta.json control reading order with separator labels, and lets the same slug serve both languages via the `foo.zh.mdx` parser convention. Routing - New `app/[lang]/` segment hosts layout, home, slug page, and not-found - Self-contained basePath-aware middleware (fumadocs's built-in middleware isn't basePath-aware, so its rewrite/redirect targets break under /docs) - `hideLocale: 'default-locale'` keeps English URLs prefix-less; Chinese lives under /docs/zh/ - Sitemap excluded from middleware matcher so crawlers don't get rewritten into a non-existent locale-prefixed sitemap route - Default-language redirect preserves search string (UTM safety) - Home page declares its own generateStaticParams (Next layout params don't cascade) so /docs/ and /docs/zh are SSG, not dynamic per request SEO - New app/sitemap.ts emits hreflang alternates for every page - absoluteDocsUrl normalizes the home `/` so canonical URLs don't carry a trailing slash that mismatches the page's own canonical link - apps/web/app/robots.ts now advertises the docs sitemap Search - CJK tokenizer registered for the zh locale (Orama's English regex strips Han characters; without this Chinese search either returns empty or throws) Chrome - Custom DocsSettings replaces fumadocs's default icon-only sidebar footer with two labelled buttons (language + theme), matching the editorial design language Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]> --------- Co-authored-by: Claude Opus 4.7 (1M context) <[email protected]> |
||
|
|
7c6158f3c9 |
feat(docs): mount docs site at /docs subpath via basePath + multi-zone (#1160)
Configure the Fumadocs site so it can be served at multica.ai/docs: - Add basePath: '/docs' to apps/docs/next.config.mjs - Flatten routes: drop standalone home, render content/docs/index.mdx at the root, move catch-all from app/docs/[[...slug]] to app/[...slug] - Wrap children with DocsLayout in the root layout (was a separate segment-level layout under app/docs/) - Set source loader baseUrl to '/' so URL slugs no longer carry the basePath (Next.js prepends it automatically) - Strip the now-redundant '/docs/' prefix from internal MDX links and drop the duplicate "Documentation" nav entry - Add app/not-found.tsx for App Router 404 handling Wire up multi-zone routing so apps/web proxies /docs/* to the docs app: - Add DOCS_URL env (default http://localhost:4000) and rewrites for /docs and /docs/:path* in apps/web/next.config.ts - Whitelist DOCS_URL in turbo.json globalEnv |
||
|
|
17ae320dd2 |
feat(docs): add documentation site with Fumadocs (#634)
Set up a documentation site at apps/docs using Fumadocs (Next.js App Router). Migrated existing docs (README, SELF_HOSTING, CLI_AND_DAEMON, CLI_INSTALL, CONTRIBUTING, AGENTS) into structured MDX content with sidebar navigation and full-text search. Content structure: - Getting Started: Cloud quickstart, self-hosting guide - CLI & Daemon: Installation, full command reference - Guides: Quickstart, agents overview - Developers: Contributing guide, architecture docs Co-authored-by: Claude Opus 4.6 (1M context) <[email protected]> |