This repository serves as the central monorepo for all CodeIgniter Skeleton (CSK) packages — including modules, plugins, themes, libraries, helpers, and language packs.
Each package is managed as a Git submodule, enabling independent development, versioning, and distribution — while maintaining a unified structure for automation, updates, and releases.
Packages are organized by type:
packages/
├──helpers/
├──languages
├──libraries/
├──modules/
├──plugins/
├──themes/
Each subfolder contains official CSK components, many of which are private.
| Type | Description | Access |
|---|---|---|
| Helpers | Common utility functions | 🔒 |
| Languages | Translation packs | 🔒 |
| Libraries | Reusable backend logic | 🔒 |
| Modules | Extend core functionality (e.g., Blog, Shop) | 🔒 |
| Plugins | Add features or integrations | 🔒 |
| Themes | Frontend Themes | 🔒 |
- Keep all official CSK extensions organized in one place.
- Provide a base for the CSK in-app Marketplace.
- Simplify updates, packaging, and distribution pipelines.
- Serve as a backend dependency hub for production builds.
New packages register themselves automatically when:
- They follow the naming convention
csk-<type>-<name>. - They define the following repository variables:
CSK_NAME→ name of the package (e.g.,pages).CSK_TYPE→ type of the package (module,theme, etc.).CSK_PAT→ personal access token for communication.
🪄 This system allows decentralized development while maintaining a synchronized ecosystem.
| Type | Example Repo | CSK_NAME | CSK_TYPE | CSK_PAT | Added Under |
|---|---|---|---|---|---|
| Module | csk-module-pages |
pages |
module |
<secret> |
packages/modules/pages |
| Theme | csk-theme-classic |
classic |
theme |
<secret> |
packages/themes/classic |
| Helper | csk-helper-array |
array |
helper |
<secret> |
packages/helpers/array |
🚀 CSK uses this monorepo to build update bundles and power its in-app marketplace.
csk-core— Main CSK Framework (Private)csk-projects— All CSK projects (Public index)
This repository is part of the Ianhub CSK ecosystem. Most submodules are private, but their structure and organization are visible for transparency and documentation.