@kalisio/meta-ekosystem
v0.10.0
Published
Kalisio's meta-repo for sharing tools, configurations, and conventions
Readme
meta-ekosystem
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:
Usage
Installation
git clone https://github.com/kalisio/meta-ekosystem
cd meta-ekosystem
pnpm install
pnpm link --globalResources
Catalog
The 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.
Commands
The commands are intended to be used by monorepo projects that depend on this repository.
[!TIP] To run a command from this repository, use:
node ./bin/<command>
k-init-monorepo
Description
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.jsUsage
pnpm k-init-monorepo[!NOTE] You will be prompted for the repository
nameandpath.
k-init-package
Description
It generates a package skeleton with the following structure:
package
├── LICENSE.md
├── package.json
├── README.md
├── vite.config.js
└── vitest.config.jsIt 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
Usage
[!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.
k-init-example
Description
It generates an example skeleton with the following structure:
package
├── LICENSE.md
├── package.json
├── README.md
└── vite.config.jsUsage
[!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
nameis used to declare the dependency on the package named@kalisio/<name>
k-sync-catalog
Description
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.
Usage
[!IMPORTANT] Run this command from the root directory of your monorepo.
cd path/to/<my-monorepo>
pnpm k-sync-catalogContributing
Guidelines
Found a bug ? Missing a feature ? Want to contribute ? Please refer to our contribution guidelines for details.
Linting
# In the meta-ekosystem directory
pnpm lint[!NOTE] This repository follows the standardJS style guide for linting and code consistency. By default, standard is called with the
--fixoption to automatically fix style issues before committing.
Versioning
Create changesets as needed during the development phase using:
pnpm change[!NOTE] It is recommended to create a changeset for each significant commit, e.g., a fix or feat.
Then update the version using:
pnpm versionAnd commit the changes:
git add .
git commit -m "chore: released <new version>"
git pushPublishing
To publish this package to NPM, use:
pnpm publish
git push --follow-tags[!NOTE] When publishing a tag will be created corresponding to the version defined in the
package.json
License
Licensed under the MIT License.
Copyright (c) 2026 Kalisio

