Note: This project is licensed under the Apache License 2.0.
GenieOS (ngx-genie) is an advanced developer tool for the Angular framework, designed for visualizing, analyzing, and diagnosing the Dependency Injection (DI) system.
It works as an intelligent overlay on top of your application, allowing you to:
- inspect the dependency injection tree structure in real time,
- analyze the state of services,
- observe relationships between components,
- detect potential memory leaks and architectural issues.
-
Tree View A hierarchical view of the component tree and their Injectors (Element, Environment).
-
Org Chart Visualization of the application structure as a classic organizational chart, making parent–child relationships easier to understand.
-
Matrix View A powerful dependency matrix generated by a Web Worker.
-
Constellation View An interactive force-directed graph presenting the dependency network as a constellation of nodes and connections.
-
Diagnostics Automatic detection of anomalies (e.g. circular dependencies, singleton violations, heavy state).
-
Live Inspector Real-time inspection of service state, including Signals and Observable values.
-
Deep Focus A mode that isolates a single branch of the tree for easier analysis in large applications.
GenieOS is currently implemented against Angular 20.
- ✅ Angular 20 – fully supported and recommended
Support for earlier Angular versions (e.g. Angular 17–19) is planned, but not yet available.
Using npm:
npm install ngx-genie --save-devUsing yarn:
yarn add ngx-genie --devAdd the provider to your application configuration (app.config.ts):
import {ApplicationConfig} from '@angular/core';
import {provideGenie} from 'ngx-genie';
export const appConfig: ApplicationConfig = {
providers: [
provideGenie({
hotkey: 'F1', // default: F1
enabled: true, // default: true
visibleOnStart: false // default: true
})
]
};Run the application and press F1 (or another configured hotkey).
Detailed documentation is available in the /docs directory:
GenieOS is currently in an experimental / early-stage phase.
This is the first public version of the library and should be treated as a proof of concept and evolving developer tool, not a production-hardened framework.
- ❗ No unit tests yet – the library/plugin does not currently include unit or integration tests. Test coverage is planned for future releases.
- 🧭 APIs and internal behavior may change between versions as the project stabilizes.
- 🧠 The focus of the current version is architecture exploration, UX experimentation, and real-world validation.
This project was developed with the assistance of Generative AI tools. The code, architecture, and documentation are the result of collaboration between the author and AI assistants.
While best efforts were made to ensure quality and correctness, some patterns characteristic of AI-generated code may be present.
This project was developed with the assistance of AI tools. While human oversight was applied, some code patterns may reflect AI generation.
This project is licensed under the Apache License 2.0.
You are free to use GenieOS in commercial and non-commercial projects, including internal tooling, development workflows, and enterprise applications.
The license:
- ✅ allows commercial use
- ✅ allows modification and redistribution
- ✅ includes an explicit patent grant
- ❌ does not grant rights to use the GenieOS name or branding
The software is provided "AS IS", without warranties or conditions of any kind.
See the LICENSE file for the full license text.
Wiktor Wróbel @SparrowVic
