@@ -27,7 +29,7 @@
## ❓ What is SynthKernel?
-SynthKernel is a low-level system design approach for making clear and structured [modular monolith](https://www.geeksforgeeks.org/system-design/what-is-a-modular-monolith/) in **TypeScript**. It combines elements of Object Oriented Programming, advanced Type Generics in TypeScript, Facade Pattern, and aims to push the philosophy of **Inversion of Control** to it's extremum.
+SynthKernel is a low-level system design approach for making clear and structured [modular monolith](https://www.geeksforgeeks.org/system-design/what-is-a-modular-monolith/) in **TypeScript**. It combines elements of _Object Oriented Programming_, _advanced Type Generics in TypeScript_, _Facade Pattern_, and aims to push the philosophy of **Inversion of Control** to it's extremum.
The simplest implementation of SynthKernel consists of a **central loader** and flat **modules**. Unlike other modularity conventions that design the loader to provide interfaces and APIs, the loader in SynthKernel only manages module loading and lifecycles, all actual functionalities are achieved by modules. Modules are the actual center of the entire application - they define APIs, execute real logic, augment the the loader class and wire each other via dependency injection. The module loader behaves as a lifecycle manager and a facade between complex internal logic and the application consumer.
diff --git a/assets/logo.svg b/assets/logo.svg
new file mode 100644
index 0000000..23436af
--- /dev/null
+++ b/assets/logo.svg
@@ -0,0 +1,158 @@
+
diff --git a/skill/maintenance.md b/skill/maintenance.md
index 161d830..f7dc7ea 100644
--- a/skill/maintenance.md
+++ b/skill/maintenance.md
@@ -81,7 +81,13 @@ export class Module extends BaseModule {
}
```
-### Step 3 Record References
+### Step 3 Load Module and Record References
+
+Now navigate to the loader file (typically `index.ts` in the same folder) and modify the modules array:
+
+```TypeScript
+const allModules = [(...ExistingModules), YourNewModule];
+```
If you have write access to a project-wide memory system like `AGENTS.md`, find the `Project Architecture` section and update the tree structure to reflect your new module.
diff --git a/whitepaper.ipynb b/whitepaper.ipynb
index 0ab95fb..7dbac84 100644
--- a/whitepaper.ipynb
+++ b/whitepaper.ipynb
@@ -900,6 +900,8 @@
"\n",
"You can adjust the options or log and alert more in the cell above to see what will happen. You can even remove `AlertDispatch` module from `allModules`, the logger will still work fine, you simply won't use any alerts.\n",
"\n",
+ "Moreover, with SynthKernel paradigm, the friction of adding a new module becomes trivial. You can even expose necessary types and the base module to the user to enable easy customization.\n",
+ "\n",
"## Final Words\n",
"\n",
"Isn't SynthKernel awesome? You've just seen a demo of how modules can work seamlessly together and removing a module even doesn't break anything. Everything is structured and clear, no more \"spaghetti\" created.\n",