generated from exteraGramPlugins/pluginBase
39 lines
1.7 KiB
Markdown
39 lines
1.7 KiB
Markdown
<p align="center">
|
|
<img src="images/icon.svg" width="128" height="128" alt="exteraGram Plugin Base icon">
|
|
</p>
|
|
|
|
<h1 align="center">exteraGram Plugin Base</h1>
|
|
|
|
**TL;DR:** a template repo for writing [exteraGram](https://exteragram.app) plugins as normal
|
|
multi-file Python projects. Write code in `src/`, run one command, get a single `.plugin`
|
|
file deployed to your phone or published to Releases.
|
|
|
|
## Description
|
|
|
|
exteraGram loads every plugin from exactly one Python file. This template lets you split a
|
|
plugin into ordinary modules and packages anyway: a bundler compiles `src/` and `plugin.json`
|
|
into that single file, an offline harness verifies the result without a device, ADB scripts
|
|
push it to a connected phone and reload it, and CI publishes every version to the repo's
|
|
Releases tab.
|
|
|
|
## Features
|
|
|
|
None for the end user. The bundled sample plugin (`Hello Bundle`) only proves that the
|
|
toolchain works. This repo is meant to be used as a **template** for creating other plugins:
|
|
click "Use this template" (or clone it), then replace `plugin.json` and `src/` with your own.
|
|
|
|
## Documentation
|
|
|
|
- [Development](docs/development.md): getting started, repo layout, building and verifying, icon export
|
|
- [How exteraGram plugins work](docs/how-plugins-work.md): the plugin format and lifecycle
|
|
- [Device setup and ADB automation](docs/device-and-adb.md): deploy, watch, logs, debugger
|
|
- [Versioning and releases](docs/versioning-and-releases.md): git hooks, auto-bump, CI publishing
|
|
- [SDK notes](docs/sdk-notes.md): condensed exteraGram SDK API surface
|
|
|
|
## Quick start
|
|
|
|
```bash
|
|
python3 tools/bundle.py --check # once after cloning: enables the git hooks
|
|
bash scripts/deploy.sh --enable # build + push to a connected device + enable
|
|
```
|