| Crates.io | runeforge |
| lib.rs | runeforge |
| version | 25.8.0 |
| created_at | 2025-08-06 23:40:50.418054+00 |
| updated_at | 2025-08-07 00:22:28.201277+00 |
| description | Blueprint to optimal stack JSON converter - Part of Rune* Ecosystem |
| homepage | https://rune.cloud/forge |
| repository | https://github.com/rune-ecosystem/forge |
| max_upload_size | |
| id | 1784492 |
| size | 147,180 |
Blueprint to optimal stack JSON converter
Runeforge v3 is a CLI tool that takes a Blueprint (requirements specification) and returns an optimal technology stack as JSON. The generated plan.json can be directly passed to RuneWeave v2 and later versions.
cargo install --path .
runeforge plan -f blueprint.yaml --seed 42 --out plan.json
runeforge plan \
-f blueprint.yaml # Required: Blueprint file (YAML or JSON)
--seed 42 # Optional: Deterministic seed (default: 42)
--out plan.json # Optional: Output file (default: stdout)
--strict # Optional: Enable strict schema validation
| Code | Meaning |
|---|---|
| 0 | Success |
| 1 | Blueprint schema validation failed |
| 2 | Stack schema validation failed |
| 3 | No stack matches constraints |
project_name: "my-app"
goals:
- "high-performance"
- "low-cost"
constraints:
monthly_cost_usd_max: 100.0
coldstart_ms_max: 50.0
persistence: "both" # kv | sql | both
region_allow:
- "us-east-1"
- "eu-west-1"
compliance:
- "audit-log"
- "sbom"
traffic_profile:
rps_peak: 1000.0
global: true
latency_sensitive: false
prefs: # Optional preferences
frontend: ["SvelteKit", "Next.js"]
backend: ["Actix Web 4", "Axum"]
database: ["PlanetScale"]
ai: ["RuneSage", "OpenAI"]
single_language_mode: "rust" # rust | go | ts | null
{
"decisions": [
{
"topic": "backend",
"choice": "Actix Web 4.11",
"reasons": ["最高 RPS", "Tokio 1.47 安定"],
"alternatives": ["Axum"]
}
],
"stack": {
"language": "Rust",
"frontend": "SvelteKit 2",
"backend": "Actix Web 4.11",
"database": "PlanetScale Boost",
"cache": "Cloudflare KV",
"queue": "NATS JetStream 0.37",
"auth": "Passkeys(OIDC)",
"payments": "RuneVault → Stripe",
"ai": ["RuneSage", "OpenAI GPT-4o"],
"infra": "Terraform + Cloudflare Workers",
"ci_cd": "GitHub Actions"
},
"estimated": {
"monthly_cost_usd": 110.0
},
"slo": {
"availability_pct": 99.95,
"p95_ms": {
"read": 800.0,
"write": 1200.0
}
},
"risk": [
{
"id": "r1",
"desc": "Workers で TCP 制限",
"mitigation": "`connect()` API 経由で HTTP 化"
}
]
}
The repository includes three test cases:
runeforge plan -f examples/baseline.yaml --seed 42
runeforge plan -f examples/latency.yaml --seed 42
runeforge plan -f examples/compliance.yaml --seed 42
cargo build --release
cargo test
# Test baseline scenario
cargo run -- plan -f examples/baseline.yaml --seed 42
# Test with strict validation
cargo run -- plan -f examples/latency.yaml --seed 42 --strict
# Output to file
cargo run -- plan -f examples/compliance.yaml --seed 42 --out output.json
src/
├── main.rs # CLI interface (clap)
├── selector.rs # Stack selection logic
├── schema.rs # Schema validation & types
└── util.rs # Utilities (hash, random, etc.)
resources/
└── rules.yaml # Candidate definitions & weights
schemas/
├── blueprint.schema.json
└── stack.schema.json
examples/
├── baseline.yaml # Low cost scenario
├── latency.yaml # Ultra-low latency
└── compliance.yaml # Enterprise compliance
cargo test passesMIT License - see LICENSE for details.