Development
NetIgnite is developed in the open on GitHub under the NetIgnite-project organization. All repositories are licensed under the AGPL-3.0.
| Repository | Stack |
|---|---|
| Server | Nuxt 3, Nitro (Bun preset) with WebSockets, SQLite via libsql, Bootstrap |
| Agent-ESP32 | C++17, Arduino framework, PlatformIO |
| Website | Nuxt 4, Nuxt UI, Nuxt Content, Tailwind CSS, static generation |
Server
git clone https://github.com/NetIgnite-project/Server.git
cd Server
bun install
bun run dev
The dev server runs on http://localhost:3000 and stores its database in ./data/. The admin
password is printed on first start. Run the tests with bun test.
Helper scripts in devutils/ write directly to ./data/db.sqlite:
bun run devutils/createAgent.tscreates a test agent (secret123456) for user1. Restart the dev server afterwards so it loads the agent.bun run devutils/createTestUser.tscreates anadminuser with the password123456. It fails ifadminalready exists, so run it before the server's first start.
Releases are created with the manual GitHub Actions workflows Create Release (builds, tests
and attaches app.tar.gz) and Publish Docker Images (pushes to
ghcr.io/netignite-project/server).
ESP32 Agent
Open the repository in VS Code with the PlatformIO extension, or use PlatformIO Core. Setup,
build and flashing are described on the ESP32 Agent page. The code is
formatted with the included .clang-format.
To test protocol changes without hardware, use the example agent.
Website
This website, including the docs, is a static site built with the LeiCraftMC Style Guide static-site-with-docs template.
git clone https://github.com/NetIgnite-project/Website.git
cd Website
bun install
bun run dev
The dev server runs on http://localhost:12531. bun run generate writes the static site to
.output/public/.
Docs pages are Markdown files in content/docs/. To add one:
- Create the
.mdfile withtitle,descriptionandnavigation.titlefrontmatter. - Register it in
app/data/docs.tsso it appears in the sidebar and the previous/next links. - Add it to
public/static/utils/sitemap.xml.
Every page has an Edit this page link that opens the file on GitHub.
Contributing
Bug reports and pull requests are welcome in the matching repository. Use
Conventional Commits for commit messages, for example
fix: reconnect after WiFi loss.