๐ Plugin System Overview¶
Gittxt supports optional plugins to extend its functionality beyond the CLI.
Plugins currently include:
- ๐ง gittxt-api
: FastAPI backend for web/app integrations
- ๐ gittxt-streamlit
: Streamlit UI for interactive scans and downloads, now with full CLI parity and AI Summary support
โ๏ธ How Plugins Work¶
Each plugin:
- Resides under the plugins/
directory
- Is launched using gittxt plugin run <name>
- Can be installed/uninstalled via CLI
- Manages its own dependencies via requirements.txt
๐ Plugin Lifecycle¶
You can manage plugins using:
gittxt plugin [COMMAND]
Available Commands:¶
Command | Description |
---|---|
list |
Show available and installed plugins |
install <name> |
Install a plugin (from internal template) |
uninstall <name> |
Remove a plugin from your system |
run <name> |
Launch a plugin (e.g., API server, Streamlit UI) |
๐งช Example Commands¶
gittxt plugin list
gittxt plugin install gittxt-api
gittxt plugin run gittxt-streamlit
๐ Plugin Directory Structure¶
All plugins live under:
plugins/
โโโ gittxt_api/
โโโ gittxt_streamlit/
โโโ ...
requirements.txt
- Entrypoint script(s)
- Localized dependencies
๐ง How Dependency Installation Works¶
Each plugin has its own requirements.txt
, such as:
plugins/gittxt-api/requirements.txt
plugins/gittxt-streamlit/requirements.txt
When you run a plugin like:
gittxt plugin run gittxt-streamlit
โ This design keeps the core CLI lightweight and avoids unnecessary dependencies.
๐ Safe Defaults¶
- All plugin paths are sandboxed inside the project repo
- No external fetching is done unless plugins are manually added
- Dependency installation is local to the plugin scope
Next: - API Plugin โก - Streamlit Plugin โก