Skip to content

KooshaPari/Configra

Repository files navigation

Downloads GitHub release License AI-Slop AI-Only-Maintained HITL-less

⚠️ AI-Agent-Only Repository

This repo is planned, maintained, and managed exclusively by AI Agents. Slop issues, rough edges, and AI artifacts are expected and intentionally present as part of an HITL-less / minimized AI-DD metaproject focused on learning, refining, and brute-force training both the agents and the human operator. Bug reports and contributions are still welcome, but please expect AI-generated code, comments, and documentation throughout.

Work state: ACTIVE · Progress: █████░░░░░ 50% Rust configuration framework (layered config/env/secrets); pre-1.0 · updated 2026-06-02

Pinned references (Phenotype-org)

  • MSRV: see rust-toolchain.toml
  • cargo-deny config: see deny.toml
  • cargo-audit: rustsec/audit-check@v2 weekly
  • Branch protection: 1 reviewer required, no force-push
  • Authority: phenotype-org-governance/SUPERSEDED.md

Configra (phenotype-config)

License: MIT Rust Status

Local-first configuration management, feature flags, secrets, and version tracking for Phenotype projects with auditable change history and CLI-first workflows.

Overview

Configra is a comprehensive configuration SDK for Phenotype projects providing consistent management of settings, feature flags, secrets, and version information. It offers local-first persistence with team collaboration support, full audit trails, and point-in-time restore capabilities.

Technology Stack

  • Language: Rust (primary), with Go/Python bindings available
  • Frameworks: Clap (CLI), Ratatui (TUI)
  • Persistence: SQLite with auto-migration
  • Cryptography: AES-256-GCM for secrets
  • Key Crates: pheno-core, pheno-db, pheno-crypto, pheno-cli

Key Features

  • Local-first configuration with team sync support
  • Feature flag lifecycle management (create, enable, disable, rollback)
  • Secret value storage with encryption at rest
  • Version inspection and rollout state tracking
  • Comprehensive audit trail with change history
  • Point-in-time restore capabilities
  • Interactive terminal UI (phenoctl tui)
  • CLI-first workflows with shell completion
  • SQLite backend with auto-migration
  • Zero external service dependencies

Quick Start

# Clone repository
git clone https://github.com/KooshaPari/Configra.git
cd Configra

# Review governance
cat CLAUDE.md

# Build all crates
cargo build --workspace

# Install CLI tool
cargo install --path pheno-cli

# Configure application settings
phenoctl config set app.name "My Application"
phenoctl config set app.version "1.0.0"

# Manage feature flags
phenoctl flags create dark-mode --description "Enable dark mode"
phenoctl flags enable dark-mode
phenoctl flags status

# Manage secrets
phenoctl secrets set API_KEY
phenoctl secrets set DATABASE_URL

# Check versions
phenoctl version show

# Interactive TUI
phenoctl tui

# Run tests
cargo test --workspace

Project Structure

Configra/
├── crates/
│   ├── pheno-core/                 # Core types and traits
│   │   ├── lib.rs
│   │   └── models.rs               # ConfigEntry, FeatureFlag, etc.
│   ├── pheno-db/                   # SQLite persistence
│   │   ├── lib.rs
│   │   ├── store.rs                # CRUD operations
│   │   ├── migrations.rs           # Schema management
│   │   └── audit.rs                # Audit trail
│   ├── pheno-crypto/               # AES-256-GCM encryption
│   │   ├── lib.rs
│   │   └── cipher.rs
│   └── pheno-cli/                  # CLI and TUI
│       ├── main.rs                 # Entry point
│       ├── commands/               # Command handlers
│       ├── tui/                    # Terminal UI
│       └── shell/                  # Shell completions
├── docs/
│   ├── ARCHITECTURE.md             # System design
│   ├── QUICKSTART.md               # Getting started
│   ├── GUIDE.md                    # Usage guide
│   └── API.md                      # API reference
├── tests/
│   ├── integration/                # Integration tests
│   └── e2e/                        # End-to-end tests
├── Cargo.toml                      # Workspace manifest
└── Cargo.lock                      # Dependency lock

Tier-2 Substrate Layout (T16, 2026-06-20)

Configra is a tier-2 library substrate per ADR-023 (agent-effort governance) + ADR-040 (test-coverage gates per tier). The canonical four-crate split, each with its own README, CHANGELOG, AGENTS, and ≥ 80 % line coverage, is:

Configra/                                  v0.4.0 (workspace)
├── crates/
│   ├── pheno-config/                      typed runtime Config + ConfigBuilder
│   │   ├── README.md · CHANGELOG.md · AGENTS.md · llms.txt
│   │   └── (env-var cascade, TOML+env overlay, combine())
│   ├── settly/                            settings lifecycle (validation, migration)
│   │   ├── README.md · CHANGELOG.md · AGENTS.md
│   │   └── (hexagonal: domain / application / adapters / infrastructure)
│   ├── config-schema/                     JSON schema validation primitives
│   │   ├── README.md · CHANGELOG.md · AGENTS.md   ← T16 NEW
│   │   └── (SchemaField + ConfigSchema + SchemaError)
│   └── phenotype-config-loader/           generic JSON/TOML file loaders
│       ├── README.md · CHANGELOG.md · AGENTS.md   ← T16 NEW
│       └── (load_json<T>, load_toml<T>, ConfigLoadError)
├── typescript/packages/conft/             TS edge layer (drained from Conft, PR-#47)
├── ABSORBED-FROM/                         index of the 8 source repos drained here
└── docs/migrations/                       per-source migration notes

Tier-2 quality bar (every sub-crate):

Artifact Status (2026-06-20) Owner
README.md ✅ all 4 sub-crates T16
CHANGELOG.md ✅ all 4 sub-crates T16
AGENTS.md ✅ all 4 sub-crates T16
Coverage ≥ 80 % ✅ library tier (ADR-040) ongoing
cargo clippy -- -D warnings CI
cargo audit ✅ weekly CI

Why four crates, not one? Each sub-crate has a distinct concern: runtime Config (pheno-config) vs. settings lifecycle (settly) vs. field-shape validation (config-schema) vs. raw file loading (phenotype-config-loader). Splitting keeps each surface minimal and lets downstream consumers depend on the smallest primitive they need.

See docs/migrations/ for per-source-repo migration notes and ABSORBED-FROM/ for the index of all 8 source repos drained into Configra.

Related Phenotype Projects

Governance & Documentation

  • CLAUDE.md — Development standards and AgilePlus mandate
  • docs/ARCHITECTURE.md — System design and crate relationships
  • docs/QUICKSTART.md — Getting started guide
  • docs/GUIDE.md — CLI and feature usage
  • License: MIT

Status: Active development
Maintained by: Phenotype Org
Last Updated: 2026-04-24

License

MIT — see LICENSE.

About

Phenotype-org configuration framework

Topics

Resources

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors