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, Eq) */
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: User): boolean  (from Eq)

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: