SEO is death by a thousand tags. A title here, a canonical there, Open Graph on every page, JSON-LD you copy-paste and forget to update, a robots file, a sitemap, and now llms.txt for the AI crawlers. Miss one and you leak ranking. The Lacspace SEO Kit replaces all of that with a single source of truth.

Configure once. Ship every signal.
At the centre is @lacspace/seo and its autopilot, defineSite(). You describe your site one time — name, URL, defaults — and the Kit generates everything downstream from that config.

The seven packages
- @lacspace/seo — metadata, JSON-LD, and the defineSite() autopilot engine.
- @lacspace/sitemap — a correct sitemap.xml from your routes.
- @lacspace/robots — robots.txt from rules, not guesswork.
- @lacspace/llms-txt — the file AI crawlers read.
- @lacspace/rss — RSS / Atom / JSON feeds.
- @lacspace/site-verify — search-console verification tags.
- @lacspace/slugify — clean, stable URL slugs.
Built for the Next.js App Router
import { defineSite } from '@lacspace/seo';
export const site = defineSite({ name: 'Acme', url: 'https://acme.com' });
// app/layout.tsx
export const generateMetadata = site.metadata;
// app/robots.ts → site.robots
// app/sitemap.ts → site.sitemap
Because it’s isomorphic and zero-dependency, the same config works outside Next.js too — and nothing third-party rides along.
Don’t forget the AI crawlers
Search is no longer just Google. AI answer engines decide what to cite by reading files like llms.txt. The SEO Kit generates it next to your robots and sitemap, so you’re legible to classic search and AI — the same reason lacspace.com ships its own /llms.txt.
Enforce it in CI
SEO rots quietly. The Kit ships a crawl gate you can drop into CI:
crawl https://acme.com --min-grade A
It audits your pages and fails the build if the grade slips — so a stray missing title never reaches production.
Get started
Browse the SEO Kit at lacspace.com/packages, read the API at lacspace.com/docs, or get it for free inside a new project with create-lacspace-app — every generated app is already wired with defineSite().
Frequently asked questions
What is the Lacspace SEO Kit?
Seven zero-dependency packages that generate every file and tag search engines and AI crawlers look for — @lacspace/seo (metadata + JSON-LD + an autopilot engine), sitemap, robots, llms-txt, site-verify, rss and slugify. Configure your site once and the Kit produces the rest.
What is defineSite()?
The autopilot at the heart of @lacspace/seo. You describe your site once — name, URL, defaults — and defineSite() drives your page metadata, canonical URLs, Open Graph and Twitter cards, JSON-LD structured data, robots.txt, sitemap.xml, RSS/JSON feeds and llms.txt from that single config. No repeating tags on every page.
Does it work with Next.js?
Yes — it is built for the Next.js App Router. defineSite() plugs into generateMetadata and the metadata routes (robots.ts, sitemap.ts), and it is isomorphic so it also works outside Next.js.
What is llms.txt and why does it matter?
llms.txt is an emerging standard that tells AI crawlers (the ones behind AI answers) what your site is and what to read. The SEO Kit generates it alongside robots.txt and your sitemap, so you are legible to both classic search and AI answer engines.
Is there a way to enforce SEO in CI?
Yes — the Kit ships a crawl command you can run in CI (for example `crawl
Is it free?
The SEO Kit packages are under the Lacspace Free Licence (MIT-equivalent). Install what you need from lacspace.com/packages and read the API at lacspace.com/docs.








