Some checks failed
		
		
	
	Docs CI / lint-and-preview (push) Has been cancelled
				
			- Introduced guild charters for Scanner Deno, PHP, Ruby, Native, WebService, Java, Surface.Env, Surface.FS, Surface.Secrets, Surface.Validation, UI, Zastava Observer, Zastava Webhook, Zastava Core, and Plugin Platform. - Each charter outlines the mission, scope, required reading, and working agreements for the respective guilds. - Created task boards for Surface.Env, Surface.FS, Surface.Secrets, Surface.Validation, and Zastava components to track progress and dependencies. - Ensured all documents emphasize determinism, offline readiness, security, and integration with shared Surface libraries.
		
			
				
	
	
		
			35 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			35 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
# Plugin Development Guide
 | 
						||
 | 
						||
StellaOps services expose restart-time plug-in hooks so operators can extend functionality (connectors, analyzers, notification channels). This guide covers common patterns when implementing plug-ins against `StellaOps.Plugin`.
 | 
						||
 | 
						||
## 1. Concepts
 | 
						||
 | 
						||
- **Manifest** – describes the plug-in assembly, supported capabilities, and minimum host version.
 | 
						||
- **Registration** – plug-ins export DI registration classes discovered by `StellaOps.Plugin` at host startup.
 | 
						||
- **Isolation** – plug-ins load from a dedicated directory with ordered manifests; hosts enforce allow-lists and capability checks.
 | 
						||
 | 
						||
## 2. Authoring Steps
 | 
						||
 | 
						||
1. Reference `StellaOps.Plugin` and implement `IPluginRegistration`.
 | 
						||
2. Provide a manifest (`manifest.json`) describing assembly name, version, and capabilities.
 | 
						||
3. Add unit tests covering registration and integration (use `StellaOps.Plugin.Tests` helpers).
 | 
						||
4. Package plug-in binaries under `plugins/<host>/` with checksum manifest for offline kits.
 | 
						||
 | 
						||
## 3. Security & Determinism
 | 
						||
 | 
						||
- Avoid global state or non-deterministic behaviour; plug-ins must be restart-safe.
 | 
						||
- Do not perform network access unless explicitly allowed by host configuration.
 | 
						||
- Use dependency injection to receive configuration and shared services.
 | 
						||
 | 
						||
## 4. Resources
 | 
						||
 | 
						||
- `src/__Libraries/StellaOps.Plugin`
 | 
						||
- `docs/modules/platform/architecture-overview.md`
 | 
						||
- Host-specific docs (e.g., `docs/modules/scanner/architecture.md`, `docs/modules/notify/architecture.md`)
 | 
						||
 | 
						||
## 5. Testing & Deployment
 | 
						||
 | 
						||
- Run host integration tests to ensure plug-in loads correctly.
 | 
						||
- Provide sample configuration snippets for Helm/Compose/Offline kits.
 | 
						||
- Document plug-in versioning and compatibility requirements.
 |