# API Reference
macroforge v0.1.48 33 exported items
Macroforge provides a programmatic API for expanding macros in TypeScript code.
## Overview
TypeScript
```
import {
expandSync,
transformSync,
checkSyntax,
parseImportSources,
NativePlugin,
PositionMapper
} from "macroforge";
```
## Core Functions
| Function | Description |
| ----------------------------------------------- | --------------------------------------- |
| [`expandSync()`](../docs/api/expand-sync) | Expand macros synchronously |
| [`transformSync()`](../docs/api/transform-sync) | Transform code with additional metadata |
| `checkSyntax()` | Validate TypeScript syntax |
| `parseImportSources()` | Extract import information |
## Classes
| Class | Description |
| ----------------------------------------------- | ------------------------------------------------- |
| [`NativePlugin`](../docs/api/native-plugin) | Stateful plugin with caching |
| [`PositionMapper`](../docs/api/position-mapper) | Maps positions between original and expanded code |
## Quick Example
TypeScript
```
import { expandSync } from "macroforge";
const sourceCode = \`
/** @derive(Debug) */
class User {
name: string;
constructor(name: string) {
this.name = name;
}
}
\`;
const result = expandSync(sourceCode, "user.ts", {
keepDecorators: false
});
console.log(result.code);
// Output: class with toString() method generated
if (result.diagnostics.length > 0) {
console.error("Errors:", result.diagnostics);
}
```
## Detailed Reference
* [`expandSync()`](../docs/api/expand-sync) - Full options and return types
* [`transformSync()`](../docs/api/transform-sync) - Transform with source maps
* [`NativePlugin`](../docs/api/native-plugin) - Caching for language servers
* [`PositionMapper`](../docs/api/position-mapper) - Position mapping utilities