An open API service indexing awesome lists of open source software.

https://github.com/storm-software/power-plant

☢️ Generate anything from a specification
https://github.com/storm-software/power-plant

ai-tools asyncapi graphql grpc mcp openapi

Last synced: 12 days ago
JSON representation

☢️ Generate anything from a specification

Awesome Lists containing this project

README

          



Power Plant







Website
GitHub
DiscordDocsContact
Report a Bug



**☢️ 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



[![github](https://img.shields.io/github/package-json/v/storm-software/power-plant?style=for-the-badge&color=1fb2a6)](https://github.com/storm-software/power-plant/tree/main/packages/core) [![Commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg?style=for-the-badge&logo=commitlint&color=1fb2a6)](http://commitizen.github.io/cz-cli/) ![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg?style=for-the-badge&color=1fb2a6) ![GitHub Workflow Status (with event)](https://img.shields.io/github/actions/workflow/status/storm-software/power-plant/release.yml?style=for-the-badge&logo=github-actions&color=1fb2a6)

> [!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.



Be sure to ⭐ this repository on GitHub so you can keep up to date on any daily progress!

## Table of Contents

- [Quick Features](#quick-features)
- [Environment Configuration Help](#environment-configuration-help)
- [Getting Started](#getting-started)
- [Build](#build)
- [Development Server](#development-server)
- [Environment Configuration Help](#environment-configuration-help-1)
- [Testing](#testing)
- [Running Unit Tests](#running-unit-tests)
- [Running End-to-End Tests](#running-end-to-end-tests)
- [Understand your workspace](#understand-your-workspace)
- [Roadmap](#roadmap)
- [Contributing](#contributing)
- [Support](#support)
- [License](#license)
- [Contributors ✨](#contributors-)


# Quick Features

This section contains a quick overview of the features and functionality of the repository.

## Environment Configuration Help

If you run into any issues while trying to run any of the above steps, please
reach out to Patrick Sullivan. See the [Support](#support) section for more
information.

# Getting Started

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](https://storm-software.github.io/power-plant/docs/getting-started/installation).

[ Back to top ▲ ]


## Build

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.

[ Back to top ▲ ]


## Development Server

Run `pnpm serve` for a dev server. Navigate to . The app
will automatically reload if you change any of the source files.

[ Back to top ▲ ]


# Environment Configuration Help

If you run into any issues while trying to run any of the above steps, please
reach out to Patrick Sullivan. See the [Support](#support) section for more
information.

[ Back to top ▲ ]


# Testing

Open System uses [Vitest](https://vitest.dev/) for unit testing and
[Cypress](https://www.cypress.io/) for end-to-end testing.

[ Back to top ▲ ]


## Running Unit Tests

Run `pnpm test` to execute the unit tests via [Vitest](https://vitest.dev/).

Run `pnpm affected:test` to execute the unit tests affected by a change.

[ Back to top ▲ ]


## Running End-to-End Tests

Run `pnpm e2e` to execute the end-to-end tests via
[Cypress](https://www.cypress.io).

Run `pnpm affected:e2e` to execute the end-to-end tests affected by a change.

[ Back to top ▲ ]


## Understand your workspace

Run `pnpm graph` to see a diagram of the dependencies of the Open System
projects.

[ Back to top ▲ ]


# Roadmap

See the [open issues](https://github.com/storm-software/power-plant/issues) for a
list of proposed features (and known issues).

- [Top Feature Requests](https://github.com/storm-software/power-plant/issues?q=label%3Aenhancement+is%3Aopen+sort%3Areactions-%2B1-desc)
(Add your votes using the 👍 reaction)
- [Top Bugs](https://github.com/storm-software/power-plant/issues?q=is%3Aissue+is%3Aopen+label%3Abug+sort%3Areactions-%2B1-desc)
(Add your votes using the 👍 reaction)
- [Newest Bugs](https://github.com/storm-software/power-plant/issues?q=is%3Aopen+is%3Aissue+label%3Abug)

[ Back to top ▲ ]


# Contributing

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](.github/CODE_OF_CONDUCT.md).

You can use
[markdownlint-cli](https://github.com/storm-software/power-plant/markdownlint-cli) to
check for common markdown style inconsistency.

[ Back to top ▲ ]


# Support

Reach out to the maintainer at one of the following places:

- [Contact](https://stormsoftware.com/contact)
- [GitHub discussions](https://github.com/storm-software/power-plant/discussions)
-

[ Back to top ▲ ]


# License

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](LICENSE) for more information.

[ Back to top ▲ ]


# Contributors ✨

Thanks goes to these wonderful people
([emoji key](https://allcontributors.org/docs/en/emoji-key)):



Patrick Sullivan
Patrick Sullivan

🎨 💻 🔧 📖 ⚠️
Tyler Benning
Tyler Benning

🎨
Stormie
Stormie

🚧






Add your contributions



This project follows the
[all-contributors](https://github.com/all-contributors/all-contributors)
specification. Contributions of any kind welcome!

[ Back to top ▲ ]







Storm Software




WebsiteContactLinkedInMediumGitHubOpenPGP Key


Fingerprint: F47F 1853 BCAD DE9B 42C8 6316 9FDE EC95 47FE D106


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](https://discord.gg/MQ6YVzakM5) 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](https://stormsoftware.com/contact) or join our
[Slack](https://join.slack.com/t/storm-software/shared_invite/zt-2gsmk04hs-i6yhK_r6urq0dkZYAwq2pA)
channel!


Storm Software



Visit us at stormsoftware.com


[ Back to top ▲ ]