Prerequisites
Before you begin, make sure you have the following installed on your machine:
- Node.js 18 or higher — the Kalenuxer CLI runs on Node.js. Version 22 is recommended.
- git — required to clone the repository.
Step 1: Clone the repository
Clone the Kalenuxer repository to your local machine:
git clone https://github.com/emirbaycan/kalenuxer.gitcd kalenuxer
No additional installation step is required. Kalenuxer has minimal dependencies and the CLI is invoked directly with Node.js.
Step 2: Project structure
All websites live inside the websites/ directory. Each site has its own subdirectory with a consistent layout:
websites/ your-site/ site/ HTML templates, CSS, JS, images source files datas/ JSON language and asset data files store/ Build timestamp tracking (auto-generated) dist/ Build output — do not edit manually
The site/ directory holds your source files organized by type: site/html/, site/css/, site/js/, and site/template/. The datas/ directory holds per-language JSON files that supply variables to the template engine.
Step 3: Your first build
Run the following command from the root of the cloned repository:
node run.js <site-name> prepare release
Each argument has a specific role:
| Argument | Example | Description |
|---|---|---|
site-name | mysite | The subdirectory name under websites/ that you want to build. |
action | prepare | Runs the full build pipeline: CSS, JS, images, HTML templates, pages. |
mode | release | Produces minified, versioned production output. Use debug for unminified output. |
-unsafe flag to skip upload errors and complete the local build: node run.js <site-name> prepare release -unsafeStep 4: Understanding the output
After a successful build, all output files are written to the dist/release/ directory inside your site folder:
websites/your-site/dist/release/ index.html homepage product/foo.html product pages css/ main.abc123.css versioned, minified stylesheet js/ main.def456.js versioned, minified script img/ optimised images
HTML files are generated from your site/html/ source files after template includes are resolved and variables are substituted from the language JSON files. CSS and JS files are minified and given content-hash suffixes so browsers always load fresh versions after a deploy.
The dist/ directory is entirely managed by the build system. Never edit files inside it directly — they will be overwritten on the next build.
Next steps
Now that you have Kalenuxer running, explore the rest of the documentation: