make
This commit is contained in:
@@ -10,11 +10,13 @@ nav_order: 4
|
||||
This guide is for AI agents or developers using AI to build **traditional (Python) LNbits extensions**. It defines what to change, what not to change, and the expected structure.
|
||||
|
||||
## Hard Rules (Non-Negotiable)
|
||||
|
||||
- Do **not** change core LNbits files.
|
||||
- Only edit files inside your extension folder.
|
||||
- Do **not** add new Python dependencies unless explicitly approved.
|
||||
|
||||
## Extension Folder Layout (Python)
|
||||
|
||||
Your extension lives under:
|
||||
|
||||
```
|
||||
@@ -22,6 +24,7 @@ lnbits/extensions/<ext_id>/
|
||||
```
|
||||
|
||||
Typical files to edit:
|
||||
|
||||
- `views.py` (HTML routes)
|
||||
- `views_api.py` (API routes)
|
||||
- `crud.py` / `models.py` (storage logic + models)
|
||||
@@ -31,18 +34,22 @@ Typical files to edit:
|
||||
- `config.json`, `manifest.json`, `README.md`
|
||||
|
||||
## What You Can Do
|
||||
|
||||
Python extensions can:
|
||||
|
||||
- Define their own database schema via `migrations.py`
|
||||
- Run long-running background tasks via `*_start()` and `*_stop()` hooks
|
||||
- Access LNbits internal services directly in Python
|
||||
- Expose custom API routes under `/<ext_id>/api/v1/...`
|
||||
|
||||
## What You Must Not Do
|
||||
|
||||
- Do not modify core services or routes.
|
||||
- Do not patch LNbits internals for your extension.
|
||||
- Avoid direct DB access outside your own schema.
|
||||
|
||||
## Background Tasks
|
||||
|
||||
Implement background tasks by exposing:
|
||||
|
||||
```
|
||||
@@ -53,6 +60,7 @@ def <ext_id>_stop():
|
||||
Use `register_invoice_listener` or `wait_for_paid_invoices` if you need to react to payments.
|
||||
|
||||
## Testing Checklist
|
||||
|
||||
- Extension loads without errors.
|
||||
- Migrations apply cleanly.
|
||||
- Routes are registered under `/<ext_id>/...`.
|
||||
|
||||
Reference in New Issue
Block a user