This repository hosts three public crates: xfetch-plugin-api
(plugins), xfetch-extension-api (extensions), and
xfetch-effect-api (effects).
[dependencies]
serde = { version = "1", features = ["derive"] }
xfetch-plugin-api = { git = "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/xfetch-cli/api", package = "xfetch-plugin-api" }
xfetch-extension-api = { git = "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/xfetch-cli/api", package = "xfetch-extension-api" }
xfetch-effect-api = { git = "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/xfetch-cli/api", package = "xfetch-effect-api" }
During multi-repo development, you can use a standard Cargo
path dependency instead.
[dependencies]
serde = { version = "1", features = ["derive"] }
xfetch-plugin-api = { path = "../api/crates/plugin-api" }
xfetch-extension-api = { path = "../api/crates/extension-api" }
xfetch-effect-api = { path = "../api/crates/effect-api" }
Plugins, extensions and effects are standalone executables. The core writes
one JSON request to stdin, the program reads it, and writes one
JSON response to stdout.
- See Plugin SDK for the plugin API.
- See Extension SDK for the extension API.
- See Effect SDK for the effect API.
- See Protocol Reference for the wire formats.
- See Examples for minimal implementations.