Skip to content

Packages

The guide is organised by subject rather than by package, so this page is the bridge: it is how you get from a package name you already have — in an error message, in a package.json, in somebody else’s import — to the pages that explain it.

Install any of them with your package manager of choice; every name below is published under the @ac-kit scope.

Portable packages import no host built-ins and run under Node, browsers, Deno, Bun and edge runtimes alike. Node only packages are bound to a host, and a portable package will never depend on one.

Language utilities

The operations on strings, numbers, iterables and objects that the standard library leaves out.

packageruns onwhat it is for
@ac-kit/coreAnywhereGuards, type helpers, iterables, strings, numbers, objects, time and bytes

Collections & algorithms

Data structures with predictable costs, and the algorithms that work over any shape rather than one structure.

packageruns onwhat it is for
@ac-kit/algoAnywhereSearch, traversal, selection, grouping and set operations over any shape
@ac-kit/dataAnywhereLists, deques, queues, heaps, sets, maps, graphs, tries and indexes

Concurrency & async

Coordinating work that overlaps in time: locks, channels, events and cancellation.

packageruns onwhat it is for
@ac-kit/asyncAnywhereEvents, mutexes, semaphores, barriers, latches, signals and channels

Mathematics

Numbers and the things done with them — from what floating point actually guarantees to special functions and numerical calculus.

packageruns onwhat it is for
@ac-kit/math-algebraAnywhereAlgebraic structures as evidence values, and the algorithms they unlock
@ac-kit/math-analysisAnywhereSpecial functions, root finding, quadrature and continued fractions
@ac-kit/math-colorAnywhereColour spaces, conversions, gamut mapping and perceptual difference
@ac-kit/math-combinatoricsAnywhereFactorials, binomial coefficients and permutation or subset generation
@ac-kit/math-complexAnywhereComplex numbers as a tuple, with their arithmetic
@ac-kit/math-curvesAnywhereBézier curves, splines, arc length and curve fitting
@ac-kit/math-geometryAnywhereShapes, coordinate systems, angles and meshes in 2D, 3D and 4D
@ac-kit/math-gridAnywhereDiscrete lattices: storage, packing, tiling and pixel conversion
@ac-kit/math-integerAnywhereBit manipulation, GCD, modular arithmetic and primality
@ac-kit/math-linearAnywhereFixed-dimension vectors, matrices and rotations
@ac-kit/math-numbersAnywhereThe number tower: arbitrary-precision integers, decimals and fractions
@ac-kit/math-randomAnywhereFast, seedable, non-cryptographic pseudorandom generators
@ac-kit/math-scalarAnywhereWhat binary64 actually guarantees: error-free transforms and tolerances
@ac-kit/math-signalAnywhereTransforms, convolution, filters and windows
@ac-kit/math-statsAnywhereDescriptive statistics, distributions, inference and regression

Data formats

Reading and writing the file and wire formats other people's software produces.

packageruns onwhat it is for
@ac-kit/format-ansiAnywhereANSI and xterm escape sequences: parsing, stripping, colour and hyperlinks
@ac-kit/format-asn1AnywhereX.690 BER, CER, DER and PER encoding with schema-bound codecs
@ac-kit/format-asn1-compilerAnywhereTurning X.680 notation into runtime ASN.1 schemas
@ac-kit/format-asn1-notationAnywhereX.680 ASN.1 notation: syntax tree, parser and printer
@ac-kit/format-cborAnywhereConcise Binary Object Representation encoding and decoding
@ac-kit/format-coreAnywhereThe Decoder, Encoder, Codec and streaming contracts every format shares
@ac-kit/format-cronAnywhereCron expression parsing and next-occurrence computation
@ac-kit/format-css-colorAnywhereCSS Color 4 parsing, printing, resolution and the 148 keywords
@ac-kit/format-csvAnywhereRFC 4180 rows and streams, plus rendering a DataFrame as CSV
@ac-kit/format-editorconfigAnywhereEditorConfig parsing, property resolution and text normalization
@ac-kit/format-globAnywhereGlob syntax tree, parser, printer and matcher, with selectable dialects and a segment-oriented path face
@ac-kit/format-hidAnywhereUSB HID report descriptors: items, reports, fields and bit-level values
@ac-kit/format-httpAnywhereRFC 9110 field grammar, HTTP/1.1 message codecs, and the HTTP/2 frame codec with HPACK
@ac-kit/format-iniAnywhereOrder-preserving INI tree with span-targeted editing
@ac-kit/format-jsonAnywhereJSON parsing and serialization
@ac-kit/format-json5AnywhereJSON5 parsing and serialization
@ac-kit/format-jsoncAnywhereJSON-with-comments parsing and serialization
@ac-kit/format-language-tagAnywhereBCP 47 tag parsing and printing, with RFC 4647 lookup and filtering
@ac-kit/format-markdownAnywhereGitHub Flavored Markdown rendering
@ac-kit/format-midiAnywhereMIDI 1.0 messages over a live byte stream, Standard MIDI Files, notes and lyrics with their times, and conversion to a Song
@ac-kit/format-monospaceAnywhereFixed-width layout: tables, grapheme-aware widths, truncation, spinners
@ac-kit/format-ndjsonAnywhereNewline-delimited JSON parsing and serialization
@ac-kit/format-netstringAnywhereNetstring framing as a zero-copy codec and a TransformStream
@ac-kit/format-oidAnywhereObject identifiers and their registry
@ac-kit/format-oscAnywhereOpen Sound Control packets, NTP time tags, and datagram and stream framing codecs
@ac-kit/format-poAnywhereGNU gettext PO and POT parsing, printing and Plural-Forms evaluation
@ac-kit/format-regexAnywhereRegular expression syntax tree and a Pike virtual machine
@ac-kit/format-shellAnywhereShell command-line quoting and environment variable syntax
@ac-kit/format-tomlAnywhereTOML parsing and serialization
@ac-kit/format-varintAnywhereBase-128 variable-length integers, in number and bigint
@ac-kit/format-websocketAnywhereWebSocket frames with streamed payloads, masking, and close codes
@ac-kit/format-yamlAnywhereYAML parsing and serialization

Cryptography

Hashing, authentication and randomness, plus the non-cryptographic hashes that must never be confused with them.

packageruns onwhat it is for
@ac-kit/crypto-hashAnywhereMD5, SHA-1, SHA-2, SHA-3/SHAKE, BLAKE2, RIPEMD-160 and SM3
@ac-kit/crypto-macAnywhereHMAC, CMAC, GMAC and Poly1305 message authentication
@ac-kit/crypto-randomAnywhereCryptographically secure random bytes and deterministic DRBGs
@ac-kit/crypto-safeAnywhereConstant-time comparison, selection and arithmetic
@ac-kit/noncrypto-hashAnywhereFast hashes, checksums and rolling hashes — never for security

Networking & protocols

Protocol clients written against a transport boundary, so the same client runs over TCP, TLS or a test double.

packageruns onwhat it is for
@ac-kit/net-addressAnywhereIPv4, IPv6, MAC/EUI and ports: parsing, CIDR arithmetic, scopes
@ac-kit/net-coreAnywhereThe Transport boundary every protocol is written against, listener and connector types, and the multiplexed connection contract
@ac-kit/net-httpAnywhereHTTP/1.1, HTTP/2 and HTTP/3 server and pooling client over any transport, version-neutral message types
@ac-kit/net-imapAnywhereIMAP client over any transport
@ac-kit/net-oscAnywhereOpen Sound Control endpoint over any transport, and OSC URLs
@ac-kit/net-pop3AnywherePOP3 client over any transport
@ac-kit/net-quicNode onlyQUIC listener and connector over a native quiche binding, yielding multiplexed connections
@ac-kit/net-smtpAnywhereSMTP and LMTP clients over any transport
@ac-kit/net-socketmapAnywherePostfix socketmap protocol client and server
@ac-kit/net-transport-nodeNode onlyTransports, a TCP and TLS listener and connector with ALPN, on Node sockets
@ac-kit/net-websocketAnywhereWebSocket peer and opening handshake over any transport

Node.js integration

The host-bound layer: processes, files, sockets and everything that only exists under Node.

packageruns onwhat it is for
@ac-kit/nodeNode onlyNode built-in extensions: processes, files, streams and sockets

Application building blocks

Configuration, logging, reporting, terminal output and translation, for programs rather than libraries.

packageruns onwhat it is for
@ac-kit/app-configNode onlyLocating, reading and resolving configuration files
@ac-kit/app-i18nAnywhereMessage catalogues, plural selection and locale negotiation
@ac-kit/app-loggerNode onlyStructured logging over the shared report pipeline
@ac-kit/app-reportAnywhereThe event pipeline logging and reporting both build on
@ac-kit/app-systemNode onlyProcess lifecycle, PID files, binary lookup and log rotation
@ac-kit/app-terminalAnywhereTerminal capability description, styling, glyphs and live regions

External programs

Typed wrappers over command-line programs installed separately, such as git and docker.

packageruns onwhat it is for
@ac-kit/cmd-dockerNode onlyTyped invocation of the docker command-line program
@ac-kit/cmd-gitNode onlyTyped invocation of the git command-line program

Data modelling

Descriptions of data and of charts, kept separate from anything that stores or draws them.

packageruns onwhat it is for
@ac-kit/model-chartAnywherePlotSpec: what a chart is, with nothing that draws one
@ac-kit/model-datasetAnywhereDataFrame and its schema: fields, units and number formatting
@ac-kit/model-musicAnywhereSong: notes timed in divisions and seconds, parts, tempo map, meter, measures and dynamics

Project tooling

Shared build, lint and test configuration, and the fixtures test suites read from. Of interest to contributors, not to callers.

packageruns onwhat it is for
@ac-kit/biome-configAnywhereShared Biome configuration
@ac-kit/fixture-cryptoNode onlyNIST CAVP, Wycheproof and RFC known-answer vectors, for tests only
@ac-kit/fixture-utilNode onlyAcquiring and caching the fixture corpora test suites read
@ac-kit/fixture-x509Node onlyPKITS, OpenSSL and BouncyCastle certificate corpora, for tests only
@ac-kit/integration-test-utilNode onlySubprocess and container helpers for integration suites
@ac-kit/markdownlint-cli2-configAnywhereShared markdownlint-cli2 configuration
@ac-kit/markdownlint-configAnywhereShared markdownlint rule set
@ac-kit/oxlint-configAnywhereShared oxlint and oxfmt configuration
@ac-kit/test-utilAnywhereAssertions and generators shared across test suites
@ac-kit/tsconfigAnywhereThe tsconfig bases every package extends
@ac-kit/typedoc-configAnywhereShared TypeDoc configuration
@ac-kit/vitest-configAnywhereShared Vitest project and workspace configuration