Skip to content

feat: plugin registry, list commands, and 5 tutorials#13

Merged
netsirius merged 3 commits intomainfrom
feature/registry-tutorials
Apr 6, 2026
Merged

feat: plugin registry, list commands, and 5 tutorials#13
netsirius merged 3 commits intomainfrom
feature/registry-tutorials

Conversation

@netsirius
Copy link
Copy Markdown
Owner

Summary

Plugin Registry

  • PluginLoader: scans ~/.weaver/plugins/ for external JARs at startup
  • weaver install connector-kafka — download from Maven Central
  • weaver install /path/to/connector.jar — install local JAR
  • weaver list connectors / transforms / plugins / all

Tutorials (5 complete pipelines)

  1. CSV to Parquet — File I/O, SQL, DataQuality
  2. Multi-source Join — parallel DAG, aggregation
  3. RAG Pipeline — document chunking
  4. LLM Classification — Gemini/Ollama ticket classification
  5. Production ETL — PostgreSQL → DeltaLake with connections, profiles, merge

README

  • Tutorials table with links
  • Plugin registry docs
  • New CLI commands (install, list)

Test plan

  • sbt compile — all modules compile
  • CI green
  • weaver list all shows connectors and transforms

Plugin Registry:
- PluginLoader: scans ~/.weaver/plugins/ for external JARs at startup
- InstallCommand: weaver install connector-kafka (Maven Central or local JAR)
- ListCommand: weaver list connectors/transforms/plugins/all
- Shorthands for official connectors (connector-kafka, connector-mongodb, etc.)

Tutorials (5 complete pipelines with sample data):
1. CSV to Parquet: File I/O, SQL transforms, quality checks
2. Multi-source Join: parallel DAG, aggregation, JSON output
3. RAG Pipeline: document chunking for vector search
4. LLM Classification: Gemini/Ollama ticket classification
5. Production ETL: PostgreSQL → DeltaLake with connections, profiles, merge

README updated with tutorials table, plugin registry docs, and new CLI commands.
Explains what META-INF/services files are, shows project structure,
and clarifies that the file goes inside the connector project, not
in Data Weaver itself.
…rojects

New command: weaver scaffold <type> <name>

Connector scaffolding:
  weaver scaffold connector my-redis --type source
  weaver scaffold connector my-api --type both
  Generates: build.sbt, SourceConnector/SinkConnector with TODOs,
  ServiceLoader registration, tests, README, .gitignore

Transform scaffolding:
  weaver scaffold transform my-custom
  Generates: build.sbt, TransformPlugin with TODO, ServiceLoader

Private registry scaffolding:
  weaver scaffold registry my-company-connectors
  Generates: connectors/ dir, registry.yaml catalog,
  install.sh for team-wide installation

Zero manual setup — ServiceLoader files, package structure, and
build config are all generated automatically.
@netsirius netsirius merged commit feeb02b into main Apr 6, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant