Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
38 changes: 38 additions & 0 deletions .conflow.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# conflow pipeline - Full generate → validate → export
version: "1"
name: "statistease"

stages:
- name: "generate"
description: "Generate configuration using Nickel"
tool:
type: nickel
command: export
file: configs/config.ncl
format: json
input: "configs/config.ncl"
output: generated/config.json

- name: "validate"
description: "Validate against CUE schema"
tool:
type: cue
command: vet
schemas:
- schemas/config.cue
input:
from_stage: generate
depends_on:
- generate

- name: "export"
description: "Export final configuration as YAML"
tool:
type: cue
command: export
out_format: yaml
input:
from_stage: generate
output: deploy/config.yaml
depends_on:
- validate
11 changes: 11 additions & 0 deletions configs/config.ncl
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# Configuration generation
{
name = "my-app",
replicas =
let env = "dev" in
if env == "prod" then 5
else if env == "staging" then 3
else 1,
port = 8080,
env = "dev",
}
9 changes: 9 additions & 0 deletions schemas/config.cue
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
// Configuration schema
package config

#Config: {
name: string
replicas: int & >=1
port: int & >=1 & <=65535
env: string
}
26 changes: 26 additions & 0 deletions wokelangiser.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# SPDX-License-Identifier: PMPL-1.0-or-later
# wokelangiser manifest for statistease

[project]
name = "statistease"

[consent]
gdpr = true
ccpa = true
default-state = "opt-out"
categories = ["functional", "analytics"]

[accessibility]
wcag-level = "AA"
check-contrast = true
check-alt-text = true
check-aria = true
min-contrast-ratio = 4.5

[i18n]
default-locale = "en-GB"
supported-locales = ["en-GB", "fr-FR", "de-DE"]
extract-strings = true

[report]
format = "text"
Loading