Step 1 of 12 8% complete

Step 1: Getting Started

What You'll Learn

  • Create a new NoEgo project with the CLI scaffolding tool
  • Explore the generated project structure
  • Run the development server

What You'll Build

A running NoEgo development server with hot reload enabled.

Prerequisites

Before we begin, make sure you have Node.js 20.11 or higher installed. Verify your version by running:

terminal
1
node --version

Creating Your Project

Use the NoEgo CLI to scaffold a new project:

terminal
1
npx @noego/create my-app

This launches an interactive prompt where you can choose a template (Full Stack, API Only, or Minimal), a database (SQLite or PostgreSQL), and optional features like background jobs. Accept the defaults for a full-stack app with SQLite.

For non-interactive creation with all defaults, use the --yes flag:

terminal
1
npx @noego/create my-app --yes

This creates a full-stack project with SQLite, no background jobs, seeds enabled, and the public development server on port 3000. See the create docs for all available options.

The CLI generates all configuration, entry files, and a starter app with example pages and API endpoints.

Project Structure

project structure
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
my-app/
├── src/
│   ├── index.ts              # App bootstrap (Express + logging)
│   ├── server/               # Backend TypeScript code
│   │   ├── server.ts         # NoEgo server entry
│   │   ├── container.ts      # IoC container setup
│   │   ├── controller/       # HTTP controllers
│   │   ├── services/         # Business logic
│   │   ├── repo/             # Database access + SQL files
│   │   ├── logic/            # Domain logic
│   │   ├── errors/           # Domain error definitions
│   │   ├── types/            # Shared types
│   │   └── openapi/          # API route definitions (YAML)
│   ├── ui/                   # Svelte frontend code
│   │   ├── frontend.ts       # NoEgo client entry
│   │   ├── client.ts         # Forge client bootstrap
│   │   ├── index.html        # HTML shell template
│   │   ├── pages/            # Page components
│   │   ├── layout/           # Page layouts
│   │   ├── component/        # Reusable components
│   │   ├── lib/              # Frontend utilities
│   │   ├── openapi/          # UI route definitions (YAML)
│   │   └── stitch.yaml       # UI stitch config
│   ├── middleware/           # Shared middleware
│   └── jobs/                 # Background job tasks
├── migrations/               # Database migrations
├── test/                     # Integration & UI tests
├── noego.config.yml          # NoEgo configuration
├── proper.json               # Migration configuration
├── vite.config.js            # Vite + Svelte frontend build
├── package.json              # Dependencies & scripts
└── tsconfig.json             # TypeScript config

Install & Run

Navigate into your new project and install dependencies:

terminal
1
2
3
4
cd my-app
cp .env.example .env
npm install
npm run reset

Then start the dev server:

terminal
1
npm run dev

You should see:

terminal output
1
2
Server running at http://localhost:3000Watching for file changes...

Open http://localhost:3000 in your browser to see your NoEgo application running.

What's Next

In the next step, we’ll set up the configuration file and walk through the project structure in detail.

Troubleshooting

NoEgo

© 2025 NoEgo. All rights reserved.