diff --git a/.gitignore b/.gitignore
index 00bf4e5..2dc67d8 100644
--- a/.gitignore
+++ b/.gitignore
@@ -35,7 +35,8 @@ go.work
node_modules/
docs/.vitepress/cache/*
docs/.vitepress/dist/*
-.vitepress/
+.vitepress/cache
+.vitepress/dist
.cache
/**/.DS_Store
config/generator/target
\ No newline at end of file
diff --git a/docs/.vitepress/config.mts b/docs/.vitepress/config.mts
new file mode 100644
index 0000000..844c90a
--- /dev/null
+++ b/docs/.vitepress/config.mts
@@ -0,0 +1,71 @@
+import { withMermaid } from "vitepress-plugin-mermaid";
+import { fileURLToPath, URL } from 'node:url'
+
+// https://vitepress.dev/reference/site-config
+export default withMermaid({
+ title: "AnyApplication controller",
+ description: "AnyApplication Controller for Decentralized Control Plane",
+ base: "/",
+ head: [['link', { rel: 'icon', href: 'https://github.com/HIRO-MicroDataCenters-BV/anyapplication-controller/refs/heads/main/docs/assets/dcp-log.png' }]],
+ vite: {
+ resolve: {
+ alias: [
+ {
+ find: /^.*\/VPFooter\.vue$/,
+ replacement: fileURLToPath(
+ new URL('./theme/components/VPFooter.vue', import.meta.url)
+ )
+ },
+ ]
+ }
+ },
+ themeConfig: {
+ // https://vitepress.dev/reference/default-theme-config
+ nav: [
+ { text: 'Home', link: '/' },
+ { text: 'Concepts', link: '/concepts' },
+ { text: 'Usage', link: '/usage' },
+ ],
+
+ editLink: {
+ pattern: 'https://github.com/HIRO-MicroDataCenters-BV/anyapplication-controller/blob/main/docs/:path',
+ text: 'Edit this page on GitHub'
+ },
+
+ logo: {
+ src: 'https://github.com/HIRO-MicroDataCenters-BV/anyapplication-controller/refs/heads/main/docs/assets/dcp-log.png',
+ width: 24,
+ height: 24
+ },
+
+ search: {
+ provider: 'local'
+ },
+
+ sidebar: [
+ {
+ items: [
+ { text: 'Quick Start', link: '/usage/installation' },
+ { text: 'Architecture', link: '/architecture' },
+ { text: 'API Reference', link: '/api-reference/anyapplication' },
+ ]
+ },
+ {
+ text: 'Developer Guide',
+ collapsed: false,
+ items: [
+ { text: 'Local Dev Setup', link: '/development/setup' },
+ ]
+ }
+ ],
+
+ footer: {
+ message: 'Released under the Apache License 2.0.',
+ copyright: 'Copyright © 2025-present HIRO-MicroDataCenters BV'
+ },
+
+ socialLinks: [
+ { icon: 'github', link: 'https://github.com/HIRO-MicroDataCenters-BV/anyapplication-controller' }
+ ],
+ }
+})
\ No newline at end of file
diff --git a/docs/.vitepress/theme/components/VPFooter.vue b/docs/.vitepress/theme/components/VPFooter.vue
new file mode 100644
index 0000000..7f230f5
--- /dev/null
+++ b/docs/.vitepress/theme/components/VPFooter.vue
@@ -0,0 +1,68 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/.vitepress/theme/composables/data.ts b/docs/.vitepress/theme/composables/data.ts
new file mode 100644
index 0000000..2d9e04a
--- /dev/null
+++ b/docs/.vitepress/theme/composables/data.ts
@@ -0,0 +1,4 @@
+import { useData as useData$ } from 'vitepress'
+import type { DefaultTheme } from 'vitepress/theme'
+
+export const useData: typeof useData$ = useData$
\ No newline at end of file
diff --git a/docs/.vitepress/theme/custom.css b/docs/.vitepress/theme/custom.css
new file mode 100644
index 0000000..3da7829
--- /dev/null
+++ b/docs/.vitepress/theme/custom.css
@@ -0,0 +1,37 @@
+:root {
+ --vp-home-hero-name-color: transparent;
+ --vp-home-hero-name-background: -webkit-linear-gradient(
+ 120deg,
+ #3456fe 30%,
+ #41d1ff
+ );
+ --vp-home-hero-image-background-image: linear-gradient(
+ -45deg,
+ #3474fe 50%,
+ #47caff 50%
+ );
+ --vp-home-hero-image-filter: blur(44px);
+}
+
+@media (min-width: 640px) {
+ :root {
+ --vp-home-hero-image-filter: blur(56px);
+ }
+}
+
+@media (min-width: 960px) {
+ :root {
+ --vp-home-hero-image-filter: blur(68px);
+ }
+}
+
+.VPHero .VPImage {
+ filter: drop-shadow(-2px 4px 6px rgba(0, 0, 0, 0.2));
+ padding: 18px;
+}
+
+/* used in reference/default-theme-search */
+img[src='/search.png'] {
+ width: 100%;
+ aspect-ratio: 1 / 1;
+}
\ No newline at end of file
diff --git a/docs/.vitepress/theme/index.js b/docs/.vitepress/theme/index.js
new file mode 100644
index 0000000..508d8b4
--- /dev/null
+++ b/docs/.vitepress/theme/index.js
@@ -0,0 +1,4 @@
+import DefaultTheme from 'vitepress/theme'
+import './custom.css'
+
+export default DefaultTheme
\ No newline at end of file
diff --git a/docs/assets/dcp-log.png b/docs/assets/dcp-log.png
new file mode 100644
index 0000000..6867cbe
Binary files /dev/null and b/docs/assets/dcp-log.png differ
diff --git a/docs/concepts/index.md b/docs/concepts/index.md
new file mode 100644
index 0000000..8b13789
--- /dev/null
+++ b/docs/concepts/index.md
@@ -0,0 +1 @@
+
diff --git a/docs/development/index.md b/docs/development/index.md
new file mode 100644
index 0000000..e69de29
diff --git a/docs/development/setup.md b/docs/development/setup.md
new file mode 100644
index 0000000..e69de29
diff --git a/docs/index.md b/docs/index.md
new file mode 100644
index 0000000..e69de29
diff --git a/docs/usage/index.md b/docs/usage/index.md
new file mode 100644
index 0000000..e69de29
diff --git a/docs/usage/installation.md b/docs/usage/installation.md
new file mode 100644
index 0000000..e69de29