Lacspace
Developer Platform

scroll

197 zero-dependency, isomorphic TypeScript packages — the standard library your backend and frontend keep re-inventing — plus a CLI that scaffolds a finished Next.js app, and the docs to build with all of it.

Terminal — one command
$ 
✔ Created my-app — Next.js 15, SEO wired, zero deps
✔ Ready in 0.12s → cd my-app && npm run dev
0packages
0runtime deps
ESM+CJSdual output
0templates
0%TypeScript
Freelicence
Everything developer, in one place

The platform

Documentation, packages, the handbook, scaffolding and live apps — the surfaces you need to go from install to production.

npm Packages

All 197 zero-dependency packages — grouped by kit, with versions and one-line docs.

Browse packages

Documentation

Per-package guides, the concepts, and a downloadable PDF handbook.

Read the docs

Developer Handbook

Install, use, upgrade, scaffold and ship — the end-to-end guide to the ecosystem.

Open handbook

Scaffold an App

create-lacspace-app writes a finished Next.js app in ~0.12s — 9 templates, SEO wired.

Scaffold now

Deployed Apps

Eight finished templates, live and clickable — see exactly what one command produces.

Open templates

Integrations

Drop the packages into Next.js, Node, edge runtimes, React — isomorphic by design.

See integrations

Compare Packages

How @lacspace stacks up against the usual dependencies — zod, dinero, jsonwebtoken and more.

Compare

Live Playground

Run packages in your browser — slugify, money, case, humanize, color and id, live.

Open playground
The API

Small, typed, boring in the best way

Real snippets — pick a task and see how little code it takes.

login.ts
import { verify, hash } from "@lacspace/password";
import { sign } from "@lacspace/jwt";

const ok = user && (await verify(password, user.passwordHash));
if (!ok) throw new Error("Invalid credentials");

return sign({ sub: user.id, role: user.role }, process.env.JWT_SECRET!, {
  expiresIn: 3600, issuer: "lacspace",
});
The ecosystem

A standard library for the modern web

26 kits, 197 packages, zero runtime dependencies. Import only what you use — every package is isomorphic and tree-shakeable.

Newsroom Kit

Run an AI newsroom on free keys — triage, ground, check and moderate deterministically, so the model only writes.

  • @lacspace/triagePick which stories to write before spending a single AI token
  • @lacspace/factcheck-liteEvery number, date and name in a draft must appear in the sources
  • @lacspace/datanewsBilingual stories straight from data — gold, forex, NEPSE, weather, fuel
  • @lacspace/sensitivityZero-AI first pass for the sensitive-story gate, en + ne
  • @lacspace/commentguardComment moderation — abuse, threats, personal data, spam

Creative Kit

Turn a story into posts and short video locally — cards, thumbnails, captions, voice and montage.

  • @lacspace/montageffmpeg video timelines — cuts, Ken Burns, overlays
  • @lacspace/newscardBranded image posts and table cards rendered to PNG
  • @lacspace/captionsyncWord-timed karaoke captions synced to speech
  • @lacspace/ttsText-to-speech with timings mapped back to the text

Automation Kit

Let an AI conduct deterministic tools — platform copy, post formats, quizzes and what to post next.

  • @lacspace/conductorOne command catalogue over every package, with plan validation
  • @lacspace/hookwriterPlatform-fitted hooks, captions and hashtags
  • @lacspace/quizpollQuizzes and polls from an article, no LLM
  • @lacspace/postbanditLearn which post variants actually perform

Nepal Toolkit

Everything a Nepali product needs — calendar, official holidays, names, Preeti and romanised typing.

  • @lacspace/nepali-dateBikram Sambat ⇄ Gregorian, formatting, fiscal years
  • @lacspace/nepal-holidaysOfficial public holidays from the Home Ministry gazette
  • @lacspace/nepali-matchName & keyword matching with postpositions (झापाको → Jhapa)
  • @lacspace/nepali-typingRomanised Nepali → Devanagari with candidates
  • @lacspace/preetiPreeti ⇄ Unicode for legacy Nepali text

Sheets Kit

The engine behind LUMIFORM — a safe formula engine, real Excel read/write and data converters.

  • @lacspace/formula110+ Excel-style functions, no eval, reference metadata
  • @lacspace/xlsxRead & write real .xlsx — formulas, formats, multi-sheet
  • @lacspace/csvRFC 4180 parse / stringify, streaming, typed rows
  • @lacspace/convertJSON ⇄ Excel ⇄ CSV ⇄ YAML ⇄ SQL ⇄ Markdown, one call

Core Runtime Kit

The foundational primitives every app reaches for — logging, typed errors, events, concurrency, scheduling, state.

  • @lacspace/loggerStructured leveled logging with redaction & transports
  • @lacspace/resultTyped error handling — Result / Option, no throwing
  • @lacspace/eventsFully type-safe emitter / pub-sub, errors isolated
  • @lacspace/queueAsync task queue with a concurrency limit & priority
  • @lacspace/schedulerIn-process job runner — interval, cron & one-shot

Security Kit

