`get_nodes_by_type` is the tool that earns this its place: pulling every business-flow node at once lets a model match the format of what already exists before writing the next one. Consistency in a long document is a retrieval problem, and this treats it as one.
A structured document manager built for the problem of writing long requirements documents with an assistant: past a certain size the whole document no longer fits, and the structure falls apart. Lumina Docs stores the document as parent-child nodes in SQLite and queries them, so only the section being edited is loaded.
- Documents — `create_document` (each in its own table), `get_documents_list`, `delete_document`
- Markdown import — `import_markdown_file` parses the heading hierarchy automatically; `import_markdown_batch` takes wildcards
- Nodes — `create_node`, `get_node`, `update_node`, `delete_node` (with its children), `move_node`
- Query and export — `get_children`, `search_nodes`, `get_nodes_by_type`, `get_node_path`, `get_tree_structure`, `export_to_markdown`
- A command-line tool alongside the server: `tree` for the structure, `by-type` to pull one node type, and `export` to write markdown out
Python, installed from source with `pip install -e .` and launched as `python -m doc_manager`. Configuration is by environment variable: `DOC_MANAGER_DB_PATH` for the SQLite file, `DOC_MANAGER_EXPORT_DIR` for exports, `DOC_MANAGER_DATA_DIR` for the data root, plus `DOC_MANAGER_DEBUG` and `DOC_MANAGER_LOG_LEVEL`. Values can come from a `.env` file, the system environment, or the client config block.
Build from source — clone the repository and build it, then point your client at the binary
