npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@pas7/llm-seo

v0.4.0

Published

Deterministic LLM SEO artifacts generation and validation for modern static sites

Downloads

52

Readme

@pas7/llm-seo

CI npm version npm downloads License: MIT

Deterministic LLM SEO artifacts generator & validator for modern static sites (Next.js/SSG-ready).

Value Proposition

One config in, deterministic artifacts out:

  • generate llms.txt and llms-full.txt
  • build canonical URLs from manifest items
  • support mixed routing per manifest section (prefix, suffix, locale-segment, custom)
  • lint policy constraints (restricted claims, duplicates, empty sections)
  • check generated files in CI with explicit exit codes

Install

pnpm add @pas7/llm-seo

Quick Start

// llm-seo.config.ts
import type { LlmsSeoConfig } from '@pas7/llm-seo';

export default {
  site: {
    baseUrl: 'https://example.com',
    defaultLocale: 'en',
  },
  brand: {
    name: 'Pas7 Studio',
    tagline: 'Automation and SEO infra for modern products',
    description: 'Deterministic LLM/GEO SEO artifacts for static and hybrid sites.',
    locales: ['en', 'uk'],
  },
  sections: {
    hubs: ['/services', '/blog', '/projects', '/cases', '/contact'],
  },
  manifests: {
    blog: {
      sectionPath: '/blog',
      routeStyle: 'locale-segment',
      items: [
        { slug: '/llm-seo-basics', locales: ['en', 'uk'] },
        { slug: '/canonical-strategy', locales: ['en'] },
      ],
    },
    contactPages: {
      routeStyle: 'suffix',
      items: [{ slug: '/contact', locales: ['en', 'uk'] }],
    },
  },
  contact: {
    email: '[email protected]',
  },
  policy: {
    citationRules: 'Prefer canonical URLs. Avoid query params and tracking tags.',
    restrictedClaims: {
      enable: true,
      forbidden: ['best', '#1', 'guaranteed'],
      whitelist: ['best practices'],
    },
  },
  output: {
    paths: {
      llmsTxt: 'public/llms.txt',
      llmsFullTxt: 'public/llms-full.txt',
      citations: 'public/citations.json',
    },
  },
  format: {
    trailingSlash: 'never',
    lineEndings: 'lf',
    localeStrategy: 'prefix',
  },
} satisfies LlmsSeoConfig;
pnpm llm-seo generate --config llm-seo.config.ts
pnpm llm-seo check --config llm-seo.config.ts --check-live --emit-report .artifacts/llm-seo-report.json --fail-on error
pnpm llm-seo doctor --site https://example.com

CLI

llm-seo generate

llm-seo generate [options]

Options:
  -c, --config <path>   Path to config file
  --dry-run             Print output to stdout, do not write files
  --emit-citations      Emit citations.json
  -v, --verbose         Verbose logs

llm-seo check

llm-seo check [options]

Options:
  -c, --config <path>   Path to config file
  --fail-on <level>     fail threshold: warn|error (default: error)
  --check-live          Live-check machine hint URLs over HTTP
  --timeout-ms <ms>     HTTP timeout per live check request
  --retries <count>     Retry count for failed live checks
  --emit-report <path>  Write JSON report
  -v, --verbose         Verbose logs

llm-seo doctor

llm-seo doctor [options]

Options:
  -s, --site <url>      Site URL to check
  -c, --config <path>   Path to config file
  -v, --verbose         Verbose logs

Exit Codes

  • 0 OK
  • 1 warnings (only when --fail-on warn)
  • 2 errors
  • 3 doctor network/availability failure

API (Core)

import {
  createLlmsTxt,
  createLlmsFullTxt,
  createCanonicalUrlsFromManifest,
  createCitationsJson,
  checkGeneratedFiles,
} from '@pas7/llm-seo';

Docs

Next.js

Use helpers from @pas7/llm-seo/adapters/next to normalize manifest items and build scripts. See examples/next-static-export. For hybrid section routing, use:

  • createSectionManifest(...)
  • fromManifestArray(...)
  • fromRouteManifest(...)
  • applySectionCanonicalOverrides(...) Works with @pas7/nextjs-sitemap-hreflang in one build pipeline:
llm-seo generate --config llm-seo.config.ts
next build
nextjs-sitemap-hreflang check --fail-on-missing --prefer out
llm-seo check --config llm-seo.config.ts --check-live --emit-report .artifacts/llm-seo-report.json

Hybrid routing example:

Recommended Pipeline

llm-seo generate --config llm-seo.config.ts
next build
nextjs-sitemap-hreflang check --fail-on-missing --prefer out
llm-seo check --config llm-seo.config.ts --check-live --emit-report .artifacts/llm-seo-report.json

JSON Report Contract

--emit-report outputs a stable JSON contract:

  • status: ok | warn | error
  • issues: normalized check issues
  • summary: counts and file stats
  • files: output file paths
  • canonical: canonical URL summary (total, urls)

Contributing and Security

Support

Need custom SEO automation infra? Contact PAS7 Studio:

  • https://pas7.com.ua/
  • https://pas7.com.ua/contact

License

MIT