# @adbayb/stack

> My opinionated JavaScript-based toolchain

Latest version **3.5.3** (published 2026-10-26) · MIT license · 0 weekly downloads

## Install

```sh
npm install @adbayb/stack
pnpm add @adbayb/stack
yarn add @adbayb/stack
bun add @adbayb/stack
```

Provides the command `stack`.

## Health

**Score 65/100 (B)** — status: active.

Positive: esm support; no vulnerabilities; has provenance; recently updated; high maintenance score.

Warnings: low downloads; no types.

## Facts

| | |
|---|---|
| Version | 3.5.3 |
| Published | 2026-10-26 |
| First published | 2023-08-14 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | ESM |
| Dependencies | 13 |
| Unpacked size | 228.2 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Provenance | attested (GitHub Actions) |
| GitHub stars | 3 |
| Author | Ayoub Adib |
| Maintainers | adbayb |
| Keywords | development, scripts, stack, toolchain |

## Links

- npm: https://www.npmjs.com/package/@adbayb/stack
- Repository: https://github.com/adbayb/stack
- npm.io page: https://npm.io/package/@adbayb/stack

## Dependencies (13)

- [oxfmt](https://npm.io/package/oxfmt.md) ^0.74.0
- [turbo](https://npm.io/package/turbo.md) ^2.11.10
- [oxlint](https://npm.io/package/oxlint.md) ^1.89.0
- [termost](https://npm.io/package/termost.md) ^2.0.0
- [typescript](https://npm.io/package/typescript.md) ^7.0.2
- [@changesets/cli](https://npm.io/package/@changesets/cli.md) ^3.0.3
- [@commitlint/cli](https://npm.io/package/@commitlint/cli.md) ^21.2.4
- [oxlint-tsgolint](https://npm.io/package/oxlint-tsgolint.md) ^7.0.2005
- [@e18e/eslint-plugin](https://npm.io/package/@e18e/eslint-plugin.md) ^0.8.1
- [@stylistic/eslint-plugin](https://npm.io/package/@stylistic/eslint-plugin.md) ^5.10.0
- [eslint-plugin-perfectionist](https://npm.io/package/eslint-plugin-perfectionist.md) ^5.13.0
- [@changesets/changelog-github](https://npm.io/package/@changesets/changelog-github.md) ^1.0.1
- [@commitlint/config-conventional](https://npm.io/package/@commitlint/config-conventional.md) ^21.2.4

## Alternatives

- [gamedig](https://npm.io/package/gamedig.md) — 29.3K weekly downloads
- [join-monster](https://npm.io/package/join-monster.md) — 12.8K weekly downloads
- [masked](https://npm.io/package/masked.md) — 5.5K weekly downloads
- [@comunica/actor-query-process-explain-logical](https://npm.io/package/@comunica/actor-query-process-explain-logical.md) — 4.7K weekly downloads
- [@veracity/vui](https://npm.io/package/@veracity/vui.md) — 4.6K weekly downloads

## Recent versions

- 3.5.3 (latest) — 2026-10-26
- 3.5.3-next.1793022798613.a98eef8 (next) — 2026-10-26
- 3.6.0-next.1793022663194.21b71e7 — 2026-10-26
- 3.5.2 — 2026-10-26
- 3.5.2-next.1793018115894.699dcad — 2026-10-26
- 3.5.2-next.1793017968565.ed3167f — 2026-10-26
- 3.5.1 — 2026-10-26
- 3.5.1-next.1792972905466.9a5b1a1 — 2026-10-26
- 3.5.1-next.1792972153066.859e186 — 2026-10-25
- 3.5.1-next.1792969503603.3a951d1 — 2026-10-25
- 3.5.1-next.1792937252705.2503019 — 2026-10-25
- 3.5.0 — 2026-10-24
- 3.5.0-next.1792844374433.2111ed5 — 2026-10-24
- 3.5.0-next.1792843338743.b7df0a9 — 2026-10-24
- 3.5.0-next.1792842998792.34213ab — 2026-10-24
- … 363 more at https://npm.io/package/@adbayb/stack/versions

## README

<div align="center">
    <h1>🦦 Stack</h1>
    <strong>My opinionated scaffolding tool to ease project building</strong>
</div>
<br>
<br>

## ✨ Features

`Stack` allows creating an NPM project in a **quick**, **easy** and **opinionated** way with:

- A unified monorepo-driven and git-driven approach for all kinds of projects (single-purpose library, multiple libraries, application(s), ...)
- Support for several application templates (for now, only a default template is available, but others can be added later).
- Standardized file structure including optional folder creation such as `examples`, `packages`, ...
- Enable all project lifecycle steps with commands from the setup, check, fix, build, and test to the versioning and release.
- Built-in configuration preset setup (including Node/NPM runtime, Git ignore/hooks, [TypeScript](https://github.com/adbayb/stack/blob/main/stack/configs/typescript/), [Oxlint](https://github.com/adbayb/stack/blob/main/stack/configs/oxlint/), [Oxfmt](https://github.com/adbayb/stack/blob/main/stack/configs/oxfmt/), EditorConfig, Renovate, Changesets, and VSCode).
- A welcoming environment for users and contributors with the continuous integration setup, and the creation of `README.md`, `CONTRIBUTING.md`, and GitHub template files (including issue and pull request ones), ...
- An optimized development environment with command caching (no build needed if nothing changes).

<br>

## 🚀 Usage

This section introduces the `stack` essentials by walking through its main commands:

1️⃣ Create the NPM project via the `@adbayb/create` initializer:

```bash
# Npm
npm init @adbayb
# Pnpm
pnpm create @adbayb
```

2️⃣ Play with available commands (already set up in the generated root `package.json`):

```bash
# Setup initial requirements (including Git hooks installation)
stack install
# Clean the project
stack clean
# Check code health (static analysis including linters and types)
stack check
# Fix auto-fixable issues
stack fix
# Start the project in production mode
stack start
# Build the project in production mode
stack build
# Build and start the project in development mode
stack watch
# Test the code execution
stack test
# Log, version, and publish package(s)
stack release
```

3️⃣ Enjoy!

<br>

## 🌍 Ecosystem

### Available configurations

- [@adbayb/stack/oxlint](https://github.com/adbayb/stack/blob/main/stack/configs/oxlint/) to align logical and stylistic rules across projects.
- [@adbayb/stack/oxfmt](https://github.com/adbayb/stack/blob/main/stack/configs/oxfmt/) to align code formatting conventions across projects.
- [@adbayb/stack/typescript](https://github.com/adbayb/stack/blob/main/stack/configs/typescript/) to align type checking and processing across projects.

### Agent skills

`@adbayb/stack` ships four [Agent Skills](https://agentskills.io/specification) for coding agents:

- [software-design](https://github.com/adbayb/stack/blob/main/stack/skills/software-design/): design and write clean, testable code; the single source of the design rules and glossary.
- [software-audit](https://github.com/adbayb/stack/blob/main/stack/skills/software-audit/): audit code or pull requests against the `software-design` rules (depends on `software-design`).
- [skill-design](https://github.com/adbayb/stack/blob/main/stack/skills/skill-design/): design and write skills with one shared anatomy, plus agent instructions such as `AGENTS.md`; the single source of the writing rules.
- [skill-audit](https://github.com/adbayb/stack/blob/main/stack/skills/skill-audit/): audit and score skills and agent instructions such as `AGENTS.md` against the `skill-design` rules (depends on `skill-design` and Anthropic `skill-creator` for skill evaluation).

With [pnpm 12.11.0 or later](https://pnpm.io/agent-skills), install the package as a direct dependency and approve its skills:

```bash
pnpm add -D @adbayb/stack
pnpm approve
```

If the package is already installed, run `pnpm approve`. Select `@adbayb/stack` to approve all four skills; pnpm records the approval in `pnpm-workspace.yaml`. pnpm links skills into existing agent skill directories by default. To choose a directory explicitly, configure:

```yaml
skills:
    dirs:
        - .agents/skills
```

Links use names such as `pnpm-@adbayb+stack-software-design`. Global installs and `pnpm dlx` do not link skills.

For older pnpm versions or global installation, install from the repository with:

```bash
pnpm dlx skills add adbayb/stack --skill software-design -g
pnpm dlx skills add adbayb/stack --skill software-audit -g
pnpm dlx skills add adbayb/stack --skill skill-design -g
pnpm dlx skills add adbayb/stack --skill skill-audit -g
```

Use `pnpm dlx` rather than `npx`: the repo's `devEngines` gate accepts pnpm only.

In this repository, `stack/skills/` is the published source and `.agents/skills` is a relative symlink to it, so local agents use the same files.

### Used technologies

- **Static code analysis**: Oxlint, Oxfmt
- **Node package manager**: PNPM
- **Task orchestration**: Turborepo
- **Release**: Changesets
- **Testing**: Vitest

### Used conventions

- [Commits](https://www.conventionalcommits.org/)
- [Scripts](https://conventionalscripts.org/)
- [File Structure](https://nx.dev/concepts/decisions/folder-structure)
    - Monorepo-first structure to:
        - Keep a consistent file structure pattern across templates (ease template familiarity and onboarding).
        - Ease examples setup.
        - Not clutter the published package with development-related context, metadata, and artifacts.

<br>

## 🏗️ Architecture

### Project creation workflow

```mermaid
flowchart TD
    N("npm init @adbayb"):::strokeWidth -- Runs --> C("@adbayb/create"):::strokeWidth
    C -- Runs --> S("@adbayb/stack create"):::strokeWidth
    S -- "Scaffolds (via template and shared configurations)" --> P("New project"):::strokeWidth
    style C fill:#daf2d7,stroke:#90cf8e
    style S fill:#daf2d7,stroke:#90cf8e
    classDef strokeWidth stroke-width:3px
```

<br>

## ✍️ Contribution

We're open to new contributions, you can find more details [here](https://github.com/adbayb/stack/blob/main/CONTRIBUTING.md).

<br>

## 📖 License

[MIT](https://github.com/adbayb/stack/blob/main/LICENSE "License MIT")

<br>

---
_Source: https://npm.io/package/@adbayb/stack · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
