Skip to content

NamesMT/config-rocket

Repository files navigation

Config Rocket

Easily create and deploy configurable config packs!

Project's branding image

config-rocket TypeScript heart icon

npm version npm downloads Codecov

Overview & Features

config-rocket is a toolkit/engine that helps you create or install configurable config-packs, 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

Usage

For users

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
    • It's a template to create your own config packs for config-rocket ecosystem.
  • Start shipping!

License

License

Notes & References

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,...