Skip to content
Nile Js

Build with Nile

Ship business operations with a consistent structure your team can follow as the application grows

Read Markdown ↗

Build your backend around services and actions. A service groups a business domain, such as billing. An action defines one operation with a validation schema and a handler. Your team and coding agents can follow the same structure as you add features.

Start with one operation

Create the starter project, call its Tasks service and add your first action. Keep using its domain structure as you add operations.

Your next taskGuide
See every built-in feature with an exampleFeatures
Build a complete feature step by stepExamples
Find a home for growing business logicApplication structure
Validate input and return useful failuresActions and errors and Results
Share resources and access policiesContext and authentication
Connect your frontendFrontend client
Add live updatesSockets and typed messages
Schedule work and control concurrencyProduction operations
Trace a failed operationLogging
Use the handler context, hooks and execution optionsAdvanced

Keep the business logic yours

Use ordinary TypeScript functions for domain rules and your chosen library for data access. Nile Js supplies the shared execution patterns: validation, Results, hooks, context and logging. Register your services explicitly so someone joining the project can see which operations it exposes.

Choose Bun native or the Hono adapter for HTTP. Call the same action through server.invoke within your backend, or expose it over Socket.IO when your application needs a connected client.

Work with a coding assistant

Give your assistant the Nile Js skill and the documentation index, and expose selected runtime schemas through discovery. Documentation explains Nile Js conventions; your application's schemas describe its operations and input shapes. Build with AI agents walks through the setup.

On this page