Auth, crypto, and hardening — all over Web Crypto, never hand-rolled.

  • @lacspace/cryptoAES-256-GCM, PBKDF2, HMAC over Web Crypto
  • @lacspace/passwordPBKDF2 hashing with a portable PHC string
  • @lacspace/jwtHS256/384/512 with strict expiry/issuer checks
  • @lacspace/webauthnPasskeys / FaceID / fingerprint ceremonies
  • @lacspace/otpTOTP & HOTP, Google Authenticator compatible

SEO Kit

Configure once with defineSite() → metadata, JSON-LD, sitemap, robots, feeds.

  • @lacspace/seoTyped metadata + schema.org JSON-LD builders
  • @lacspace/sitemapsitemap.xml, indexes, Next.js sitemaps
  • @lacspace/robotsrobots.txt with AI-crawler block presets
  • @lacspace/ogDynamic Open Graph share-card images
  • @lacspace/rssRSS 2.0, Atom & JSON Feed from one source

React Kit

SSR-safe hooks, state, data fetching and theming — zero-dependency, tiny.

  • @lacspace/hooks28 essential SSR-safe hooks
  • @lacspace/storeGlobal state in ~1KB, no provider
  • @lacspace/queryData fetching with a shared cache (SWR-lite)
  • @lacspace/themeSSR-safe dark / light / system theme
  • @lacspace/hotkeysCombos, sequences and scopes

App Kit

The pieces every app repeats — validation, forms, money, IDs, dates.

  • @lacspace/validateTyped schema validator with zod ergonomics
  • @lacspace/formFormData → typed, validated data + honeypot
  • @lacspace/moneyInteger minor units — no floating-point bugs
  • @lacspace/idUUID v4 / v7, Nano-ID-style, short codes
  • @lacspace/markdownSafe Markdown → HTML with GFM

Backend Kit

Server plumbing without the servers — signed URLs, PDFs, webhooks.

  • @lacspace/signed-urlHMAC-signed, expiring URLs & magic links
  • @lacspace/pdfReal PDFs — invoices, receipts — zero deps
  • @lacspace/webhooksSign, deliver & verify webhooks both ways
  • @lacspace/idempotencyExactly-once with an idempotency key
  • @lacspace/envTyped, validated environment variables

Mail Kit

Send, read, parse and safely render email — SMTP, IMAP, MIME and a webmail-grade sanitizer, no third-party SDK.

  • @lacspace/mailerZero-dependency SMTP client over net/tls
  • @lacspace/imapIMAP client — folders, search, streaming fetch, IDLE
  • @lacspace/mimeParse and build MIME messages, BODYSTRUCTURE helpers
  • @lacspace/mail-sanitizeSafe email-HTML rendering, image blocking, trackers
  • @lacspace/dkimDKIM sign + verify (RSA, Ed25519), key + DNS record

StockKit

Everything a trading app needs — indicators, market math, a paper engine.

  • @lacspace/indicatorsStreaming RSI, MACD, EMA, Bollinger, ATR…
  • @lacspace/marketP&L, returns, CAGR, XIRR, tick rounding
  • @lacspace/market-clockHoliday-aware NSE/BSE trading clock
  • @lacspace/paper-tradeHeadless paper-trading engine
  • @lacspace/nepse-ipoNepal IPO parsers: open issues, SEBON pipeline, NPT dates

Core & Data

The SDK, the HTTP client, analytics, and spreadsheet I/O.

  • @lacspace/sdkHigh-level TypeScript SDK for Lacspace
  • @lacspace/apiIsomorphic, zero-dependency HTTP client
  • @lacspace/authLogin, register, token, refresh flows
  • @lacspace/analytics-liteCookieless, privacy-first web analytics
  • @lacspace/xlsxRead & write real .xlsx — zero dependencies

Commerce & Ledger

Everything a multi-vendor marketplace repeats — carts, stock, commission, money that never loses a paisa.

  • @lacspace/cartHeadless cart — lines, quantities, totals
  • @lacspace/inventoryReserve & commit stock — throws before oversell
  • @lacspace/commissionFlat / percent / tiered take-rate + exact splits
  • @lacspace/settlementNet, reconcile & list multi-party payouts
  • @lacspace/couponPercent / fixed / free-shipping with caps & limits

Nepal Payments

Server-verified Nepali gateways — signatures, redirects and idempotent callbacks against the authoritative order amount.

  • @lacspace/esewaeSewa ePay v2 — HMAC-SHA256 sign & verify
  • @lacspace/khaltiKhalti KPG-2 — initiate & server-side lookup
  • @lacspace/connectipsConnect IPS — RSA-signed redirect token
  • @lacspace/fonepayFonepay Request-To-Pay — HMAC-SHA512 DV

UI Kit

143 dependency-free React components across four packages — every colour, radius and control height a --lac-* CSS variable.

  • @lacspace/components96 components — buttons, inputs, modals, tabs, toasts
  • @lacspace/charts19 real-SVG charts — no canvas, no D3
  • @lacspace/table17 data-table parts + a pure, testable engine
  • @lacspace/date11 calendar / date / time pickers, no date library

