Quick start
Get a fully-working app — auth, seeded data, admin console — running locally in one command.
Prerequisites
| Tool | Version | Notes |
|---|---|---|
| .NET SDK | 10.0 | dotnet --version should report 10.x |
| Node.js | 20+ (LTS) | for the React (Vite) or Angular client |
| Dev HTTPS cert | — | dotnet dev-certs https --trust (first run only) |
No database to install — development uses a self-creating SQLite file.
Create a project
The fastest way is the interactive CLI wizard — it asks for the edition, frontend (React or Angular), database, features, OAuth, and theme, resolves the dependencies between features, then runs dotnet new with the right flags:
dotnet tool install -g NetForge.Cli # the wizard, once
dotnet new install NetForge.Templates # the free template, once
netforge new # answer a few promptsIt's scriptable too — netforge new -n MyApp --frontend angular --tier basic --with dashboard,webhooks --yes (or --dry-run to just print the command). The frontend defaults to React; pass --frontend angular (or pick it in the wizard) for Angular 22 + Material. See React or Angular.
Prefer not to install anything? A few alternatives:
- Web configurator — pick features visually and download a ready ZIP at netforge.ebenmonney.com.
- Let AI build it — describe your app in plain language and NetForge's AI builds the whole thing for you, with a real senior developer backing every build. Configure it yourself or let AI build it — either way you download a standard app you fully own: netforge.ebenmonney.com/ai.
- Raw template —
dotnet new install NetForge.Templates, thendotnet new netforge -n MyApp. (The full Pro template —NetForge.Pro.Templates, with--tier/feature/database flags — installs from the Pro feed; see Editions.) - Community starter — clone the MIT emonney/NetForge repo and go.
Basic vs Pro
The free Basic edition (MIT) covers auth, RBAC, the platform layer, and theming. Pro adds everything else — get it with a Pro plan on the configurator; see Editions. The Pro template installs from a Pro-gated feed; the wizard points you there if a build needs it.
Run it
dotnet run --project NetForge.ServerThat's it. The server is configured with SpaProxy, so dotnet run automatically launches the client dev server for you — Vite (React) on :3000 or the Angular CLI on :4200. On first run it also creates the SQLite database, applies all migrations, and seeds a ready-to-use admin account.
| Surface | URL |
|---|---|
| App (use this) | https://localhost:3000 (React) / https://localhost:4200 (Angular) |
| API (backend) | https://localhost:7000 |
| Interactive API docs (Scalar) | https://localhost:7000/scalar (dev only) |
| Background-jobs dashboard (Hangfire) | https://localhost:7000/hangfire (dev only) |
First run
If the browser warns about the certificate, run dotnet dev-certs https --trust and restart.
Sign in
A pre-confirmed administrator is seeded in development:
| Password | |
|---|---|
admin@netforge.local | Admin123!$ |
The admin holds the built-in Admin role, which grants the * (all-permissions) wildcard — so you can immediately explore every screen, including Administration at /admin.
Dev-only defaults
These come from appsettings.Development.json (Seed:Admin). Production seeds an admin too, but only from an explicit Seed:Admin:Email / Seed:Admin:Password — the local defaults are never used on a non-Development deploy. See Configuration.
Next steps
- Project structure — find your way around the codebase.
- Configuration — appsettings, email, OAuth.
- Add a feature — build your first vertical slice.