Skip to content

Phase 3: AI pipeline generation and interactive wizard#5

Merged
netsirius merged 1 commit intomainfrom
feature/phase3-ai-generation
Apr 6, 2026
Merged

Phase 3: AI pipeline generation and interactive wizard#5
netsirius merged 1 commit intomainfrom
feature/phase3-ai-generation

Conversation

@netsirius
Copy link
Copy Markdown
Owner

@netsirius netsirius commented Apr 6, 2026

Summary

Adds AI-powered pipeline generation from natural language and an interactive step-by-step wizard.

AI Generation

  • LLMClient: HTTP client for Claude and OpenAI APIs using java.net.http (zero external dependencies)
  • PromptBuilder: schema-grounded prompts with full JSON Schema + connector reference
  • GenerateCommand: weaver generate "<description>" with validation loop (generate → validate → retry, max 3 attempts)
  • WeaverConfig: ~/.weaver/config.yaml for AI provider, model, API key configuration

Interactive Wizard

  • InteractiveWizard: step-by-step pipeline creation without LLM (weaver init --interactive)
  • Asks source type, connection, query, transforms, quality checks, sink type
  • Generates valid YAML with inline tests

Project Scaffolding

  • InitCommand: weaver init <project-name> creates project structure with example pipeline, connections.yaml, .env.example, .gitignore

Pipeline JSON Schema

  • core/src/main/resources/schemas/pipeline.schema.json for IDE autocomplete and LLM prompt grounding

New CLI commands

weaver init my-project              # Scaffold new project
weaver init --interactive            # Step-by-step wizard
weaver generate "description"        # AI pipeline generation

Test plan

  • sbt compile — All modules compile
  • sbt core/test — 47 tests pass
  • Manual: weaver init test-project creates project structure
  • Manual: weaver generate "read CSV, filter, write parquet" with ANTHROPIC_API_KEY set

AI Generation:
- LLMClient: HTTP client for Claude and OpenAI APIs (java.net.http, zero deps)
- PromptBuilder: schema-grounded prompts with JSON Schema + connector reference
- GenerateCommand: weaver generate "<description>" with validation loop
  (generate → validate → retry, max 3 attempts)
- WeaverConfig: ~/.weaver/config.yaml for AI provider, model, API key

Interactive Wizard:
- InteractiveWizard: step-by-step pipeline creation without LLM
  (weaver init --interactive)
- InitCommand: project scaffolding with example pipeline, connections,
  .env.example, .gitignore

Pipeline JSON Schema:
- core/src/main/resources/schemas/pipeline.schema.json for IDE autocomplete
  and LLM grounding

CLI commands:
- weaver init <project-name>: scaffold new project
- weaver init --interactive: step-by-step wizard
- weaver generate "<description>": AI pipeline generation
@netsirius netsirius merged commit 66c89e8 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