Stack
The Portability Solution for Your Code! π Powered By Deno and JavaScript.
eserstack is eser's personal software workshop β a foundation layer, developer tools, and product incubator, all built on a single philosophy. The project is written primarily in TypeScript, distributed under the Other license, first published in 2020. Key topics include: acikkaynak, bot, cool, deno, eser-live.
eserstack
<p align="center"> <a href="./"> <img alt="eser stack javascript toolkit" src="./etc/cover.svg" width="849" /> </a> </p>eserstack is eser's personal software workshop β a foundation layer, developer
tools, and product incubator, all built on a single philosophy.
This workshop runs on a shared philosophy (PHILOSOPHY.md)
and a common set of directives that apply across all packages, contributors,
and community channels
(@eserstack/directives).
Why eserstack?
Built for developers who:
- Think in layers β foundation first, tools on top, products last
- Believe in explicit constraints β quality is encoded at the start, not
gated at the end - Want human-in-the-loop AI β tools that think but don't decide
- Build to ship β real products, not perpetual side projects
Packages
Foundation
Stable, minimal, rarely changes. Axioms the rest builds on.
| Package | Description |
|---|---|
| @eserstack/primitives | Result<T,E>, Option<T>, type guards |
| @eserstack/fp | 70+ functional programming combinators |
| @eserstack/di | IoC container, Registry, Scope |
| @eserstack/standards | Cross-runtime, i18n, formatters, logging levels |
| @eserstack/functions | Monadic do-notation, middleware, trigger adapters |
| @eserstack/events | Event bus, pub/sub |
| @eserstack/directives | Ecosystem ground rules β technical and social directives |
Libraries & Tools
Active, maintained, published independently. No CLI (Libraries) or
workflow-facing (Tools).
| Package | Description |
|---|---|
| @eserstack/shell | CLI framework: args, completions, exec, TUI |
| @eserstack/formats | Bidirectional format conversion (JSON, YAML, CSV, TOML, JSONL) |
| @eserstack/streams | Pipeline I/O |
| @eserstack/logging | Hierarchical logging, OpenTelemetry |
| @eserstack/codebase | Git ops, scaffolding, version management |
| @eserstack/workflows | Event-driven workflow engine |
| @eserstack/ai | AI provider abstraction (Claude, OpenAI, Gemini) |
Libraries
| Package | Description |
|---|---|
| @eserstack/formats | Bidirectional format conversion (JSON, YAML, CSV, TOML, JSONL) |
| @eserstack/streams | Pipeline I/O |
| @eserstack/parsing | Tokenizer, lexer, AST |
| @eserstack/logging | Hierarchical logging, OpenTelemetry |
| @eserstack/http | HTTP middleware, response helpers |
| @eserstack/crypto | Web Crypto wrappers |
| @eserstack/cache | XDG cache directories |
| @eserstack/config | .env + env var configuration |
| @eserstack/testing | fakeFs, fakeServer, tempDir |
| @eserstack/jsx-runtime | Server-side JSX |
| @eserstack/collector | Export manifest generation |
| @eserstack/cs | CS utilities (algorithms, data structures) |
| @eserstack/ajan | Go/WASM FFI bridge |
| @eserstack/registry | Recipe registry, distribution protocol, handlers |
Tools
| Package | Description |
|---|---|
| @eserstack/bundler | Abstract bundler, snapshot AOT |
| @eserstack/shell | CLI framework: args, completions, exec, TUI |
| @eserstack/codebase | Git ops, scaffolding, version management |
| @eserstack/workflows | Event-driven workflow engine |
| @eserstack/kit | Recipe + template distribution |
| @eserstack/cli | Main entrypoint CLI |
| @eserstack/ai | AI provider abstraction (Claude, OpenAI, Gemini) |
| @eserstack/app-runtime | Application lifecycle management |
Products
Growing toward β or already with β their own identity.
| Package | Status | Description |
|---|---|---|
| @eserstack/noskills | GRADUATED | AI development orchestrator |
| @eserstack/noskills-web | Product | web dashboard for noskills |
| @eserstack/laroux | Product-Candidate | framework-agnostic web core β Growing toward graduation. |
| @eserstack/laroux-react | Product-Candidate | React integration for laroux |
| @eserstack/laroux-server | Product-Candidate | SSR runtime for laroux |
| @eserstack/laroux-bundler | Product-Candidate | build pipeline for laroux |
Where to start
| Goal | Entry point |
|---|---|
| AI-assisted project development | noskills β install |
| Add typed utilities to your project | @eserstack/fp, @eserstack/di β pnpm add jsr:@eserstack/fp |
| Build a web app | laroux β laroux docs |
| Understand the philosophy | PHILOSOPHY.md β read it |
| Understand how eserstack operates | @eserstack/directives β ecosystem rules |
noskills
AI development orchestrator β structured discovery, human-in-the-loop, quality
gates. Before a single line of code, noskills asks the right questions.
Standalone install: pnpm add jsr:@eserstack/noskills (or curl/npx/brew/nix
β see all options) In Claude Code: Add to your
project and use via deno task cli noskills spec new "description"

