@@ -8,22 +8,22 @@ C++ should feel direct for application development without losing its power.
88
99## Summary of key decisions
1010
11- | Decision | Reason |
12- | ----------| --------|
13- | Runtime, not new language | Keep C++ power and improve workflow |
14- | Direct compile | Make single-file C++ fast and simple |
15- | CMake support | Keep real project builds correct |
16- | Explicit APIs | Avoid hidden behavior |
17- | Public module headers | Keep docs stable and learnable |
18- | Middleware | Keep shared logic out of routes |
19- | Config via .env | Change runtime behavior without recompiling |
20- | Prepared statements | Safer database access |
21- | Cache is temporary | Avoid treating cache as durable state |
22- | Sync persists first | Prevent lost operations |
23- | P2P as transport | Keep connection logic separate from delivery logic |
24- | Diagnostics | Make C++ errors easier to act on |
25- | Benchmark mode | Measure performance with less noise |
26- | Native deployment | Run as a normal Linux service |
11+ | Decision | Reason |
12+ | --------------------------- | ------------------------------------------ --------|
13+ | Runtime, not new language | Keeps the power of C++ while improving workflow. |
14+ | Direct compile | Makes single-file C++ fast and simple. |
15+ | CMake support | Keeps real project builds correct and portable. |
16+ | Explicit APIs | Avoids hidden behavior and unexpected magic. |
17+ | Public module headers | Keeps documentation stable and learnable. |
18+ | Middleware | Keeps shared logic out of route handlers. |
19+ | Config via ` .env ` | Changes runtime behavior without recompiling. |
20+ | Prepared statements | Provides safer database access. |
21+ | Cache is temporary | Avoids treating cache as durable state. |
22+ | Sync persists first | Prevents local operations from being lost. |
23+ | P2P as transport | Separates connection logic from delivery logic. |
24+ | Diagnostics | Makes C++ errors easier to understand and fix. |
25+ | Benchmark mode | Measures performance with less runtime noise. |
26+ | Native deployment | Runs applications as normal Linux services. |
2727
2828## 1. Vix is a runtime, not a new language
2929
@@ -32,6 +32,7 @@ Vix keeps C++, improves the workflow around it:
3232``` cpp
3333#include < vix.hpp>
3434using namespace vix ;
35+
3536int main ()
3637{
3738 App app;
@@ -274,9 +275,22 @@ Production readiness is part of normal app design.
274275
275276## 26. Logs must be safe
276277
277- Good logs: startup, request method/path, error code, duration, sync failure, P2P stats.
278+ Good logs include:
279+
280+ - Startup events
281+ - Request method and path
282+ - Error codes
283+ - Request duration
284+ - Sync failures
285+ - P2P statistics
286+
287+ Never log:
278288
279- Never log: passwords, tokens, cookies, private keys, authorization headers.
289+ - Passwords
290+ - Tokens
291+ - Cookies
292+ - Private keys
293+ - Authorization headers
280294
281295## 27. One-file docs are intentional
282296
@@ -308,7 +322,8 @@ Vix is designed around a balance:
308322simple workflow + explicit C++ + production reliability
309323```
310324
311- The core design idea: ** make C++ application development feel direct without hiding how the system works.**
325+ The core design idea:
326+ ** make C++ application development feel direct without hiding how the system works.**
312327
313328Vix helps developers move from:
314329
0 commit comments