Plugin registry for ASC CLI. Browse and install plugins with:
asc plugins market list
asc plugins install --name asc-pro| Plugin | Description | Author |
|---|---|---|
| ASC Pro | Simulator streaming, interaction & tunnel sharing | tddworks |
- Build your plugin as a
.pluginbundle (dylib +manifest.json+ optionalui/scripts) - Package it as
<Name>.plugin.zip - Fork this repo
- Add your plugin entry to
registry.json - Open a PR
{
"plugins": [
{
"id": "my-plugin",
"name": "My Plugin",
"version": "1.0",
"description": "What your plugin does",
"author": "your-name",
"repositoryURL": "https://github.com/you/my-plugin",
"downloadURL": "https://github.com/tddworks/asc-registry/releases/download/v1.0/MyPlugin.plugin.zip",
"categories": ["category1", "category2"]
}
]
}Your .plugin.zip must extract to a <Name>.plugin/ directory:
MyPlugin.plugin/
├── manifest.json # {"name": "My Plugin", "version": "1.0", "server": "MyPlugin.dylib", "ui": [...]}
├── MyPlugin.dylib # compiled dynamic library
└── ui/ # optional web UI scripts
@_cdecl("ascPlugin")
public func ascPlugin() -> UnsafeMutableRawPointer {
Unmanaged.passRetained(MyPlugin()).toOpaque()
}
public final class MyPlugin: NSObject, ASCPluginBase {
public let name = "My Plugin"
public var commands: [Any] { [] }
public func configureRoutes(_ router: Any) { /* HTTP/WebSocket routes */ }
}See ASC Plugin Architecture for full documentation.