π Jumpstart
Ensure that Deno 2.4 or higher is installed on your system
first.
Install the CLI
bash# macOS / Linux β install script curl -fsSL https://eser.run/install | sh # Downloads eser binary to ~/.local/bin. Inspect: https://eser.run/install # Homebrew brew install eser # Nix nix run github:eser/stack # Deno (via JSR) deno run jsr:@eserstack/cli # npm / npx npm install -g eser # or: npx eser <command>
Browse available recipes
bash$ eser kit list PROJECTS library-pkg Deno library package with tests and README laroux-app Laroux.js web application with SSR and React go-service Go microservice with hexagonal architecture ... UTILITIES fp-pipe Functional pipe and compose utilities ajan-httpfx Ajan HTTP server framework ...
Create a new project
bash$ eser kit new laroux-app --name my-site β Created my-site with 14 file(s)
Add a recipe to an existing project
bash$ eser kit add fp-pipe β Added 1 file(s) from fp-pipe β lib/fp/pipe.ts β pnpm add jsr:@eserstack/fp@^4.1.0
Contributors
<!-- CONTRIBUTORS:START --> <table> <tr> <td align="center"><a href="https://github.com/eser"><img src="https://avatars.githubusercontent.com/u/866558?v=4?s=80" width="80" /><br /><sub>eser</sub></a></td> <td align="center"><a href="https://github.com/ayhansipahi"><img src="https://avatars.githubusercontent.com/u/721142?v=4?s=80" width="80" /><br /><sub>ayhansipahi</sub></a></td> <td align="center"><a href="https://github.com/wralith"><img src="https://avatars.githubusercontent.com/u/75392169?v=4?s=80" width="80" /><br /><sub>wralith</sub></a></td> </tr> </table> <!-- CONTRIBUTORS:END -->ππ» FAQ
Want to report a bug or request a feature?
If you're going to report a bug or request a new feature, please ensure first
that you comply with the conditions found under
@eserstack/directives.
After that, you can report an issue or request using
GitHub Issues. Thanks in advance.
Want to contribute?
It is publicly open for any contribution from the community. Bug fixes, new
features and additional components are welcome.
If you're interested in becoming a contributor and enhancing the ecosystem,
please start by reading through our CONTRIBUTING.md.
If you're not sure where to begin, take a look at the
issues labeled good first issue and
help wanted. Reviewing closed issues can also give you a sense of the types of
contributions we're looking for and you can tackle.
If you're already an experienced OSS contributor, let's take you to the shortest
path: To contribute to the codebase, just fork the repo, push your changes to
your fork, and then submit a pull request.
Requirements
- Deno 2.4 or higher (https://deno.land/)
Versioning
This project follows Semantic Versioning. For the
versions available, see the
tags on this repository.
License
This project is licensed under the Apache 2.0 License. For further details,
please see the LICENSE file.
To support the project...
Visit my GitHub Sponsors profile at github.com/sponsors/eser
Contributors
Showing top 5 contributors by commit count.
