# Contributing to fusionAIze Grid Thank you for your interest in contributing to the Grid architecture! This repository serves as a generic standard for a 4+1 Node AI infrastructure. When contributing, please ensure your architectural additions align with the design principles: 1. **Deny-by-default**: Only `grid-edge` should be exposed. 2. **Secrets never in Git**: Rely on `.env` templates. 3. **Roles, not Hardware**: The ecosystem is built on abstract roles that can be adapted anywhere. ## Adding a new Tool to the Workbench The most common contribution is adding a new CLI, Agent, or Router to the **Workbench Control Center** on `grid-core`. To do this, you do not need to edit the core application code. Instead, use the Plugin System: 1. Copy the template from `core/workbench/scripts/plugins/_template.sh`. 2. Name it according to your tool (e.g., `my-agent.sh`). 3. Place it in the appropriate category under `core/workbench/scripts/plugins/`: - `clis/` - `routers/` - `memory/` - `agents/` - `automation/` - `wrappers/` 4. Fill out the `tool_install`, `tool_update`, and `tool_status` functions inside your plugin. 5. Create a Pull Request! The CI pipeline will automatically run ShellCheck on your plugin. ## Submitting Pull Requests - **Linting**: Ensure your Bash scripts pass Shellcheck without errors. CI will enforce this. - **Testing**: Whenever possible, run `bash -n