diff --git a/README.md b/README.md index 4cb60ad..176112d 100644 --- a/README.md +++ b/README.md @@ -13,3 +13,61 @@ It has 4 standard entry points, defined in `pyproject.toml`: It has a Forgejo CI build action, defined in `.forgejo/actions/build.yaml`. +## Usage + +Just replace `foo` by the name of the plugin below. + +With `fish`: + +```fish +set NAME foo +set PNAME knoc_$NAME +set DNAME (echo $NAME | tr "_" "-") +``` + +or with bash: +```bash +NAME=foo +PNAME=knoc_$NAME +DNAME=$(echo $NAME | tr "_" "-") +``` + +Then: +```fish +git clone https://code.philo.ydns.eu/K-Net/knoc-plugin-template.git $DNAME +cd $DNAME +rm -rf .git +mv src/knoc_plugin_template src/$NAME +sed "s/plugin_template/$NAME/" -i pyproject.toml +sed "s/knoc-plugin-template/$DNAME/" -i pyproject.toml +sed "s/plugin_template/$NAME/" -i src/$PNAME/api.py +sed "s/plugin_template/$NAME/" -i src/$PNAME/cli.py +sed "s/plugin_template/$NAME/" -i src/$PNAME/settings.py +sed "s/plugin_template/$NAME/" -i src/$PNAME/workflows.py +uv venv +git init +``` + +Then, with `fish`: +```fish +. .venv/bin/activate.fish +uv sync +``` + +Or `bash`: +```bash +. .venv/bin/activate +uv sync +``` + +=> The package is ready. + +In a *knoc* development environment: +```fish +uv pip install -e ../$DNAME +knoc # Should display the new plugin's CLI tool +``` + +Finally, set the git upstream, edit, commit, tag, push. + +To add the plugin in a production image, add the name to the `PLUGIN` variable of the CI build tool, and deploy. \ No newline at end of file