Skip to content

Latest commit

 

History

History
154 lines (107 loc) · 7.2 KB

File metadata and controls

154 lines (107 loc) · 7.2 KB

Systemix

Systemix is a modular, high-performance toolkit for building secure and scalable JavaScript and TypeScript systems. It provides typed env loading, cryptographically secure password, passphrase, and token generators, plus shareable ESLint, TypeScript, and test runner configs — a lightweight "standard library" for modern Node.js and web projects.

License: MIT pnpm Turbo Docs

Contribution Matrix

Packages

Published to npm and GitHub Packages:

@systemix/env @systemix/password @systemix/passphrase @systemix/token @systemix/eslint @systemix/typescript @systemix/runner

Links: npm org · npm profile


⚡ Quick Start

pnpm add @systemix/env @systemix/password @systemix/passphrase @systemix/token
import { load } from '@systemix/env';
import { generatePassword } from '@systemix/password';
import { generatePassphrase } from '@systemix/passphrase';
import { generateToken } from '@systemix/token';

// Typed env vars
const env = load({ PORT: { type: 'number', default: 3000 } });

// Secure random password
console.log(generatePassword({ length: 16, useSymbols: true }));
// → "Z#kM@4p*J!h2X&b7"

// Memorable passphrase
console.log(generatePassphrase({ wordCount: 4 }));
// → "apple orange banana kiwi"

// API key / session token
console.log(generateToken({ byteLength: 32, charset: 'hex' }));
// → "a1b2c3d4e5f6..."

Live demos


📦 Packages

Package Description
@systemix/env · npm Typed environment variable loading and validation with .env file support.
@systemix/password · npm Cryptographically secure password generator with character guarantees and entropy tools.
@systemix/passphrase · npm Human-readable passphrase generator with formatting and entropy tools.
@systemix/token · npm Secure token generator (hex, base64, base64url) and signed-token module.
@systemix/eslint · npm ESLint v10 flat configs for JS, TS, React, Express, and Next.js.
@systemix/typescript · npm Base TypeScript configs for various environments.
@systemix/runner · npm Minimal test runner with assert, assertThrows, createRunner, runSuites.

Installation

# Utilities (env, password, passphrase, token generators)
pnpm add @systemix/env @systemix/password @systemix/passphrase @systemix/token

# Configs (ESLint flat config, TypeScript tsconfig, test runner)
pnpm add -D @systemix/eslint @systemix/typescript @systemix/runner

With npm:

npm install @systemix/env @systemix/password @systemix/passphrase @systemix/token
npm install -D @systemix/eslint @systemix/typescript @systemix/runner

From GitHub Packages (add to .npmrc: @shahadathhs:registry=https://npm.pkg.github.com):

pnpm add @shahadathhs/env @shahadathhs/password @shahadathhs/passphrase @shahadathhs/token
pnpm add -D @shahadathhs/eslint @shahadathhs/typescript @shahadathhs/runner

Recommendation: Use npm (@systemix/*) — no extra config.


🚀 Vision

In an era where security and performance are paramount, Systemix aims to provide developers with a "standard library" of tools that are:

  • Modular: Only use what you need.
  • Secure: Built on top of robust cryptographic primitives.
  • Scalable: Designed for both small projects and large-scale monorepos.
  • Developer-First: Comprehensive types, flat configurations, and seamless DX.

✨ Key Features

  • Standardized Linting: Pre-configured ESLint rules matching modern best practices.
  • Cryptographic Security: Utilities utilize Node.js crypto for high-entropy randomization.
  • Turbo-Powered: Build and test workflows optimized with Turbo for maximum speed.
  • TypeScript Native: Full type safety and intelligent IDE support out of the box.

🛠 Tech Stack


🤝 Contributing

We welcome contributions! Whether it's reporting a bug, suggesting a feature, or submitting a pull request, your help is appreciated.

  1. Clone the repo: git clone https://github.com/shahadathhs/systemix.git
  2. Install dependencies: pnpm install
  3. Build the project: pnpm build
  4. Run checks: pnpm ci:check

📄 License

Distributed under the MIT License. See LICENSE for more information.


Built with ❤️ by @shahadathhs · npm · @systemix