NI
nile-js/nile
TypeScript-first, service and action oriented backend framework.
Nile
TypeScript-first, service and actions oriented backend framework for building modern, fast, safe and AI-ready backends.
You define actions, group them into services, and get a predictable API with validation, error handling, and schema export — no route definitions, no controllers, no middleware chains, just your business logic.
Nile is the result of 12 months of design and development. This repository is a ground-up rewrite — the original codebase lives at nile-squad/nile (archived).
Quick Start
npx @nilejs/cli new my-app
cd my-app && bun install && bun run devPackages
| Package | Version | Description |
|---|---|---|
@nilejs/nile |
Core framework — server, engine, REST transport, logging, CORS, and utilities | |
@nilejs/cli |
Project scaffolding and code generation | |
@nilejs/client |
Standalone, zero-dependency, type-safe frontend client |
Other packages
| Package | Description |
|---|---|
example |
Reference project showing a working Nile setup |
web |
Documentation site (nile-js.github.io/nile) |
Repository Structure
nile/
packages/
nile/ Core framework (@nilejs/nile)
cli/ CLI tool (@nilejs/cli)
client/ Frontend client (@nilejs/client)
example/ Reference project
web/ Documentation site
Development
This is a bun workspaces monorepo. See dev.md for the full development guide.
# Install all dependencies
bun install
# Build the core framework
bun run --cwd packages/nile build
# Run core tests
bun run --cwd packages/nile test:run
# Build the docs
bun run --cwd packages/web buildContributing
Contributions are welcome.
- Fork the repository
- Create your feature branch (
git checkout -b feature/your-feature) - Commit your changes (
git commit -m 'Add your feature') - Push to the branch (
git push origin feature/your-feature) - Open a Pull Request
License
MIT