Get in touch, contribute, report bugs, or help test.
For questions, feedback, collaboration, or press inquiries.
john.paul.ruf@gmail.comBug reports, feature requests, and technical discussions.
github.com/.../issuesJohn Ruf — creator and maintainer of Novel Engine.
github.com/john-paul-rufNovel Engine welcomes contributions. The codebase follows strict clean architecture with 5 layers, dependency injection, and typed IPC. Understanding the architecture before contributing will save time.
Start by reading the Architecture page or the architecture docs on GitHub. Then check open issues for work that needs doing.
Fork the repository on GitHub.
Clone your fork. Run npm install and npm start to verify the app runs.
Branch from main. Use descriptive branch names.
Implement your change. Follow the architecture rules below.
Open a PR with a clear description of what changed and why.
Respect layer boundaries. Domain imports nothing. Infrastructure imports only domain + npm packages. Application imports only domain interfaces. Renderer accesses backend only through the preload bridge.
No business logic in IPC handlers. Every handler is a one-liner delegation to a service method. Zero logic, zero branching, zero data transformation.
Use dependency injection. Application services depend on interfaces, not concrete classes. Concrete classes are instantiated only in src/main/index.ts (the composition root).
Create barrel exports. Every infrastructure subdirectory gets an index.ts that re-exports the public API.
Type everything. No any unless wrapping an untyped third-party API. Narrow immediately.
Handle all errors. Every async operation has try/catch or error propagation. No silent failures.
Found something broken? Open a GitHub issue with the following information:
Operating system and version (e.g., macOS 15.3, Windows 11, Ubuntu 24.04)
From Settings or the title bar (e.g., v0.7.0)
Numbered list of actions that trigger the bug
What should happen and what actually happened
Pre-built installers are available on the Releases page for macOS, Windows, and Linux. These are early builds — the Windows and Linux installers especially need testing.
Things to test:
Report results via GitHub Issues or email john.paul.ruf@gmail.com.
Novel Engine is licensed under the GNU Affero General Public License v3.0. You can use, modify, and distribute the software, but modifications must be shared under the same license.