☢️ Power Plant is a collection of TypeScript packages and stand-alone developer tools that center on a single, simple concept: generate anything from a specification. The goal of Power Plant is to make it easy for developers to generate code, documentation, and other artifacts from a specification, without having to write any boilerplate code themselves.
In the background, Power Plant will also gather metadata about the repository and provide it to LLMs and various other tools. This allows our favorite AI models to understand more than just the source code, but also its context, the reason why it exists, and its intended usage.
The Power Plant monorepo is a collection of packages that are designed to work together, but in many cases can also be used independently.
💻 Visit stormsoftware.com to stay up to date with this developer
Important
This repository, and the apps, libraries, and tools contained within, is still in its initial development phase. As a result, bugs and issues are expected with its usage. When the main development phase completes, a proper release will be performed, the packages will be available through NPM (and other distributions), and this message will be removed. However, in the meantime, please feel free to report any issues you may come across.
- Quick Features
- Getting Started
- Environment Configuration Help
- Testing
- Roadmap
- Contributing
- Support
- License
- Contributors ✨
This section contains a quick overview of the features and functionality of the repository.
If you run into any issues while trying to run any of the above steps, please reach out to Patrick Sullivan. See the Support section for more information.
Once the code is pulled locally, open a command prompt and run pnpm install in
the root repo directory (/power-plant).
More information can be found in the Power Plant documentation.
Run pnpm build to build the project. The build artifacts will be stored in the
dist/ directory. Use the --prod flag for a production build.
Run pnpm serve for a dev server. Navigate to http://localhost:4200/. The app
will automatically reload if you change any of the source files.
If you run into any issues while trying to run any of the above steps, please reach out to Patrick Sullivan. See the Support section for more information.
Open System uses Vitest for unit testing and Cypress for end-to-end testing.
Run pnpm test to execute the unit tests via Vitest.
Run pnpm affected:test to execute the unit tests affected by a change.
Run pnpm e2e to execute the end-to-end tests via
Cypress.
Run pnpm affected:e2e to execute the end-to-end tests affected by a change.
Run pnpm graph to see a diagram of the dependencies of the Open System
projects.
See the open issues for a list of proposed features (and known issues).
- Top Feature Requests (Add your votes using the 👍 reaction)
- Top Bugs (Add your votes using the 👍 reaction)
- Newest Bugs
First off, thanks for taking the time to contribute! Contributions are what makes the open-source community such an amazing place to learn, inspire, and create. Any contributions you make will benefit everybody else and are greatly appreciated.
Please try to create bug reports that are:
- Reproducible. Include steps to reproduce the problem.
- Specific. Include as much detail as possible: which version, what environment, etc.
- Unique. Do not duplicate existing opened issues.
- Scoped to a Single Bug. One bug per report.
Please adhere to this project's code of conduct.
You can use markdownlint-cli to check for common markdown style inconsistency.
Reach out to the maintainer at one of the following places:
This project is licensed under the Apache License 2.0. Feel free to edit and distribute this template as you like. If you have any specific questions, please reach out to the Storm Software development team.
See LICENSE for more information.
Thanks goes to these wonderful people (emoji key):
Patrick Sullivan 🎨 💻 🔧 📖 |
Tyler Benning 🎨 |
Stormie 🚧 |
||||
|
|
||||||
This project follows the all-contributors specification. Contributions of any kind welcome!
Storm Software is an open source software development organization and creator of Acidic, StormStack and StormCloud.
Our mission is to make software development more accessible. Our ideal future is one where anyone can create software without years of prior development experience serving as a barrier to entry. We hope to achieve this via LLMs, Generative AI, and intuitive, high-level data modeling/programming languages.
Join us on Discord to chat with the team, receive release notifications, ask questions, and get involved.
If this sounds interesting, and you would like to help us in creating the next generation of development tools, please reach out on our website or join our Slack channel!

