RAGSpine
Getting Started

CLI & Scripts

Installed ragspine commands and source-checkout Make/script entry points.

The ragspine console command ships in the wheel. scripts/ and the root Makefile are development conveniences available only in a source checkout.

Installed console command

CommandPurpose
ragspine quickstartdeterministic offline demonstration
ragspine ask --db PATH "question"one question through the mock/offline path
ragspine versioninstalled distribution version
ragspine dify analyze FILEparse and statically analyze a Dify workflow; no code generation or execution
ragspine dify compile FILEcompile Dify workflow configuration to Python source; does not execute it
ragspine workflow listlist bundled template metadata
ragspine workflow show ID --format yaml|jsonprint one bundled workflow
ragspine workflow preview IDemit the versioned display-only graph projection
ragspine workflow create DESCRIPTIONmatch a template or generate a base Dify 0.6 workflow

This shorthand is equivalent to workflow create:

ragspine "A RAG form-understanding paper workflow using CNN"

Workflow-create options

OptionMeaning
--template IDselect an exact catalog template and skip matching
--no-reusealways generate the fixed base workflow
--matcher lexical|auto|onnxchoose deterministic lexical matching, automatic ONNX/fallback, or required ONNX
--format yaml|jsonserialized output format; default YAML
-o, --output PATHoutput path
--stdoutwrite only the workflow document to standard output
--forcereplace an existing normal file; links and special files remain forbidden

The ONNX matcher requires [embed-onnx]; first use may download and cache its model. auto falls back to lexical matching when ONNX is unavailable, while explicit onnx reports an error.

dify compile and dify analyze accept .json, .yaml, .yml, and .toml paths. Parsing normalizes them to a JSON-compatible mapping before Dify validation. Compilation generates code; only the separately gated service run endpoint executes compiled output.

Source-checkout Make targets

Run all of these from the repository root.

TargetPurpose
make venvcreate .venv with uv
make installeditable [dev,service,vector] install
make install-alleditable [dev,service,vector,llm,embed] install; not identical to [all]
make testpytest excluding GPU/network tests
make ciblocking eight-stage documentation, typing, lint, test, QA, and demo gate
make lintinformational scripts/lint.sh; the CI gate invokes strict mypy and ruff separately
make fmtruff fixes and formatting
make driftdocumentation-to-code drift check
make demo, make ask Q="…"deterministic demo and single question
make eval-qa, make eval-retrievalQA and retrieval evaluation
make serve, make workerFastAPI server and Redis-backed RQ worker
make build, make publish-test, make publishbuild and Twine upload workflow

The local CI script is the authoritative gate. The eight stages are documentation-reference integrity, documentation drift, mypy --strict, ruff, the normal test suite, isolated Docling tests, QA ratchets in tool and agent modes, and the demo smoke test.

Important scripts

  • scripts/ask.py: one-shot question interface. --provider mock is deterministic; the real Anthropic adapter requires [llm] and credentials. The project author cannot access the Anthropic API, so that provider path has not received the same hands-on integration coverage.
  • scripts/run_demo.py: fully offline fixture-to-answer smoke test.
  • scripts/run_server.py: uvicorn launcher with --host and --port.
  • scripts/run_worker.py: RQ consumer; --queue defaults to ragspine-ingest.
  • scripts/topology.py: exports static engine topology as Mermaid, DOT, or JSON.

There are intentionally no ragspine serve, ragspine worker, or ragspine topology console subcommands at present; those remain source-checkout scripts.

On this page