Skip to content

sakuraforge/bloom-cli

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 

Repository files navigation

Bloom CLI

Bloom CLI will be the unified command-line interface for crafting, inspecting, and (eventually) executing workflow definitions within the broader sakuraforge ecosystem.

Mission

Provide an ergonomic developer entrypoint to:

  • Initialize project workflow scaffolds
  • Validate workflow definitions (schema + semantics)
  • Plan hypothetical execution graphs
  • (Future) Trigger, monitor, and inspect runs once an orchestration engine exists

Philosophy

  1. Human‑readable declarative specs
  2. Fast feedback (lint / validate locally before committing)
  3. Extensible verbs (modular command architecture)
  4. Dry run & “plan before execute” mindset
  5. Composable with CI (non-interactive by design, with optional colored output)

Planned Early Commands (Conceptual)

Command Purpose (Future)
bloom init Generate a starter workflow.yaml
bloom validate Schema + structural checks
bloom plan Show resolved DAG / task order
bloom graph Output a DOT / ASCII representation
bloom run (Later) Execute via pipeline engine
bloom tasks list Enumerate tasks with metadata
bloom env render Show effective variable expansion

(Only a subset will appear initially—focus will be init and validate.)

Example Workflow Concept (Not Implemented)

apiVersion: bloom/v1
kind: Workflow
metadata:
  name: nightly-sync
spec:
  variables:
    REGION: us-east-1
  tasks:
    fetchUsers:
      type: http
      params:
        url: https://api.example.com/users
    transform:
      needs: [fetchUsers]
      type: container
      image: ghcr.io/example/transform:latest
    publish:
      needs: [transform]
      type: queue
      params:
        topic: processed-users

bloom plan (concept) might produce:

[fetchUsers] → [transform] → [publish]

Roadmap Outline (Aspirational)

  1. Command scaffolding & help system
  2. init (template generator)
  3. JSON Schema draft + validate
  4. DAG resolver + plan textual output
  5. Graph export (DOT)
  6. Execution stub integration (after pipeline core exists)
  7. Plugin command loading (task type extensions)
  8. Environment interpolation + secret placeholder handling

Non‑Goals (Early)

  • Full local execution engine (will depend on future pipeline project)
  • Remote orchestration connectivity (initially offline)
  • Complex interactive TUI (may arrive later separately)

Ecosystem Role

Bloom CLI sets UX expectations before the heavier orchestration layer (e.g., Sakura Pipeline) exists—allowing iteration on the workflow spec without deep runtime coupling.

Status

Currently a concept placeholder. No implementable code has shipped yet.

License

Intended license: Apache License 2.0 (will be present before any functional release).

Future Integration Ideas

  • Embed config loading via forge-config
  • Surface secret scan hints (delegate to sakura-secrets)
  • Scheduling previews referencing rhythm-engine capabilities later

“Bloom: define the flow before you grow the system that runs it.”

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published