https://github.com/namesmt/config-rocket
Easily create and deploy configurable config packs!
https://github.com/namesmt/config-rocket
config configurable cookiecutter template typescript
Last synced: 4 months ago
JSON representation
Easily create and deploy configurable config packs!
- Host: GitHub
- URL: https://github.com/namesmt/config-rocket
- Owner: NamesMT
- License: apache-2.0
- Created: 2025-04-12T17:13:10.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-05-25T18:20:03.000Z (about 1 year ago)
- Last Synced: 2025-06-06T06:31:08.117Z (about 1 year ago)
- Topics: config, configurable, cookiecutter, template, typescript
- Language: TypeScript
- Homepage: https://namesmt.github.io/config-rocket/
- Size: 563 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
Config Rocket
Easily create and deploy configurable config packs!
# config-rocket 
[![npm version][npm-version-src]][npm-version-href]
[![npm downloads][npm-downloads-src]][npm-downloads-href]
[![Codecov][codecov-src]][codecov-href]
* [config-rocket ](#config-rocket-)
* [Overview \& Features](#overview--features)
* [`CR` for users:](#cr-for-users)
* [`CR` for creators:](#cr-for-creators)
* [`CR` for developers / communities:](#cr-for-developers--communities)
* [Usage](#usage)
* [For users](#for-users)
* [For creators](#for-creators)
* [License](#license)
* [Notes \& References](#notes--references)
* [Ecosystem Terms / Dictionary Explained](#ecosystem-terms--dictionary-explained)
* [cookiecutter](#cookiecutter)
## Overview & Features
**`config-rocket`** is a toolkit/engine that helps you create or install configurable `config-pack`s, which can range anywhere from some configuration files, a component, or even a full library template!
### `CR` for users:
+ **Cross-platform** 🪟🍏🐧
+ **Easy, interactive, safe install** of any `config pack` and zip archives, whether its a public one shared by your friend, or your own, privately-stored.
+ `config-rocket` does not allow any code execution, so the installation of a `config pack` is safe, but you should verify that the archive contains the files that you expect.
### `CR` for creators:
+ **Config type-safety**: `config-rocket` is powered by `Typescript (TS)`, and provides type-safety, autocompletion, typedoc documentation right in your IDE while crafting your configs.
+ **Powerful creator candies**:
+ `parameters` that works interactively with your users.
+ `variables`, `excludes`, `filesBuilder` helps you conditionally customize your assemble process without code execution.
+ `fuel` context support that help you reduces duplication work in multiple files.
+ `frame` template for the quick file-to-file base bones.
+ `snapshot` that helps simulating of an existing user project, ensuring your configs will deploy correctly. (Intended for more advanced use case like testing AI agents) (TBA)
+ **Easy shipping**: Bundle your `config pack`, or just create a zip archive, create a GitHub release, or upload it somewhere, and everyone can use it via `config-rocket` CLI!
### `CR` for developers / communities:
+ **Easily extendable**: tailor your own rules and functionalities via exported functions and hooks support, for example: [Roo Rocket](https://github.com/NamesMT/roo-rocket)
## Usage
### For users
```sh
npx config-rocket --repo="NamesMT/config-packs"
# Or by url: `npx config-rocket --url=https://direct.url/to-config.zip`
# Interactively configure the installation parameters (if any)
# Nothing more, enjoy :)
```
### For creators
* Generate a repo from [`config-packs-template`](https://github.com/NamesMT/config-packs-template)
* It's a template to create your own `config packs` for `config-rocket` ecosystem.
* Start shipping!
## License
[![License][license-src]][license-href]
## Notes & References
### [Ecosystem Terms / Dictionary Explained](./TERMS_EXPLANATION.md)
### [cookiecutter](https://github.com/cookiecutter/cookiecutter)
This project is similar to `cookiecutter` (I didn't know of it's existence while creating `config-rocket`).
But I'm proud to say that in the current early stage, `config-rocket` can pretty much match the functionalities of `cookiecutter`, with some notes/feats:
+ Targets for broader adaptation and safety, no script execution from config packs.
+ Provides development toolings and type-safety.
+ For serious creators / communities, it's more flexible and easier to create your own extends of `config-rocket` with more rules and features, you are in FULL POWER of using the inner toolings to control/build the FULL PROCESS: CLI invoke, fetching, unpack, assemble,...
[npm-version-src]: https://img.shields.io/npm/v/config-rocket?labelColor=18181B&color=F0DB4F
[npm-version-href]: https://npmjs.com/package/config-rocket
[npm-downloads-src]: https://img.shields.io/npm/dm/config-rocket?labelColor=18181B&color=F0DB4F
[npm-downloads-href]: https://npmjs.com/package/config-rocket
[codecov-src]: https://img.shields.io/codecov/c/gh/namesmt/config-rocket/main?labelColor=18181B&color=F0DB4F
[codecov-href]: https://codecov.io/gh/namesmt/config-rocket
[license-src]: https://img.shields.io/github/license/namesmt/config-rocket.svg?labelColor=18181B&color=F0DB4F
[license-href]: https://github.com/namesmt/config-rocket/blob/main/LICENSE