@adbayb/stack v2.23.0
✨ 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, ESLint, Prettier, 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)
🚀 Usage
This section introduces the stack
essentials by walking through its main commands:
1️⃣ Create the NPM project via the @adbayb/create
initializer:
# Npm
npm init @adbayb
# Pnpm
pnpm create @adbayb
2️⃣ Play with available commands (already set up in the generated root package.json
):
# Setup initial requirements (including Git hooks installation)
stack install
# Clean the project
stack clean
# Check code health (static analysis including linters, types, and commit message)
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!
🌍 Ecosystem
Available configurations
- @adbayb/stack/eslint to align logical and stylistic rules across projects.
- @adbayb/stack/prettier to align code formatting conventions across projects.
- @adbayb/stack/typescript to align type checking and processing across projects.
Used technologies
- Static code analysis: ESLint, Prettier
- Node package manager: PNPM
- Task orchestration: Turborepo
- Release: Changesets
- Testing: Vitest
Used conventions
- Commits
- Scripts
- File 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.
- Monorepo-first structure to:
🏗️ Architecture
Project creation workflow
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
✍️ Contribution
We're open to new contributions, you can find more details here.
📖 License
11 months ago
10 months ago
11 months ago
11 months ago
11 months ago
10 months ago
9 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
12 months ago
10 months ago
11 months ago
8 months ago
9 months ago
7 months ago
12 months ago
11 months ago
11 months ago
10 months ago
12 months ago
12 months ago
8 months ago
10 months ago
9 months ago
10 months ago
11 months ago
11 months ago
10 months ago
11 months ago
11 months ago
9 months ago
11 months ago
8 months ago
11 months ago
9 months ago
8 months ago
11 months ago
10 months ago
7 months ago
10 months ago
8 months ago
11 months ago
7 months ago
12 months ago
11 months ago
11 months ago
12 months ago
11 months ago
11 months ago
11 months ago
6 months ago
9 months ago
11 months ago
11 months ago
8 months ago
10 months ago
7 months ago
7 months ago
8 months ago
8 months ago
8 months ago
8 months ago
10 months ago
8 months ago
12 months ago
12 months ago
10 months ago
8 months ago
11 months ago
11 months ago
12 months ago
10 months ago
11 months ago
10 months ago
11 months ago
10 months ago
10 months ago
10 months ago
12 months ago
11 months ago
9 months ago
12 months ago
12 months ago
10 months ago
6 months ago
9 months ago
12 months ago
12 months ago
6 months ago
8 months ago
12 months ago
12 months ago
11 months ago
10 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago