+
+| [๐ Live Server](https://kener.ing) | [๐ Quick Start](https://kener.ing/docs/quick-start) | [๐ Documentation](https://kener.ing/docs/home) |
+| ----------------------------------- | ---------------------------------------------------- | ----------------------------------------------- |
+
+## What is Kener?
+
+**Kener** is a sleek and lightweight status page system built with **SvelteKit** and **NodeJS**. Itโs not here to replace heavyweights like Datadog or Atlassian but rather to offer a simple, modern, and hassle-free way to set up a great-looking status page with minimal effort.
+
+Designed with **ease of use** and **customization in mind**, Kener provides all the essential features youโd expect from a status pageโwithout unnecessary complexity.
+
+### Why Kener?
+
+โ Minimal overhead – Set up quickly with a clean, modern UI
+โ Customizable – Easily tailor it to match your brand
+โ Open-source & free – Because great tools should be accessible to everyone
+
+### What's in a Name?
+
+โKenerโ is inspired by the Assamese word _โKeneโ_, meaning _โhowโs it going?โ_. The _โ.ingโ_ was added because, wellโฆ that domain was available. ๐
+
+## Installation
+
+### Manual
+
+```shell
+# Clone the repository
+git clone https://github.com/rajnandan1/kener.git
+cd kener
+npm install
+cp .env.example .env
+npm run dev
+```
+
+### Docker
+
+Official Docker images for **Kener** are available on [Docker Hub](https://hub.docker.com/r/rajnandan1/kener). Multiple versions are maintained to support different use cases.
+
+
+
+#### Available Tags
+
+
Major version tag pointing to the latest stable ({{kener_full_version}}) release within that major version ({{kener_major_version}}.x.x)
+
+
+
+#### Usage
+
+Pull the latest stable version:
+
+```sh
+docker pull rajnandan1/kener:latest
+```
+
+Or use the smaller, Alpine-based variant:
+
+```sh
+docker pull rajnandan1/kener:alpine
+```
+
+For a production setup, refer to the sample [docker-compose.yml](https://github.com/rajnandan1/kener/blob/main/docker-compose.yml).
+This keeps things clean, structured, and easy to read while preserving all the details.
+
+### One Click
+
+[](https://railway.com/template/spSvic?referralCode=1Pn7vs)
+
+## Features
+
+Here are some of the features that you get out of the box. Please read the documentation to know how to use them.
+
+### ๐ Monitoring and Tracking
+
+- Advanced **application performance monitoring** tools
+- **Real-time network monitoring** capabilities
+- Supports **polling HTTP endpoints** or **pushing data** via REST APIs
+- **Timezone auto-adjustment** for visitors
+- Organize monitors into **custom sections**
+- **Cron-based scheduling** (minimum: **every minute**)
+- **Create complex API polls** (chaining, secrets, etc.)
+- Set a **default status** for monitors
+- Supports **base path hosting in Kubernetes (k8s)**
+- **Pre-built Docker images** for easy deployment
+
+### ๐จ Customization and Branding
+
+- Fully **customizable status page**
+- **Badge generation** for status and uptime tracking
+- Support for **custom domains**
+- Embed monitors as **iframes or widgets**
+- **Light & Dark Mode**
+- **Internationalization (i18n) support**
+- **Sleek, beautifully crafted UI**
+
+### ๐จ Incident Management
+
+- **Incident tracking & communication** tools
+- **Comprehensive APIs** for incident management
+
+### ๐งโ๐ป User Experience and Design
+
+- **Accessible & user-friendly interface**
+- **Quick & easy installation**
+- **Responsive design** for all devices
+- **Auto SEO & Social Media ready**
+- **Server-Side Rendering (SSR) for better performance**
+
+
+
+
+
+## Technologies Used
+
+- [SvelteKit](https://kit.svelte.dev/)
+- [shadcn-svelte](https://www.shadcn-svelte.com/)
+
+## Support Me
+
+If youโre enjoying Kener and want to support its development, consider sponsoring me on GitHub or treating me to a coffee. Your support helps keep the project growing! ๐
+
+[Sponsor Me Using Github](https://github.com/sponsors/rajnandan1)
+
+โ [Buy Me a Coffee](https://www.buymeacoffee.com/rajnandan1)
+
+
+
+## Contributing
+
+If you want to contribute to Kener, please read the [Contribution Guide](https://github.com/rajnandan1/kener/blob/main/.github/CONTRIBUTING.md).
+
+## Star History
+
+[](https://star-history.com/#rajnandan1/kener&Date)
diff --git a/package.json b/package.json
index 17c3eda..b2fcd10 100644
--- a/package.json
+++ b/package.json
@@ -37,6 +37,7 @@
"devschedule": "node src/lib/server/startup.js",
"schedule": "node src/lib/server/startup.js",
"development": "vite dev",
+ "generate-readme": "node scripts/generate-readme.js",
"dev": "npm-run-all --parallel devschedule development",
"prettify": "prettier --write .",
"start": "node main.js"
@@ -51,6 +52,7 @@
"concurrently": "^8.2.2",
"cross-env": "^7.0.3",
"date-picker-svelte": "^2.15.1",
+ "mustache": "^4.2.0",
"postcss": "^8.4.24",
"postcss-load-config": "^4.0.1",
"prettier": "^3.2.5",
diff --git a/scripts/generate-readme.js b/scripts/generate-readme.js
new file mode 100644
index 0000000..af1c1be
--- /dev/null
+++ b/scripts/generate-readme.js
@@ -0,0 +1,31 @@
+import fs from "fs";
+import Mustache from "mustache";
+import dotenv from "dotenv";
+import { fileURLToPath } from "url";
+import path from "path";
+
+// Load environment variables from .env file
+dotenv.config();
+
+// Resolve paths correctly in ES modules
+const __filename = fileURLToPath(import.meta.url);
+const __dirname = path.dirname(__filename);
+
+// Load the template
+const templatePath = path.resolve(__dirname, "../README.template.md");
+const template = fs.readFileSync(templatePath, "utf-8");
+
+// Load environment variables and provide default values
+const data = {
+ kener_full_version: process.env.KENER_BUILD_FULL_VERSION || "N/A",
+ kener_major_minor_version: process.env.KENER_BUILD_MAJOR_MINOR_VERSION || "N/A",
+ kener_major_version: process.env.KENER_BUILD_MAJOR_VERSION || "N/A",
+};
+
+// Render README.md
+const output = Mustache.render(template, data);
+
+// Write to README.md
+fs.writeFileSync(path.resolve(__dirname, "../README.md"), output);
+
+console.log("โ README.md generated successfully!");