Kalisio's meta-repo for sharing tools, configurations, and conventions
This repository centralizes common development resources used across Kalisio projects, including:
- A meta package catalog for ecosystem management
- Various scripts to be included in monorepo projects that includes this meta-repo
- Various code generators to help creating monorepo projects
- Common conventions
Important
Before getting started, make sure you have the following prerequisites installed:
git clone https://github.com/kalisio/meta-ekosystem
cd meta-ekosystem
pnpm install
pnpm link --globalThe catalog.json file, also referred to as the meta-catalog, centralizes and maintains the list of all dependencies, along with their respective versions, to ensure consistency and alignment across the Kalisio ecosystem.
Tip
Use the k-sync-catalog commands to keep your local catalog synchronized with this meta-catalog.
It generates a monorepo skeleton with the following structure:
monorepo
├── docs
│ ├── index.md.hbs
│ ├── overview
│ │ ├── about.md.hbs
│ │ ├── changelog.md
│ │ ├── contact.md
│ │ ├── contributing.md.hbs
│ │ ├── license.md
│ │ └── roadmap.md.hbs
│ └── package.json.hbs
├── knip.json
├── LICENSE.md
├── lint-staged.config.mjs
├── package.json.hbs
├── pnpm-workspace.yaml.hbs
├── README.md.hbs
├── sonar-project.properties.hbs
├── vite.base-config.js
└── vitest.base-config.js
pnpm k-init-monorepoNote
You will be prompted for the repository name and path.
It generates a package skeleton with the following structure:
package
├── LICENSE.md
├── package.json
├── README.md
├── vite.config.js
└── vitest.config.js
It adds the following scripts to the parent monorepo's package.json:
| Script | Description |
|---|---|
build:<package> |
Build the package |
lint:<package> |
Lint the package |
test:<package> |
Run the package tests |
The command also updates the documentation configuration accordingly:
- adds an entry to the
packages.jsonfile, which is used to generate the documentation - creates a new folder in the packages directory containing an
index.mdfile
Important
Run this command from the root directory of your monorepo.
cd path/to/<my-monorepo>
pnpm k-init-packageYou will be prompted to enter the package name and description.
It generates an example skeleton with the following structure:
package
├── LICENSE.md
├── package.json
├── README.md
└── vite.config.js
Important
Run this command from the root directory of your monorepo.
cd path/to/<my-monorepo>
pnpm k-init-exampleYou will be prompted to enter the example name.
Important
The name is used to declare the dependency on the package named @kalisio/<name>
It synchronizes your project catalog by merging the meta-catalog with an existing local catalog file and updating
the catalog property in pnpm-workspace.yaml.
Important
Run this command from the root directory of your monorepo.
cd path/to/<my-monorepo>
pnpm k-sync-catalogFound a bug ? Missing a feature ? Want to contribute ? Please refer to our contribution guidelines for details.
pnpm lintNote
This repository follows the standardJS style guide for linting and code consistency.
By default, standard is called with the --fix option to automatically fix style issues before committing.
Create changesets as needed during the development phase using:
pnpm changeNote
It is recommended to create a changeset for each significant commit, e.g., a fix or feat.
Then update the version using:
pnpm bumpTo publish this package to NPM, use:
pnpm releaseNote
When publishing a tag will be created corresponding to the version defined in the package.json
Licensed under the MIT License.
Copyright (c) 2026 Kalisio

