Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

55 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

@webiny/stdlib

Opinionated standard library for Webiny. This is an internal package — we make breaking changes freely and do not follow semver for external consumers.

Design

Services are built on a lightweight dependency injection system. Each feature follows the same three-layer pattern: an abstraction (DI token + interface), an implementation (concrete class), and a feature (registers the implementation in the DI container). This keeps code testable and lets different environments (Node.js, browser) swap implementations behind the same interface.

Subpath exports

The package is ESM-only and ships three subpath exports. Because each is a separate entry point, Node.js-specific code is never bundled into a browser build and vice versa — unless you explicitly import the wrong subpath.

Import Environment Description
@webiny/stdlib Any Platform-agnostic utilities
@webiny/stdlib/node Node.js Node.js-specific tools
@webiny/stdlib/browser Browser Browser-specific tools
@webiny/stdlib/mcp Node.js MCP server + agent config

@webiny/stdlib — Common

Feature Description
Result / ResultAsync Typed success/failure values — synchronous and async
BaseError Abstract base class for typed domain errors
Logger / ConsoleLogger / ConsoleLoggerFeature Logging abstraction + console implementation — docs
Cache / MemoryCacheFeature Synchronous key-value cache — docs
AsyncCache / AsyncMemoryCacheFeature Async key-value cache — docs
immutableGet / immutableSet / immutableDelete / mutableSet / mutableDelete Dot-notation get/set/delete on nested objects — docs
toBoolean / isTruthy / isFalsy Semantic boolean coercion — docs
uuid RFC 4122 v4 UUID generator (native + fallback) — docs
mdbid MongoDB-compatible ObjectId generator — docs
generateId / generateAlphaNumericId / generateAlphaLowerCaseId / ... Nanoid-based ID generators with configurable alphabets — docs
Env Typed environment variable access (abstraction) — docs

@webiny/stdlib/node — Node.js

Feature Description
FileTool / FileToolFeature Read, write, copy, remove files — docs
DirectoryTool / DirectoryToolFeature Create, read, remove, copy, glob directories — docs
JsonFileTool / JsonFileToolFeature Read and write JSON files with optional schema validation — docs
PathTool / PathToolFeature node:path wrapper + resolvePackageFile for package-relative paths — docs
PinoLogger / PinoLoggerFeature pino-based Logger implementation — docs
NdJsonReaderTool / NdJsonReaderToolFeature Parse NDJSON from files, streams, or in-memory lines with checkpoint support — docs
ReadStreamFactory / ReadStreamFactoryFeature node:fs read streams with explicit destroy() cleanup — docs
PackageJsonFileTool / PackageJsonFileToolFeature Read, validate, mutate, and write package.json files — docs
HashFolderTool / HashFolderToolFeature Deterministic SHA-256 hash of a folder's contents — docs
ProcessEnvFeature Env implementation backed by process.envdocs
WorkspaceTool / WorkspaceToolFeature Discover workspaces from root package.json (replaces get-yarn-workspaces) — docs

@webiny/stdlib/browser — Browser

Feature Description
LocalStorageCacheFeature Cache implementation backed by window.localStoragedocs
BrowserEnvFeature Env implementation backed by an injected variables object — docs

@webiny/stdlib/mcp — MCP Server

An MCP server that exposes @webiny/stdlib feature documentation as tools for AI agent discovery. Ships a CLI binary (stdlib-mcp) with two commands:

# Start the MCP server (stdio transport)
npx -y @webiny/stdlib stdlib-mcp serve

# Configure an AI agent (Claude Code, Cursor, Cline, Copilot, Windsurf, Kiro, OpenCode)
npx -y @webiny/stdlib stdlib-mcp configure

The server provides two MCP tools: list_stdlib_skills (grouped catalog of all features) and get_stdlib_skill (full documentation for a specific skill). By default it scans skills/ and src/ (or dist/) for README.md and SKILL.md files with YAML front-matter.

Feature Description
McpServer / McpServerFeature MCP server with stdio transport — docs
SkillDiscovery / SkillDiscoveryConfig Scans directories for skill files with front-matter — docs
AgentConfigurator / AgentConfiguratorFeature Interactive CLI to configure AI agents — docs

Versioning

Versioning and publishing are managed by Changesets. The version in package.json is the real published version, bumped automatically when a version PR is merged. To record a version bump, run yarn changeset before opening a PR. There are no major version bumps — breaking changes may land on minor releases.

About

No description, website, or topics provided.

Resources

Security policy

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages