Skip to content

Commit 8949d1c

Browse files
revert(readme): restore canonical README.adoc (#44)
Restores canonical README.adoc and removes the README.md from the over-broad 'convert -> Markdown' pass. AsciiDoc is canonical; .md only on boj-server + hyperpolymath. Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1 parent d80b97b commit 8949d1c

2 files changed

Lines changed: 259 additions & 264 deletions

File tree

README.adoc

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

0 commit comments

Comments
 (0)