Skip to content

Commit 66ab278

Browse files
committed
Add sponsor badge
1 parent c1a8a57 commit 66ab278

1 file changed

Lines changed: 257 additions & 0 deletions

File tree

README.md

Lines changed: 257 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,257 @@
1+
[![Sponsor](https://img.shields.io/badge/Sponsor-%E2%9D%A4-pink?logo=github)](https://github.com/sponsors/hyperpolymath)
2+
3+
= conflow - Configuration Flow Orchestrator
4+
5+
image:https://img.shields.io/badge/License-PMPL--1.0-blue.svg[License: PMPL-1.0,link="https://github.com/hyperpolymath/palimpsest-license"]
6+
image:https://img.shields.io/badge/Philosophy-Palimpsest-indigo.svg[Palimpsest,link="https://github.com/hyperpolymath/palimpsest-license"]
7+
8+
9+
:toc: left
10+
:toclevels: 3
11+
:icons: font
12+
:source-highlighter: rouge
13+
14+
Intelligently orchestrate CUE, Nickel, and configuration validation workflows.
15+
16+
image:https://img.shields.io/badge/RSR-Silver-silver[RSR Compliance, link=https://gitlab.com/hyperpolymath/rhodium-standard-repositories]
17+
image:https://img.shields.io/badge/Rust-1.75+-orange[Rust Version]
18+
19+
== Why conflow?
20+
21+
*Problem:* You have configuration files and you're not sure whether to use CUE, Nickel, or both.
22+
23+
*Solution:* conflow analyzes your configs, recommends the right tool, and orchestrates the entire pipeline.
24+
25+
[source,bash]
26+
----
27+
# Instead of:
28+
nickel export config.ncl > temp.json
29+
cue vet schema.cue temp.json
30+
cue export schema.cue --out yaml > deploy.yaml
31+
rm temp.json
32+
33+
# Just:
34+
conflow run
35+
----
36+
37+
== Features
38+
39+
* *Intelligent analysis* - Recommends CUE vs Nickel based on complexity
40+
* *Pipeline orchestration* - Chain tools with dependency management
41+
* *Smart caching* - Only re-run what changed
42+
* *Educational* - Learn why certain tools fit certain problems
43+
* *Type-safe* - Catch errors before deployment
44+
* *RSR Integration* - Full Rhodium Standard Repository compliance checking
45+
46+
== Quick Start
47+
48+
[source,bash]
49+
----
50+
# Install
51+
cargo install conflow
52+
53+
# Initialize
54+
conflow init my-project
55+
56+
# Analyze existing configs
57+
conflow analyze config.yaml
58+
59+
# Run pipeline
60+
conflow run
61+
----
62+
63+
== Example Pipeline
64+
65+
[source,yaml]
66+
----
67+
# .conflow.yaml
68+
version: "1"
69+
name: "k8s-deployment"
70+
71+
stages:
72+
- name: "generate"
73+
tool:
74+
type: nickel
75+
command: export
76+
file: config.ncl
77+
output: generated/config.json
78+
79+
- name: "validate"
80+
tool:
81+
type: cue
82+
command: vet
83+
schemas: [schemas/k8s.cue]
84+
input:
85+
from_stage: generate
86+
depends_on: [generate]
87+
88+
- name: "export"
89+
tool:
90+
type: cue
91+
command: export
92+
out_format: yaml
93+
input:
94+
from_stage: generate
95+
depends_on: [validate]
96+
output: deploy/k8s.yaml
97+
----
98+
99+
[source,bash]
100+
----
101+
$ conflow run
102+
✓ generate (0.08s)
103+
✓ validate (0.05s)
104+
✓ export (0.03s)
105+
106+
Pipeline completed in 0.16s
107+
----
108+
109+
== When to Use What?
110+
111+
=== Use CUE when:
112+
113+
* ✅ Validating configuration
114+
* ✅ Expressing constraints
115+
* ✅ Merging configurations
116+
* ✅ Simple transformations
117+
118+
=== Use Nickel when:
119+
120+
* ✅ Generating configurations
121+
* ✅ Complex logic needed
122+
* ✅ Functions and abstraction
123+
* ✅ DRY configuration
124+
125+
=== Use Both when:
126+
127+
* ✅ Nickel generates → CUE validates
128+
* ✅ Complex generation + strict validation
129+
130+
== Commands
131+
132+
[cols="1,2"]
133+
|===
134+
|Command |Description
135+
136+
|`conflow init [--template <name>]`
137+
|Initialize project
138+
139+
|`conflow analyze <files>`
140+
|Analyze config files
141+
142+
|`conflow run [--stage <name>]`
143+
|Execute pipeline
144+
145+
|`conflow watch`
146+
|Watch mode
147+
148+
|`conflow validate`
149+
|Validate pipeline
150+
151+
|`conflow graph [--format <fmt>]`
152+
|Show pipeline graph
153+
154+
|`conflow cache stats`
155+
|Cache statistics
156+
157+
|`conflow cache clear`
158+
|Clear cache
159+
160+
|`conflow rsr check`
161+
|Check RSR compliance
162+
163+
|`conflow rsr requirements`
164+
|List RSR requirements
165+
|===
166+
167+
== Templates
168+
169+
[source,bash]
170+
----
171+
conflow init --template cue-validation # Simple CUE validation
172+
conflow init --template nickel-generation # Nickel config generation
173+
conflow init --template full-pipeline # Generate → validate → export
174+
conflow init --template kubernetes # Kubernetes manifests
175+
conflow init --template multi-env # Multi-environment configs
176+
----
177+
178+
== RSR Compliance
179+
180+
conflow includes full RSR (Rhodium Standard Repository) integration:
181+
182+
* *Compliance checking* - Validate against RSR requirements
183+
* *Auto-remediation* - Automatically fix common issues
184+
* *Badge generation* - Generate compliance badges for CI
185+
* *Diff reports* - Track compliance changes over time
186+
187+
[source,bash]
188+
----
189+
# Check compliance
190+
conflow rsr check
191+
192+
# Auto-fix issues
193+
conflow rsr check --fix
194+
195+
# Generate badge
196+
conflow rsr check --badge badge.svg
197+
----
198+
199+
== Development
200+
201+
[source,bash]
202+
----
203+
# Using Nix (recommended)
204+
nix develop
205+
206+
# Using just
207+
just build # Build
208+
just test # Run tests
209+
just check # Run all checks
210+
just install # Install locally
211+
----
212+
213+
== Documentation
214+
215+
* link:CLAUDE.md[CLAUDE.md] - AI assistant guidance
216+
* link:CONTRIBUTING.md[CONTRIBUTING.md] - Contribution guidelines
217+
* link:SECURITY.md[SECURITY.md] - Security policy
218+
* link:GOVERNANCE.md[GOVERNANCE.md] - Project governance
219+
* link:CODE_OF_CONDUCT.md[CODE_OF_CONDUCT.md] - Code of conduct
220+
221+
== RSR Standards
222+
223+
This project follows link:https://gitlab.com/hyperpolymath/rhodium-standard-repositories[Rhodium Standard Repository] guidelines:
224+
225+
* ✅ Memory-safe language (Rust)
226+
* ✅ Offline-first design
227+
* ✅ Reproducible builds (Nix)
228+
* ✅ Comprehensive documentation
229+
* ✅ SPDX license headers
230+
* ✅ Security policy
231+
* ✅ TPCF contribution framework
232+
233+
== License
234+
235+
This project is dual-licensed under:
236+
237+
* Palimpsest-MPL-1.0 License
238+
* Apache License, Version 2.0
239+
240+
See link:LICENSE.txt[LICENSE.txt] for details.
241+
242+
== Contributing
243+
244+
Contributions are welcome! Please read our link:CONTRIBUTING.md[Contributing Guide] first.
245+
246+
== Links
247+
248+
* *Repository:* https://gitlab.com/hyperpolymath/conflow
249+
* *Issues:* https://gitlab.com/hyperpolymath/conflow/-/issues
250+
* *CUE:* https://cuelang.org
251+
* *Nickel:* https://nickel-lang.org
252+
* *RSR:* https://gitlab.com/hyperpolymath/rhodium-standard-repositories
253+
254+
255+
== Architecture
256+
257+
See link:TOPOLOGY.md[TOPOLOGY.md] for a visual architecture map and completion dashboard.

0 commit comments

Comments
 (0)