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:
node --versionCreating Your Project
Use the NoEgo CLI to scaffold a new project:
npx @noego/create my-appThis 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:
npx @noego/create my-app --yesThis 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
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 configInstall & Run
Navigate into your new project and install dependencies:
cd my-app
cp .env.example .env
npm install
npm run resetThen start the dev server:
npm run devYou should see:
✓ Server running at http://localhost:3000
✓ Watching 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.