Installation

Installation

Installation

@audelabs/formic-client is hosted in the private Audelabs Gitea npm registry. External projects must configure the @audelabs scope before installing the package.

Registry Setup

Add this .npmrc to the consuming project:

@audelabs:registry=https://git.audelabs.com/api/packages/Audelabs/npm/

No token is required for public packages. Add an auth token only when consuming private packages from the same registry, and never commit a literal token value to the repository — use environment variables instead.

Security Note: Your Formic API key authenticates all form submissions. Always store it in environment variables (e.g., FORMIC_API_KEY) and never expose it in client-side code. See the Authentication guide for best practices on keeping your API key secure.

Install @audelabs/formic-client in your project:

npm install @audelabs/formic-client
# or
pnpm add @audelabs/formic-client
# or
yarn add @audelabs/formic-client

Peer Dependencies

The client has optional peer dependencies depending on your framework:

Astro

npm install astro

Next.js

npm install next

Remix

npm install @remix-run/node @remix-run/react

TypeScript

This package is written in TypeScript and includes type definitions out of the box. No additional @types packages are required.

Framework-Specific Setup

Astro

The adapter is included automatically. Just import and use:

// src/pages/api/submit.ts
import { handleFormicRequest } from '@audelabs/formic-client/adapters/astro';

export const POST = handleFormicRequest({
  apiKey: import.meta.env.FORMIC_API_KEY,
  slug: 'my-form'
});

Next.js (App Router)

// app/api/submit/route.ts
import { handleFormicRequest } from '@audelabs/formic-client/adapters/next';

export const POST = handleFormicRequest({
  apiKey: process.env.FORMIC_API_KEY!,
  slug: 'my-form'
}).POST;

Next.js (Pages Router)

// pages/api/submit.ts
import { handleFormicRequest } from '@audelabs/formic-client/adapters/next';

export default handleFormicRequest({
  apiKey: process.env.FORMIC_API_KEY!,
  slug: 'my-form'
});

Remix

// app/routes/submit.tsx
import { handleFormicRequest } from '@audelabs/formic-client/adapters/remix';

export const action = handleFormicRequest({
  apiKey: process.env.FORMIC_API_KEY!,
  slug: 'my-form'
});

Environment Variables

Make sure to set your Formic API key in your application environment:

FORMIC_API_KEY=your-api-key-here

You can get your API key from the Formic dashboard.