Stimpak: A Pattern Management System
Stimpak is a system for defining, discovering, and re-using code & workflow patterns:
- Formalize code and workflow patterns with minimal effort so that they can be re-used and shared with others.
- Cut down on time doing routine tasks by generating new files based upon simple patterns.
- Update old files with new patterns using simple merging strategies.
- Develop automated expert systems that guide users through complicated tasks.
Main Features
- Built for Ease-of-Use
- Everything about stimpak was designed with ease-of-use and time-savings in mind.
- Minimal learning required. Get up and running within a few minutes.
- Automatic just-in-time transpiling for automatic backwards compatible with older versions of nodejs.
- Minimally-Opinionated Generator Design
- Very little learning required to write your own generators. Make your first pattern in less than 5 minutes.
- Setup your directory structures the way you want. Change them later if you want to.
- Name your methods how you'd like. Except for one
.setup
method on each generator, you're free to use any method name you'd like, or to change them later.
- Composable Generators
- Create several small generators that work independently.
- Combine generators together on-the-fly via the CLI.
- Combine generators into a new generator that can guide the user through multiple tasks at once.
- Integrated Templates
- Choose your own template engine, or use EJS by default.
- Answers to prompts are automatically used as values in templates.
- Smart File Merging
- Easily designate files that should be merged instead of overwritten.
- Use built-in or custom merging strategies for a variety of file formats.
- Merge strategies using virtual file objects to avoid touching the filesystem more than necessary.
- Customizable ASCII-Art
- Built-in ASCII-Art generator for BIG popping titles in any of 680 built-in figlet fonts.
- Optionally choose not to have ASCII-Art whenever you use your generators. It's all up to you!
- Quality-Controlled
- Well-tested with meaningful assertions.
- 100% test coverage.
- Continuous Integration
- Automated Code Quality Auditing
- Automated Dependency Management
- Automated Up-Stream Security Vulnerability Reporting
Getting Started Guides
Stimpak can be used as both a command-line interface (CLI), and as a standalone library that can be embedded into your own code. Choose the guide below to help you get started with either integration method, or with writing a new stimpak generator from scratch:
How to Contribute
We love pull requests and issue reports! Really!
If you find a bug or have a feature suggestion, please feel free to submit an issue here.
For more information on how to submit a pull request, please read this guide on contributing to open-source projects.