# Installation
Get started with Macroforge in just a few minutes. Install the package and configure your project to start using TypeScript macros.
## Requirements
* Node.js 24.0 or later
* TypeScript 5.9 or later
## Install the Package
Install Macroforge using your preferred package manager:
npm
```
npm install macroforge
```
bun
```
bun add macroforge
```
pnpm
```
pnpm add macroforge
```
Info
Macroforge includes pre-built native binaries for macOS (x64, arm64), Linux (x64, arm64), and Windows (x64, arm64).
## Basic Usage
The simplest way to use Macroforge is with the built-in derive macros. Add a `@derive` comment decorator to your class:
user.ts
```
/** @derive(Debug, Clone, PartialEq) */
class User {
name: string;
age: number;
constructor(name: string, age: number) {
this.name = name;
this.age = age;
}
}
// After macro expansion, User has:
// - toString(): string (from Debug)
// - clone(): User (from Clone)
// - equals(other: unknown): boolean (from PartialEq)
```
## IDE Integration
For the best development experience, add the TypeScript plugin to your `tsconfig.json`:
tsconfig.json
```
{
"compilerOptions": {
"plugins": [
{
"name": "@macroforge/typescript-plugin"
}
]
}
}
```
This enables features like:
* Accurate error positions in your source code
* Autocompletion for generated methods
* Type checking for expanded code
## Build Integration (Vite)
If you're using Vite, add the plugin to your config for automatic macro expansion during build:
vite.config.ts
```
import macroforge from "@macroforge/vite-plugin";
import { defineConfig } from "vite";
export default defineConfig({
plugins: [
macroforge({
generateTypes: true,
typesOutputDir: ".macroforge/types"
})
]
});
```
## Next Steps
Now that you have Macroforge installed, learn how to use it:
* [Create your first macro](../docs/getting-started/first-macro)
* [Understand how macros work](../docs/concepts)
* [Explore built-in macros](../docs/builtin-macros)