# Node Modules & Customization

The Dev Portal supports installing and using custom node modules in your
documentation. This allows you to extend your documentation with custom React
components, utilities, or any other npm packages.

## Installing Custom Packages

Inside your project's `/docs` directory, you can install any npm package using
the standard npm commands:

```bash
npm install your-package-name
```

## Using Custom React Components

You can import and use custom React components directly in the
`zudoku.config.tsx` file or your MDX files:

```jsx
import { MyCustomComponent } from "your-package-name";

<MyCustomComponent />;
```

## TypeScript Support

The Dev Portal includes full TypeScript support for your custom components. Make
sure your `tsconfig.json` includes the appropriate type definitions for your
packages.

## Limitations

While you can use most npm packages, be mindful of:

- Package size impact on build time
- Browser compatibility for client-side components
- Node.js-specific packages (like `fs` or `path`) cannot be used in
  `zudoku.config.tsx` since it runs in both server and browser environments -
  use environment-agnostic code only
