Skip to content

Commit 640b513

Browse files
committed
Update ReadMe
#12
1 parent b565941 commit 640b513

File tree

1 file changed

+105
-1
lines changed

1 file changed

+105
-1
lines changed

README.md

Lines changed: 105 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,106 @@
11
# FlowPack
2-
FlowPack is a lightweight CLI tool designed to build, publish, and package FlowSynx-compatible plugins into a deployable .fsp file.
2+
3+
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.
4+
5+
## Features
6+
7+
- Build and package a .csproj plugin into a .fspack archive.
8+
- Extracts plugin metadata automatically.
9+
- Generates SHA256 checksums.
10+
- Produces `.fspack` files for easy distribution.
11+
- Supports clean builds and verbose output.
12+
- Includes a plugin loader for dynamic plugin loading/unloading.
13+
- Simple CLI
14+
15+
---
16+
17+
## 📦 Download
18+
19+
Download the latest version of FlowPack from the [Release page](https://github.com/flowsynx/flowpack/releases) and extract it.
20+
21+
---
22+
23+
## 🚀 Usage
24+
25+
### Command Line Interface (CLI)
26+
27+
```bash
28+
flowpack [options] <project.csproj>
29+
```
30+
31+
### Options
32+
33+
| Option | Description |
34+
| ----------------- | ------------------------------------------------------------------------- |
35+
| `--output <path>` | Specify the output `.fspack` file path. Defaults to `./<project>.fspack`. |
36+
| `--clean` | Perform a clean build before packaging. |
37+
| `--verbose` | Enable verbose logging. |
38+
| `--help`, `-h` | Show help information. |
39+
| `--version`, `-v` | Display the version of FlowPack. |
40+
41+
### Example
42+
43+
```bash
44+
flowpack --output MyPlugin.fspack --clean --verbose ./src/MyPlugin/MyPlugin.csproj
45+
```
46+
47+
This will:
48+
49+
1. Clean and build the `MyPlugin.csproj` in Release mode.
50+
2. Publish the plugin.
51+
3. Package it as `MyPlugin.fspack`.
52+
53+
---
54+
55+
## 📂 Package Structure
56+
57+
A `.fspack` file is a ZIP archive containing:
58+
59+
- `<PluginName>.plugin` - The compiled plugin DLLs and dependencies.
60+
- `manifest.json` - Metadata about the plugin.
61+
- `<PluginName>.plugin.sha256` - SHA256 checksum of the plugin file.
62+
63+
---
64+
65+
## 📝 Plugin Metadata Example
66+
67+
The `manifest.json` file contains metadata like:
68+
69+
```json
70+
{
71+
"Id": "b2f5ff47-2fc6-4bdb-8c73-9d69f4e1f94d",
72+
"Type": "DataProcessor",
73+
"Version": "1.0.0",
74+
"CompanyName": "YourCompany",
75+
"Description": "A sample plugin for processing data.",
76+
"License": "MIT",
77+
"LicenseUrl": "https://opensource.org/licenses/MIT",
78+
"Authors": ["Jane Doe"],
79+
"Tags": ["data", "processor", "plugin"],
80+
"CategoryId": "Communication"
81+
}
82+
```
83+
84+
---
85+
86+
## 🔗 Related Projects
87+
88+
- [FlowSynx.PluginCore](https://github.com/flowsynx/plugin-core): Core interfaces for FlowSynx plugin systems.
89+
90+
---
91+
92+
## 📜 License
93+
94+
This project is licensed under the MIT License. See LICENSE for details.
95+
96+
---
97+
98+
## 👨‍💻 Contributing
99+
100+
Contributions are welcome! Please open an issue or submit a pull request.
101+
102+
---
103+
104+
## 🆘 Support
105+
106+
For questions or issues, please create an issue on the [GitHub repository](https://github.com/flowsynx/flowpack/issues).

0 commit comments

Comments
 (0)