spector-dist 📦¶
Single fat JAR distribution — all Spector modules in one deployable artifact.
spector-dist uses the Maven Shade Plugin to produce a single executable JAR that includes the MCP server, CLI, runtime, engine, memory, and all dependencies.
🏗️ What's Included¶
graph TD
DIST["spector-dist<br/><i>Fat JAR</i>"]
DIST --> MCP["spector-mcp<br/><i>MCP Server (stdio)</i>"]
DIST --> CLI["spector-cli<br/><i>spectorctl</i>"]
DIST --> RUNTIME["spector-runtime<br/><i>engine + memory</i>"]
DIST --> NODE["spector-node<br/><i>Armeria server</i>"]
RUNTIME --> ENGINE["spector-engine"]
RUNTIME --> MEMORY["spector-memory"]
RUNTIME --> INGESTION["spector-ingestion"]
🚀 Building¶
Output: spector-dist/target/spector.jar
🚀 Running¶
# Start the MCP server (for AI agents — Claude, Cursor, etc.)
java --add-modules jdk.incubator.vector \
--enable-native-access=ALL-UNNAMED --enable-preview \
-jar spector-dist/target/spector.jar \
--config spector.yml
# Start the Armeria node (REST + gRPC + SSE)
java --add-modules jdk.incubator.vector \
--enable-native-access=ALL-UNNAMED --enable-preview \
-cp spector-dist/target/spector.jar \
com.spectrayan.spector.node.SpectorNode
# Start the file ingestion pipeline
java --add-modules jdk.incubator.vector \
--enable-native-access=ALL-UNNAMED --enable-preview \
-cp spector-dist/target/spector.jar \
com.spectrayan.spector.ingestion.FileIngestionMain \
--config spector.yml --root .
📊 JAR Contents¶
The shaded JAR contains all transitive dependencies:
| Component | Modules |
|---|---|
| Core | spector-core, spector-commons, spector-config, spector-storage |
| Search | spector-index, spector-query, spector-gpu |
| Intelligence | spector-embed-api, spector-embed-ollama, spector-rag |
| Engine | spector-engine, spector-ingestion, spector-memory |
| Runtime | spector-runtime, spector-metrics |
| Interfaces | spector-mcp, spector-node, spector-cli, spector-client |
| Integration | spector-spring |