Skip to content

Integration Guide

Add Foundry to any JavaScript project in under 5 minutes. This guide covers analytics, feedback, and automatic SDK updates.

Terminal window
pnpm add @saas-maker/sdk
# or: npm install @saas-maker/sdk
  1. Go to app.sassmaker.com and create a project
  2. Copy the project API key (pk_...)
  3. Add it to your environment
.env.local
NEXT_PUBLIC_SAASMAKER_API_KEY=pk_your_key_here
src/lib/saasmaker.ts
import { SaaSMakerClient } from '@saas-maker/sdk';
export const saasmaker = new SaaSMakerClient({
apiKey: process.env.NEXT_PUBLIC_SAASMAKER_API_KEY!,
baseUrl: 'https://api.sassmaker.com',
});
src/components/SaasMakerAnalytics.tsx
'use client';
import { usePathname } from 'next/navigation';
import { useEffect } from 'react';
import { saasmaker } from '@/lib/saasmaker';
export function SaasMakerAnalytics() {
const pathname = usePathname();
useEffect(() => {
saasmaker.analytics.track({ name: 'page_view', url: pathname });
}, [pathname]);
return null;
}

Add to your root layout:

src/app/layout.tsx
import { SaasMakerAnalytics } from '@/components/SaasMakerAnalytics';
export default function RootLayout({ children }) {
return (
<html lang="en">
<body>
<SaasMakerAnalytics />
{children}
</body>
</html>
);
}
.env.local
VITE_SAASMAKER_API_KEY=pk_your_key_here
src/lib/saasmaker.ts
import { SaaSMakerClient } from '@saas-maker/sdk';
export const saasmaker = new SaaSMakerClient({
apiKey: import.meta.env.VITE_SAASMAKER_API_KEY,
baseUrl: 'https://api.sassmaker.com',
});

If you use React Router:

src/components/PageViewTracker.tsx
import { useEffect } from 'react';
import { useLocation } from 'react-router-dom';
import { saasmaker } from '../lib/saasmaker';
export function PageViewTracker() {
const location = useLocation();
useEffect(() => {
saasmaker.analytics.track({ name: 'page_view', url: location.pathname });
}, [location.pathname]);
return null;
}

Add inside your <BrowserRouter>:

<BrowserRouter>
<PageViewTracker />
<Routes>
{/* your routes */}
</Routes>
</BrowserRouter>

If you don’t use a router, track on mount:

useEffect(() => {
saasmaker.analytics.track({ name: 'page_view', url: window.location.pathname });
}, []);

Add this Dependabot config to automatically receive PRs when new SDK versions are released. Dependabot runs for free — it doesn’t count against your GitHub Actions minutes.

.github/dependabot.yml
version: 2
updates:
- package-ecosystem: npm
directory: "/"
schedule:
interval: weekly
day: monday
allow:
- dependency-name: "@saas-maker/sdk"
commit-message:
prefix: "deps"
open-pull-requests-limit: 1

This checks for SDK updates every Monday and opens a PR if a new version is available.

You can also initialize a project via the CLI:

Terminal window
npx @saas-maker/cli login
npx @saas-maker/cli init

This creates a foundry.json file linking your directory to a project. See the CLI docs for more.