Documentation project instructions
About this project
- This is the bilingual documentation site of MoleSignal, built on Mintlify.
- Pages are MDX files with YAML frontmatter. English pages live in
en-US/and Simplified Chinese pages inzh-Hans/. - Mintlify pairs pages across languages only when the folder is named after a language code it knows, and
en-USis not one. A page without a link to its counterpart leaves the other language greyed out in the language switcher. Every page therefore carries a frontmatter link to its counterpart:"zh-Hans_link": "/zh-Hans/<path>"inen-US/pages and"en_link": "/en-US/<path>"inzh-Hans/pages. Drop the.mdxextension and a trailing/index. Add both links when adding a page pair, and open the switcher inmint devto check them. - Navigation, branding, redirects, and the 404 page live in
docs.json. changelog.jsrenders the Changelog page from GitHub releases.style.cssandsidebar-toggle.jshold the site customizations.- Diagrams are rendered SVG files in
images/architecture/with light and dark variants for each language. - For Mintlify product knowledge (components, configuration, writing standards), use the Mintlify skill (
npx skills add https://mintlify.com/docs) or the Mintlify docs MCP server athttps://www.mintlify.com/docs/mcp.
Keep the facts verified
Documented behavior must match the product source. The source repository is a sibling checkout namedmolesignal.
- Configuration:
conf/config.tomlandcrates/core/settings/src/config/. Defaults in the docs come from the sample file, and the description notes any built-in default that differs. - Environment variables: the
MS_prefix, then each level of the setting path in upper case, joined by single underscores.[node].rolesisMS_NODE_ROLES, and[meta_database].dsnisMS_META_DATABASE_DSN. - HTTP routes and error shapes:
bin/molesignal/src/api/http/routes/andcrates/core/kernel/src/error.rs. - UI labels, menu paths, and Chinese UI terms:
web/src/i18n/en-us/andweb/src/i18n/zh-cn/, and the navigation inweb/src/product/ia.ts. - When the source is unclear, run the product and call the endpoint. Do not document a setting or an endpoint that has no effect, and mark a reserved setting as reserved.
- Never put real credentials, hostnames of private systems, or session identifiers in the docs. Use placeholders such as
<token>.
Terminology
Use one term per concept, in both languages. UI labels follow the product.
Describe access with exact permission keys such as
streams.query.
Style preferences
- Use active voice and direct imperative sentences without first-, second-, or third-person personal pronouns.
- Keep sentences concise. One idea per sentence.
- Use sentence case for headings, page titles, and navigation groups.
- Bold UI elements: Click Settings. Write menu paths with an arrow: Identity & Access → API tokens.
- Use code formatting for file names, commands, paths, configuration keys, environment variables, and code references.
- Prefer a table for a list of settings, endpoints, or limits that have several attributes.
- Put shell commands in their own fenced block with the language
bash. One command per block when a reader is expected to run it. - Keep English and Chinese pages in parity. A page, a section, and a navigation entry exist in both languages in the same change.
Content boundaries
- Document the open source edition: Apache License 2.0, PostgreSQL as the only metadata database, the embedded JavaScript and VRL runtimes, RustFS as the sandbox object store, and the standalone deployment as the supported topology.
- Describe the role-split deployment with the router as the entry point of the full API, and state its limits next to it.
- The Enterprise & Cloud tab lists one page per capability under Capabilities. Show which editions offer a capability with topic tags in the sidebar, like GitHub repository topics. Set
tag: "enterprise cloud"in the frontmatter when both editions offer the capability, andtag: "enterprise"ortag: "cloud"when only one does. Keep the orderenterprise cloudand the same value in both languages.style.cssdraws each word as a separate chip. Mark a capability that has not shipped with a<Warning>that states its planned status. - Do not document internal source layout, internal module names, or development-only switches.