[
{
"id": "installation",
"title": "Installation",
"category": "getting-started",
"category_title": "Getting Started",
"path": "getting-started/getting-started.md",
"use_cases": "setup, install, npm, getting started, quick start, init"
},
{
"id": "first-macro",
"title": "First Macro",
"category": "getting-started",
"category_title": "Getting Started",
"path": "getting-started/first-macro.md",
"use_cases": "tutorial, example, hello world, beginner, learn"
},
{
"id": "how-macros-work",
"title": "How Macros Work",
"category": "concepts",
"category_title": "Core Concepts",
"path": "concepts/concepts.md",
"use_cases": "architecture, overview, understanding, basics, fundamentals"
},
{
"id": "derive-system/overview",
"title": "The Derive System: Overview",
"category": "concepts",
"category_title": "Core Concepts",
"path": "concepts/derive-system/overview.md",
"use_cases": "@derive, decorator, @derive",
"parent_id": "derive-system"
},
{
"id": "derive-system/built-in-vs-custom-macros",
"title": "The Derive System: Built-in vs Custom Macros",
"category": "concepts",
"category_title": "Core Concepts",
"path": "concepts/derive-system/built-in-vs-custom-macros.md",
"use_cases": "@derive, decorator, import macro",
"parent_id": "derive-system"
},
{
"id": "derive-system",
"title": "The Derive System",
"category": "concepts",
"category_title": "Core Concepts",
"path": "concepts/derive-system.md",
"use_cases": "@derive, decorator, annotation, derive macro",
"is_chunked": true,
"chunk_ids": [
"derive-system/overview",
"derive-system/built-in-vs-custom-macros"
]
},
{
"id": "architecture",
"title": "Architecture",
"category": "concepts",
"category_title": "Core Concepts",
"path": "concepts/architecture.md",
"use_cases": "internals, rust, swc, napi, how it works"
},
{
"id": "macros-overview/overview",
"title": "Overview: Overview",
"category": "builtin-macros",
"category_title": "Built-in Macros",
"path": "builtin-macros/macros-overview/overview.md",
"use_cases": "all macros, list, debug, tostring(): string, clone, clone(): t",
"parent_id": "macros-overview"
},
{
"id": "macros-overview/interface-support",
"title": "Overview: Interface Support",
"category": "builtin-macros",
"category_title": "Built-in Macros",
"path": "builtin-macros/macros-overview/interface-support.md",
"use_cases": "all macros, list, self",
"parent_id": "macros-overview"
},
{
"id": "macros-overview/enum-support",
"title": "Overview: Enum Support",
"category": "builtin-macros",
"category_title": "Built-in Macros",
"path": "builtin-macros/macros-overview/enum-support.md",
"use_cases": "all macros, list",
"parent_id": "macros-overview"
},
{
"id": "macros-overview/type-alias-support",
"title": "Overview: Type Alias Support",
"category": "builtin-macros",
"category_title": "Built-in Macros",
"path": "builtin-macros/macros-overview/type-alias-support.md",
"use_cases": "all macros, list",
"parent_id": "macros-overview"
},
{
"id": "macros-overview/detailed-documentation",
"title": "Overview: Detailed Documentation",
"category": "builtin-macros",
"category_title": "Built-in Macros",
"path": "builtin-macros/macros-overview/detailed-documentation.md",
"use_cases": "all macros, list",
"parent_id": "macros-overview"
},
{
"id": "macros-overview",
"title": "Overview",
"category": "builtin-macros",
"category_title": "Built-in Macros",
"path": "builtin-macros/macros-overview.md",
"use_cases": "all macros, list, available macros, macro list",
"is_chunked": true,
"chunk_ids": [
"macros-overview/overview",
"macros-overview/interface-support",
"macros-overview/enum-support",
"macros-overview/type-alias-support",
"macros-overview/detailed-documentation"
]
},
{
"id": "debug",
"title": "Debug",
"category": "builtin-macros",
"category_title": "Built-in Macros",
"path": "builtin-macros/debug.md",
"use_cases": "toString, debugging, logging, output, print"
},
{
"id": "clone",
"title": "Clone",
"category": "builtin-macros",
"category_title": "Built-in Macros",
"path": "builtin-macros/clone.md",
"use_cases": "copy, clone, duplicate, shallow copy, immutable"
},
{
"id": "default",
"title": "Default",
"category": "builtin-macros",
"category_title": "Built-in Macros",
"path": "builtin-macros/default.md",
"use_cases": "default values, factory, initialization, constructor"
},
{
"id": "hash",
"title": "Hash",
"category": "builtin-macros",
"category_title": "Built-in Macros",
"path": "builtin-macros/hash.md",
"use_cases": "hashCode, hashing, hash map, equality, hash function"
},
{
"id": "ord",
"title": "Ord",
"category": "builtin-macros",
"category_title": "Built-in Macros",
"path": "builtin-macros/ord.md",
"use_cases": "compareTo, ordering, sorting, comparison, total order"
},
{
"id": "partial-eq",
"title": "PartialEq",
"category": "builtin-macros",
"category_title": "Built-in Macros",
"path": "builtin-macros/partial-eq.md",
"use_cases": "equals, equality, comparison, value equality"
},
{
"id": "partial-ord",
"title": "PartialOrd",
"category": "builtin-macros",
"category_title": "Built-in Macros",
"path": "builtin-macros/partial-ord.md",
"use_cases": "compareTo, partial ordering, sorting, nullable comparison"
},
{
"id": "serialize",
"title": "Serialize",
"category": "builtin-macros",
"category_title": "Built-in Macros",
"path": "builtin-macros/serialize.md",
"use_cases": "toJSON, serialization, json, api, data transfer"
},
{
"id": "deserialize/overview",
"title": "Deserialize: Overview",
"category": "builtin-macros",
"category_title": "Built-in Macros",
"path": "builtin-macros/deserialize/overview.md",
"use_cases": "fromJSON, deserialization, deserialize, classnamedeserialize(input), enumnamedeserialize(input)",
"parent_id": "deserialize"
},
{
"id": "deserialize/cycleforward-reference-support",
"title": "Deserialize: Cycle/Forward-Reference Support",
"category": "builtin-macros",
"category_title": "Built-in Macros",
"path": "builtin-macros/deserialize/cycleforward-reference-support.md",
"use_cases": "fromJSON, deserialization, pendingref, ctx.applypatches(), __ref",
"parent_id": "deserialize"
},
{
"id": "deserialize/validation",
"title": "Deserialize: Validation",
"category": "builtin-macros",
"category_title": "Built-in Macros",
"path": "builtin-macros/deserialize/validation.md",
"use_cases": "fromJSON, deserialization, @serde(validate(...)), email, url, uuid",
"parent_id": "deserialize"
},
{
"id": "deserialize/union-type-deserialization",
"title": "Deserialize: Union Type Deserialization",
"category": "builtin-macros",
"category_title": "Built-in Macros",
"path": "builtin-macros/deserialize/union-type-deserialization.md",
"use_cases": "fromJSON, deserialization, typeof, __type",
"parent_id": "deserialize"
},
{
"id": "deserialize/example",
"title": "Deserialize: Example",
"category": "builtin-macros",
"category_title": "Built-in Macros",
"path": "builtin-macros/deserialize/example.md",
"use_cases": "fromJSON, deserialization",
"parent_id": "deserialize"
},
{
"id": "deserialize",
"title": "Deserialize",
"category": "builtin-macros",
"category_title": "Built-in Macros",
"path": "builtin-macros/deserialize.md",
"use_cases": "fromJSON, deserialization, parsing, validation, json",
"is_chunked": true,
"chunk_ids": [
"deserialize/overview",
"deserialize/cycleforward-reference-support",
"deserialize/validation",
"deserialize/union-type-deserialization",
"deserialize/example"
]
},
{
"id": "custom-overview",
"title": "Overview",
"category": "custom-macros",
"category_title": "Custom Macros",
"path": "custom-macros/custom-macros.md",
"use_cases": "custom, extending, creating macros, own macro"
},
{
"id": "rust-setup",
"title": "Rust Setup",
"category": "custom-macros",
"category_title": "Custom Macros",
"path": "custom-macros/rust-setup.md",
"use_cases": "rust, cargo, napi, compilation, building"
},
{
"id": "ts-macro-derive/overview",
"title": "#[ts_macro_derive]: Overview",
"category": "custom-macros",
"category_title": "Custom Macros",
"path": "custom-macros/ts-macro-derive/overview.md",
"use_cases": "attribute, proc macro, #[ts_macro_derive]",
"parent_id": "ts-macro-derive"
},
{
"id": "ts-macro-derive/attribute-options",
"title": "#[ts_macro_derive]: Attribute Options",
"category": "custom-macros",
"category_title": "Custom Macros",
"path": "custom-macros/ts-macro-derive/attribute-options.md",
"use_cases": "attribute, proc macro, @derive()",
"parent_id": "ts-macro-derive"
},
{
"id": "ts-macro-derive/function-signature",
"title": "#[ts_macro_derive]: Function Signature",
"category": "custom-macros",
"category_title": "Custom Macros",
"path": "custom-macros/ts-macro-derive/function-signature.md",
"use_cases": "attribute, proc macro",
"parent_id": "ts-macro-derive"
},
{
"id": "ts-macro-derive/parsing-input",
"title": "#[ts_macro_derive]: Parsing Input",
"category": "custom-macros",
"category_title": "Custom Macros",
"path": "custom-macros/ts-macro-derive/parsing-input.md",
"use_cases": "attribute, proc macro, parse_ts_macro_input!",
"parent_id": "ts-macro-derive"
},
{
"id": "ts-macro-derive/deriveinput-structure",
"title": "#[ts_macro_derive]: DeriveInput Structure",
"category": "custom-macros",
"category_title": "Custom Macros",
"path": "custom-macros/ts-macro-derive/deriveinput-structure.md",
"use_cases": "attribute, proc macro",
"parent_id": "ts-macro-derive"
},
{
"id": "ts-macro-derive/accessing-field-data",
"title": "#[ts_macro_derive]: Accessing Field Data",
"category": "custom-macros",
"category_title": "Custom Macros",
"path": "custom-macros/ts-macro-derive/accessing-field-data.md",
"use_cases": "attribute, proc macro",
"parent_id": "ts-macro-derive"
},
{
"id": "ts-macro-derive/adding-imports",
"title": "#[ts_macro_derive]: Adding Imports",
"category": "custom-macros",
"category_title": "Custom Macros",
"path": "custom-macros/ts-macro-derive/adding-imports.md",
"use_cases": "attribute, proc macro, add_import, tsstream",
"parent_id": "ts-macro-derive"
},
{
"id": "ts-macro-derive/returning-errors",
"title": "#[ts_macro_derive]: Returning Errors",
"category": "custom-macros",
"category_title": "Custom Macros",
"path": "custom-macros/ts-macro-derive/returning-errors.md",
"use_cases": "attribute, proc macro, macroforgeerror",
"parent_id": "ts-macro-derive"
},
{
"id": "ts-macro-derive/complete-example",
"title": "#[ts_macro_derive]: Complete Example",
"category": "custom-macros",
"category_title": "Custom Macros",
"path": "custom-macros/ts-macro-derive/complete-example.md",
"use_cases": "attribute, proc macro",
"parent_id": "ts-macro-derive"
},
{
"id": "ts-macro-derive",
"title": "#[ts_macro_derive]",
"category": "custom-macros",
"category_title": "Custom Macros",
"path": "custom-macros/ts-macro-derive.md",
"use_cases": "attribute, proc macro, derive attribute, rust macro",
"is_chunked": true,
"chunk_ids": [
"ts-macro-derive/overview",
"ts-macro-derive/attribute-options",
"ts-macro-derive/function-signature",
"ts-macro-derive/parsing-input",
"ts-macro-derive/deriveinput-structure",
"ts-macro-derive/accessing-field-data",
"ts-macro-derive/adding-imports",
"ts-macro-derive/returning-errors",
"ts-macro-derive/complete-example"
]
},
{
"id": "ts-quote/overview",
"title": "Template Syntax: Overview",
"category": "custom-macros",
"category_title": "Custom Macros",
"path": "custom-macros/ts-quote/overview.md",
"use_cases": "ts_quote, template, macroforge_ts_quote, ts_template!, body!",
"parent_id": "ts-quote"
},
{
"id": "ts-quote/quick-reference",
"title": "Template Syntax: Quick Reference",
"category": "custom-macros",
"category_title": "Custom Macros",
"path": "custom-macros/ts-quote/quick-reference.md",
"use_cases": "ts_quote, template, @{expr}, {| content |}, {|get@{name}|}, getuser",
"parent_id": "ts-quote"
},
{
"id": "ts-quote/identifier-concatenation-content",
"title": "Template Syntax: Identifier Concatenation: `{| content |}`",
"category": "custom-macros",
"category_title": "Custom Macros",
"path": "custom-macros/ts-quote/identifier-concatenation-content.md",
"use_cases": "ts_quote, template, {| content |}, getuser, setname, {| |}",
"parent_id": "ts-quote"
},
{
"id": "ts-quote/comments-and",
"title": "Template Syntax: Comments: `{> \"...\" <}` and `{>> \"...\" <<}`",
"category": "custom-macros",
"category_title": "Custom Macros",
"path": "custom-macros/ts-quote/comments-and.md",
"use_cases": "ts_quote, template, {> \"...\" <}, {>> \"...\" <<}, {> \"comment\" <}",
"parent_id": "ts-quote"
},
{
"id": "ts-quote/string-interpolation-textexpr",
"title": "Template Syntax: String Interpolation: `\"text @{expr}\"`",
"category": "custom-macros",
"category_title": "Custom Macros",
"path": "custom-macros/ts-quote/string-interpolation-textexpr.md",
"use_cases": "ts_quote, template, \"text @{expr}\", format!()",
"parent_id": "ts-quote"
},
{
"id": "ts-quote/backtick-template-literals",
"title": "Template Syntax: Backtick Template Literals: `\"'^...^'\"`",
"category": "custom-macros",
"category_title": "Custom Macros",
"path": "custom-macros/ts-quote/backtick-template-literals.md",
"use_cases": "ts_quote, template, \"'^...^'\", '^...^', ${\"${}\"}",
"parent_id": "ts-quote"
},
{
"id": "ts-quote/conditionals-ifif",
"title": "Template Syntax: Conditionals: `{#if}...{/if}`",
"category": "custom-macros",
"category_title": "Custom Macros",
"path": "custom-macros/ts-quote/conditionals-ifif.md",
"use_cases": "ts_quote, template, {#if}...{/if}",
"parent_id": "ts-quote"
},
{
"id": "ts-quote/pattern-matching-iflet",
"title": "Template Syntax: Pattern Matching: `{#if let}`",
"category": "custom-macros",
"category_title": "Custom Macros",
"path": "custom-macros/ts-quote/pattern-matching-iflet.md",
"use_cases": "ts_quote, template, {#if let}, if let, option, result",
"parent_id": "ts-quote"
},
{
"id": "ts-quote/match-expressions-match",
"title": "Template Syntax: Match Expressions: `{#match}`",
"category": "custom-macros",
"category_title": "Custom Macros",
"path": "custom-macros/ts-quote/match-expressions-match.md",
"use_cases": "ts_quote, template, {#match}, match, \npublic field: string;\n",
"parent_id": "ts-quote"
},
{
"id": "ts-quote/iteration-for",
"title": "Template Syntax: Iteration: `{#for}`",
"category": "custom-macros",
"category_title": "Custom Macros",
"path": "custom-macros/ts-quote/iteration-for.md",
"use_cases": "ts_quote, template, {#for}",
"parent_id": "ts-quote"
},
{
"id": "ts-quote/while-loops-while",
"title": "Template Syntax: While Loops: `{#while}`",
"category": "custom-macros",
"category_title": "Custom Macros",
"path": "custom-macros/ts-quote/while-loops-while.md",
"use_cases": "ts_quote, template, {#while}, while",
"parent_id": "ts-quote"
},
{
"id": "ts-quote/local-constants-let",
"title": "Template Syntax: Local Constants: `{$let}`",
"category": "custom-macros",
"category_title": "Custom Macros",
"path": "custom-macros/ts-quote/local-constants-let.md",
"use_cases": "ts_quote, template, {$let}",
"parent_id": "ts-quote"
},
{
"id": "ts-quote/side-effects-do",
"title": "Template Syntax: Side Effects: `{$do}`",
"category": "custom-macros",
"category_title": "Custom Macros",
"path": "custom-macros/ts-quote/side-effects-do.md",
"use_cases": "ts_quote, template, {$do}",
"parent_id": "ts-quote"
},
{
"id": "ts-quote/tsstream-injection-typescript",
"title": "Template Syntax: TsStream Injection: `{$typescript}`",
"category": "custom-macros",
"category_title": "Custom Macros",
"path": "custom-macros/ts-quote/tsstream-injection-typescript.md",
"use_cases": "ts_quote, template, {$typescript}, add_import()",
"parent_id": "ts-quote"
},
{
"id": "ts-quote/complete-example-json-derive-macro",
"title": "Template Syntax: Complete Example: JSON Derive Macro",
"category": "custom-macros",
"category_title": "Custom Macros",
"path": "custom-macros/ts-quote/complete-example-json-derive-macro.md",
"use_cases": "ts_quote, template, ts_template!",
"parent_id": "ts-quote"
},
{
"id": "ts-quote",
"title": "Template Syntax",
"category": "custom-macros",
"category_title": "Custom Macros",
"path": "custom-macros/ts-quote.md",
"use_cases": "ts_quote, template, code generation, interpolation",
"is_chunked": true,
"chunk_ids": [
"ts-quote/overview",
"ts-quote/quick-reference",
"ts-quote/identifier-concatenation-content",
"ts-quote/comments-and",
"ts-quote/string-interpolation-textexpr",
"ts-quote/backtick-template-literals",
"ts-quote/conditionals-ifif",
"ts-quote/pattern-matching-iflet",
"ts-quote/match-expressions-match",
"ts-quote/iteration-for",
"ts-quote/while-loops-while",
"ts-quote/local-constants-let",
"ts-quote/side-effects-do",
"ts-quote/tsstream-injection-typescript",
"ts-quote/complete-example-json-derive-macro"
]
},
{
"id": "integration-overview",
"title": "Overview",
"category": "integration",
"category_title": "Integration",
"path": "integration/integration.md",
"use_cases": "setup, integration, tools, ecosystem"
},
{
"id": "cli",
"title": "CLI",
"category": "integration",
"category_title": "Integration",
"path": "integration/cli.md",
"use_cases": "command line, macroforge command, expand, terminal"
},
{
"id": "typescript-plugin",
"title": "TypeScript Plugin",
"category": "integration",
"category_title": "Integration",
"path": "integration/typescript-plugin.md",
"use_cases": "vscode, ide, language server, intellisense, autocomplete"
},
{
"id": "vite-plugin",
"title": "Vite Plugin",
"category": "integration",
"category_title": "Integration",
"path": "integration/vite-plugin.md",
"use_cases": "vite, build, bundler, react, svelte, sveltekit"
},
{
"id": "svelte-preprocessor",
"title": "Svelte Preprocessor",
"category": "integration",
"category_title": "Integration",
"path": "integration/svelte-preprocessor.md",
"use_cases": "svelte, preprocessor, svelte components, .svelte files, sveltekit"
},
{
"id": "mcp-server",
"title": "MCP Server",
"category": "integration",
"category_title": "Integration",
"path": "integration/mcp-server.md",
"use_cases": "mcp, ai, claude, llm, model context protocol, assistant"
},
{
"id": "configuration",
"title": "Configuration",
"category": "integration",
"category_title": "Integration",
"path": "integration/configuration.md",
"use_cases": "macroforge.json, config, settings, options"
},
{
"id": "ls-overview",
"title": "Overview",
"category": "language-servers",
"category_title": "Language Servers",
"path": "language-servers/language-servers.md",
"use_cases": "lsp, language server, editor support"
},
{
"id": "svelte",
"title": "Svelte",
"category": "language-servers",
"category_title": "Language Servers",
"path": "language-servers/svelte.md",
"use_cases": "svelte, svelte language server, .svelte files"
},
{
"id": "zed",
"title": "Zed Extensions",
"category": "language-servers",
"category_title": "Language Servers",
"path": "language-servers/zed.md",
"use_cases": "zed, zed editor, extension"
},
{
"id": "api-overview",
"title": "Overview",
"category": "api",
"category_title": "API Reference",
"path": "api/api.md",
"use_cases": "api, functions, exports, programmatic"
},
{
"id": "expand-sync",
"title": "expandSync()",
"category": "api",
"category_title": "API Reference",
"path": "api/expand-sync.md",
"use_cases": "expandSync, expand, transform, macro expansion"
},
{
"id": "transform-sync",
"title": "transformSync()",
"category": "api",
"category_title": "API Reference",
"path": "api/transform-sync.md",
"use_cases": "transformSync, transform, metadata, low-level"
},
{
"id": "native-plugin",
"title": "NativePlugin",
"category": "api",
"category_title": "API Reference",
"path": "api/native-plugin.md",
"use_cases": "NativePlugin, caching, language server, stateful"
},
{
"id": "position-mapper",
"title": "PositionMapper",
"category": "api",
"category_title": "API Reference",
"path": "api/position-mapper.md",
"use_cases": "PositionMapper, source map, diagnostics, position"
},
{
"id": "roadmap",
"title": "Roadmap",
"category": "roadmap",
"category_title": "Roadmap",
"path": "roadmap/roadmap.md",
"use_cases": "roadmap, future, planned features, upcoming"
}
]