Global Data Kit

Build for the whole world — countries, currencies, IBANs, tax ids, phone numbers and postal codes, verified against ISO and ICU.

  • @lacspace/countryISO 3166-1 codes, names + aliases, calling codes, flags
  • @lacspace/currencyISO 4217 codes, minor units, symbols, formatting
  • @lacspace/ibanIBAN validate/parse/format (MOD 97) + BIC + ISIN
  • @lacspace/tax-idEU VAT, GSTIN, ABN, EIN, CPF/CNPJ… with real checksums
  • @lacspace/phoneE.164 parse, validate & format, country detection

AI Kit

Provider-agnostic, keyless LLM building blocks — chat, streaming, prompts, tokens, chunking and tool schemas.

  • @lacspace/aiOne chat client for any OpenAI-compatible, Ollama or Google endpoint
  • @lacspace/streamSSE / NDJSON token streams, parsed and back-pressured
  • @lacspace/promptTyped prompt templates, few-shot and versioning
  • @lacspace/tokenizerOffline token counting & budget trimming
  • @lacspace/chunkSemantic & recursive text splitters for RAG

AI App Kit

Composable RAG, agents, evals and safety — every model, store and splitter is an injectable interface.

  • @lacspace/embeddingsKeyless embeddings client + pure vector math
  • @lacspace/vectorIn-memory vector store — k-NN, filters, JSON persistence
  • @lacspace/ragIndex, retrieve and assemble prompt context
  • @lacspace/agentTool-calling / ReAct loop with an observable trace
  • @lacspace/evalScore LLM outputs — deterministic + LLM-as-judge

LLM Efficiency Kit

Make a free-tier AI key go far — feed the model a condensed digest and screen out the calls it never needed.

  • @lacspace/condenseExtractive multi-source condenser — dedupe, keep numbers/quotes, token budget
  • @lacspace/screenLexical clear/review/block gate — only ambiguous text reaches the LLM

Web Engagement Kit

Push, PWA, toasts, CAPTCHA, realtime and consent — no vendor, no keys.

  • @lacspace/web-pushWeb Push over pure Web Crypto — no Firebase
  • @lacspace/pwaService worker + manifest generator, install prompt
  • @lacspace/notifyIn-app toasts — store, vanilla renderer, React binding
  • @lacspace/captchaKeyless proof-of-work CAPTCHA with a drop-in widget
  • @lacspace/sseServer-Sent Events hub + browser client + useSSE

Dates & Time Kit

Date math, ISO-8601 durations, IANA timezones via Intl and time-range algebra — no bundled tz data.

  • @lacspace/datetimeImmutable date math, token format/parse, diff
  • @lacspace/durationISO-8601 durations — parse, normalise, arithmetic
  • @lacspace/timezoneIANA offsets & zoned ⇄ UTC, DST-aware
  • @lacspace/intervalTime ranges, merge/free-busy, business-day math

Testing Kit

Runner-agnostic testing primitives — assertions, spies, fixtures and snapshots that work in any runner.

  • @lacspace/expectChainable assertions with readable diffs
  • @lacspace/spySpies, stubs and fake timers
  • @lacspace/fixturesTyped factories and per-test fixture lifecycles
  • @lacspace/snapshotSerialised snapshots with stable formatting

Media Kit

Generate real logos and images without AI, and use the official Lacspace brand.

  • @lacspace/logoNo-AI logo generator — name + keywords → on-brand SVG
  • @lacspace/imageGradients, patterns and mesh to PNG/JPEG/WebP on a size budget
  • @lacspace/brandThe official Lacspace mark, colours & animations
  • @lacspace/ogOpen Graph / social card generator for next/og and the edge
Why it's different

A standard library that respects your app

The same four rules hold across all 197 packages.

Zero runtime dependencies

No transitive supply chain to audit. npm view returns an empty dependency object — the only deps are other @lacspace packages.

Isomorphic by design

One build runs in Node, the browser and edge runtimes. Cryptography uses Web Crypto, never a hand-rolled reimplementation.

Typed, dual ESM + CJS

Built with tsup — import and require both work, each with full .d.ts types. TypeScript strict, everywhere.

Free & permissively licensed

Everything is free under the Lacspace Free Licence. Use it in personal and commercial projects at no cost.

Developer favourites

Start with the popular ones

The packages developers reach for first — one npm install away.

From zero to shipped

One command. A finished app.

create-lacspace-app scaffolds a real Next.js 15 + React 19 + Tailwind v4 app — every page filled, SEO and security headers wired, a 26-component UI kit included — in about 0.12 seconds. Then it's a normal app you own.

--template saasSEO wiredOG imagessecurity headerssitemap + robots⌘K palette
terminal
# install a package
npm i @lacspace/validate @lacspace/money

# or scaffold a whole app
npm create lacspace-app@latest my-app -- --template saas
cd my-app && npm run dev
Start building

Batteries included, dependencies excluded

Everything here is free under the Lacspace Free Licence. Pick a package, read a guide, or scaffold an app — you're one command from shipping.