Skip to main content

CLAUDE.md

This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.

Local preview

npx mintlify dev

Repository overview

This is the Mintlify documentation site for Base44. It publishes to docs.base44.com and covers two audiences: non-technical users building apps through Base44’s AI chat UI, and developers using the Base44 backend, CLI, and SDK. All page content is .mdx files. Navigation, redirects, and site config live in docs.json.

Content layout

Two parallel directory trees exist due to historical restructuring. Most older pages live in top-level category folders; newer pages live under documentation/:
  • Top-level dirs (Getting-Started/, Building-your-app/, Integrations/, Enterprise/, etc.): Original docs
  • documentation/: Newer pages added during navigation restructuring
  • developers/: All developer-facing content — backend, app-code, SDK reference, CLI reference, changelog
developers/ is owned and maintained by the tech writers team. Do not edit any files under this directory, and exclude it from audits, checks, and automated fixes. The docs.json navigation is the authoritative source for which pages are live. Pages not referenced in docs.json are not visible in the site.

Finding pages

llms.txt in the repo root is a structured index of every published page, including its URL and description. Use it as the first reference when:
  • Checking whether a page exists before linking to it
  • Finding related content to cross-link
  • Validating that an internal URL is correct
Do not edit llms.txt manually — it is auto-generated by the generate-llms-txt GitHub Actions workflow whenever .mdx files or docs.json change.

Multi-repo workspace

This repo is one of four connected repos:
RepoPurpose
mintlify-docs (this repo)All published docs
javascript-sdkSDK source and JSDoc (generates developers/references/sdk/)
cliCLI source code; docs edited here in developers/references/cli/
apperBase44 backend; source of truth for how features actually work
Do not edit developers/references/sdk/ directly. Those files are generated from JSDoc in the javascript-sdk repo. Run npm run create-docs-local from the javascript-sdk repo root to regenerate and copy output to this repo (it assumes both repos are siblings on disk). When documenting how a feature works, verify against apper source code first — especially for connectors, integrations, and backend behavior. Pull latest main in apper before searching, as it changes frequently. When adding a new page, register it in docs.json under the appropriate group. Entries in CLI command groups must be in alphabetical order. The redirects array handles renamed or moved pages.

CI automation

Three GitHub Actions workflows run on this repo:
  • generate-llms-txt.yml: Regenerates llms.txt on any .mdx or docs.json change. Commits automatically.
  • changelog-update.yml: On PRs that touch developers/, Claude automatically adds an entry to developers/changelog.mdx if the change warrants one. After Claude commits, verify the date and tags before merging.
  • sync-monitoring-openapi.yml: Syncs developers/references/monitoring-api/monitoring-openapi.json from production every hour. Do not edit this file manually.

Writing conventions

Full rules are in .claude/skills/base44-docs-writing/SKILL.md. Key rules: Frontmatter — every page requires title, description, and sidebarTitle. Headings — sentence case only; H2 for body sections, H3 for subsections, never H4 (use Accordions instead). Steps and lists — numbered lists for all step-by-step instructions; every numbered list must be preceded by a bolded intro line (e.g. **To add a domain:**); no outcome sentence after the final step. Callouts — use <Note> for informational content, <Tip> for tips and prerequisites, <Warning> for blockers; never use plain paragraph notes. Voice — second person (“you”, never “users”); active voice, present tense; no exclamation marks; no ampersands (write “and”); no em dashes (use commas or rewrite); no idioms or jargon. AI prompts — always in full code blocks, never inline. URLs — never fabricate URLs; use [link text](#) as a placeholder. Internal links — use short relative paths only (e.g. /integrations/using-custom-integrations). Never use full https://docs.base44.com/... URLs for internal links. MDX output — every MDX page output is one single copyable code block. For CLI command pages, see .claude/skills/cli-docs-writing/SKILL.md — templates, flag table format, and the full checklist of files to update when adding a new command. For connector docs, see .claude/skills/connector-docs-writing/SKILL.md — covers which files to update across both mintlify-docs and javascript-sdk, and how to verify against apper source.

Mintlify components

Common components (accordions, callouts, cards, steps, code blocks) are documented in .claude/skills/base44-docs-writing/references/mintlify-components.md.