https://github.com/flowsynx/flowpack
FlowPack is a lightweight CLI tool designed to build, publish, and package FlowSynx-compatible plugins into a deployable .fspack file.
https://github.com/flowsynx/flowpack
flowsynx flowsynx-plugins packaging packaging-tool
Last synced: 18 days ago
JSON representation
FlowPack is a lightweight CLI tool designed to build, publish, and package FlowSynx-compatible plugins into a deployable .fspack file.
- Host: GitHub
- URL: https://github.com/flowsynx/flowpack
- Owner: flowsynx
- License: mit
- Created: 2025-05-28T08:47:01.000Z (10 months ago)
- Default Branch: master
- Last Pushed: 2025-12-06T22:45:00.000Z (4 months ago)
- Last Synced: 2026-02-16T08:46:04.295Z (about 1 month ago)
- Topics: flowsynx, flowsynx-plugins, packaging, packaging-tool
- Language: C#
- Homepage:
- Size: 66.4 KB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# FlowPack
FlowPack is a .NET packaging utility for building, packaging, and distributing FlowSynx's plugins. It takes a .NET project, compiles it, generates metadata, and bundles it into a distributable `.fspack` file.
## Features
- Build and package a .csproj plugin into a .fspack archive.
- Extracts plugin metadata automatically.
- Generates SHA256 checksums.
- Produces `.fspack` files for easy distribution.
- Supports clean builds and verbose output.
- Includes a plugin loader for dynamic plugin loading/unloading.
- Simple CLI
## Download
Download the latest version of FlowPack from the [Release page](https://github.com/flowsynx/flowpack/releases) and extract it.
## Usage
### Command Line Interface (CLI)
```bash
flowpack [options]
```
### Options
| Option | Description |
| ----------------- | ------------------------------------------------------------------------- |
| `--output ` | Specify the output `.fspack` file path. Defaults to `./.fspack`. |
| `--clean` | Perform a clean build before packaging. |
| `--verbose` | Enable verbose logging. |
| `--help`, `-h` | Show help information. |
| `--version`, `-v` | Display the version of FlowPack. |
### Example
```bash
flowpack --output MyPlugin.fspack --clean --verbose ./src/MyPlugin/MyPlugin.csproj
```
This will:
1. Clean and build the `MyPlugin.csproj` in Release mode.
2. Publish the plugin.
3. Package it as `MyPlugin.fspack`.
## Package Structure
A `.fspack` file is a ZIP archive containing:
- `.plugin` - The compiled plugin DLLs and dependencies.
- `metadata.json` - Metadata about the plugin.
- `.plugin.sha256` - SHA256 checksum of the plugin file.
## Plugin Metadata Example
The `metadata.json` file contains metadata like:
```json
{
"Id": "b2f5ff47-2fc6-4bdb-8c73-9d69f4e1f94d",
"Type": "DataProcessor",
"Version": "1.0.0",
"CompanyName": "YourCompany",
"Description": "A sample plugin for processing data.",
"License": "MIT",
"LicenseUrl": "https://opensource.org/licenses/MIT",
"Authors": ["Jane Doe"],
"Tags": ["data", "processor", "plugin"],
"CategoryId": "Data",
"MinimumFlowSynxVersion": "1.0.0"
}
```
## Related Projects
- [FlowSynx.PluginCore](https://github.com/flowsynx/plugin-core): Core interfaces for FlowSynx plugin systems.
## License
This project is licensed under the MIT License. See LICENSE for details.
## Contributing
Contributions are welcome! Please open an issue or submit a pull request.
## Support
For questions or issues, please create an issue on the [GitHub repository](https://github.com/flowsynx/flowpack/issues).