@kalisio/meta-ekosystem
v0.7.0
Published
Kalisio's meta-repo for sharing tools, configurations, and conventions
Downloads
941
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
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
── .changeset
│ └── config.json
├── docs
│ ├── index.md.hbs
│ ├── overview
│ │ ├── about.md.hbs
│ │ ├── changelog.md
│ │ ├── contact.md
│ │ ├── contributing.md.hbs
│ │ ├── license.md
│ │ └── roadmap.md.hbs
│ └── .vitepress
│ ├── config.mjs.hbs
│ ├── packages.json
│ ├── sidebar.mjs
│ └── theme
│ ├── custom.css
│ └── index.js
├── .editorconfig
├── .gitignore
├── .husky
│ └── pre-commit
├── LICENSE.md
├── package.json.hbs
├── pnpm-workspace.yaml
├── README.md.hbs
├── sonar-project.properties.hbs
├── vite.base-config.js
└── vitest.base-config.js- Usage
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.jsAnd it updates the documentation configuration accordingly:
- an entry is added to the
packages.jsonfile, which is used to build the documentation. - a folder containing an
index.mdfile is added to thepackagesdirectory.
- Usage
pnpm k-init-package[!NOTE] You will be prompted for the package
nameanddescription.
k-init-example
- Description
It generates an example skeleton with the following structure:
package
├── LICENSE.md
├── package.json
├── README.md
└── vite.config.js- Usage
pnpm k-init-example[!NOTE] You will be prompted for 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
pnpm k-sync-catalogContributing
Guidelines
Found a bug ? Missing a feature ? Want to contribute ? Please refer to our contribution guidelines for details.
Development
Setup
# Clone the repository
git clone https://github.com/kalisio/meta-ekosystem.git
cd meta-ekosystem
# Install dependencies
pnpm install
# Link globally (make the binaries available system-wide)
pnpm linkLocal linking
This repository provides global binaries to help manage the monorepo ecosystem. During development, you will often need to link this package to other projects to test the features you are working on.
If you're working on multiple packages simultaneously:
# In the meta-ekosystem directory
pnpm link --global
# In your project directory
pnpm link --global @kalisio/meta-ekosystemOr for a direct local link:
# In your project directory
pnpm link ../path/to/meta-ekosystemTo stop linking a local version and switch back to the published version:
# In your project directory
pnpm unlink @kalisio/meta-ekosystemLinting
# 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 changeset[!NOTE] It is recommended to create a changeset for each significant commit, e.g., a fix or feat.
Then update the version using:
pnpm changeset:versionAnd commit the changes:
git add .
git commit -m "chore: released <new version>"
git pushPublishing
To publish this package to NPM, use:
pnpm changeset: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

