# DegreeSign MIT packages

> Small, production-grade, MIT-licensed npm packages for TypeScript web apps and Node servers, free to use in commercial products.

Every package is typed, keeps dependencies to a minimum and runs the same code on DegreeSign's own production services. There is no CLI to configure, no account and no vendor lock-in.

## Install

```bash
npm install @degreesign/ui
```

Import the typed helpers and call them. The public API of each package is small enough to learn in one sitting.

## Packages

### Frontend and backend

- [@degreesign/ui](https://www.npmjs.com/package/@degreesign/ui): Small essentials for DOM, CAPTCHA and requests. Typed helpers select, show, hide and repeat elements, an on-demand hCaptcha form returns its token, a cached loader adds scripts and stylesheets once, and a fast-request header skips the CORS preflight.
- [@degreesign/utils](https://www.npmjs.com/package/@degreesign/utils): Dependency-free helpers shared by frontend apps and backend servers.
- [@degreesign/analytics](https://www.npmjs.com/package/@degreesign/analytics): Private, server-side web analytics that records pageviews, clicks and in-view events, then rolls up 24-hour, period and comparison stats on your own disk. No cookies and no third parties.
- [@degreesign/storage](https://www.npmjs.com/package/@degreesign/storage): One typed API for localStorage and IndexedDB, with AES-GCM and XOR encrypted modes, key rotation and record migration, in the browser and in Node.
- [@degreesign/ai](https://www.npmjs.com/package/@degreesign/ai): A provider-agnostic client for Grok, DeepSeek and any OpenAI-compatible API, with model discovery, typed JSON extraction, cost tracking and image generation. It replaces @degreesign/grok.
- [@degreesign/chat](https://www.npmjs.com/package/@degreesign/chat): On-device chat for browsers, workers and Node built on a wllama CPU engine, streaming replies, reasoning text and image turns without leaving the device.
- [@degreesign/voice](https://www.npmjs.com/package/@degreesign/voice): Offline speech recognition with the SenseVoice and Whisper families, accepting PCM, blobs, URLs, file paths or the microphone, with a dictation controller for live input.

### Backend

- [@degreesign/server](https://www.npmjs.com/package/@degreesign/server): An instant REST API server on Node's native http module. Declare typed routes and get CORS, JSON parsing, AES and HMAC encryption, TOTP two-factor auth, hCaptcha, API keys, validation and disk caching built in.
- [@degreesign/cache](https://www.npmjs.com/package/@degreesign/cache): Node disk cache with file and folder management, so JSON objects can be saved and read without a database.

### Development

- [@degreesign/webapp](https://www.npmjs.com/package/@degreesign/webapp): A webpack build system for web apps and servers. One config emits a PWA with SEO meta, service worker, sitemap, robots.txt and a hardened .htaccess, or an obfuscated Node bundle ready for pm2. It replaces degreesign and @degreesign/webpack.
- [@degreesign/migrate](https://www.npmjs.com/package/@degreesign/migrate): One-command server migration that moves Apache config, web files, SSL certificates, pm2 apps and global npm packages between Ubuntu or Debian hosts.

## Design principles

- Zero to minimal dependencies, with no surprise transitive updates.
- TypeScript-first, with strict types and clear interfaces on every function.
- One API style across frontend and backend, so learning one package carries over.
- MIT licensed and free in commercial products.
- Plain TypeScript with no proprietary runtime, so removing a package leaves your data and code in place.

Source for every package is public at [github.com/DegreeSign](https://github.com/DegreeSign).
