Jonathan D.A. Jewell <jonathan.jewell@gmail.com> :toc: macro :toclevels: 3 :icons: font :source-highlighter: rouge :experimental: :url-github: https://github.com/hyperpolymath/fireflag :url-gitlab: https://gitlab.com/hyperpolymath/fireflag :url-bitbucket: https://bitbucket.org/hyperpolymath/fireflag :url-codeberg: https://codeberg.org/hyperpolymath/fireflag
Feature flag management with fire-and-forget semantics
fireflag is a feature flag management system designed around fire-and-forget semantics - set your flags and let the system handle propagation, caching, and consistency without manual intervention.
|
Important
|
Infrastructure Ready - Implementation Pending This repository contains comprehensive CI/CD infrastructure, policy enforcement, and multi-forge distribution. The actual feature flag implementation is the next phase of development. See ROADMAP.adoc for planned work. |
fireflag aims to provide:
-
Fire-and-Forget Flag Management - Configure once, propagate automatically
-
Type-Safe SDK - Built with ReScript for compile-time guarantees
-
Edge-Ready - Designed for distributed, low-latency evaluation
-
Self-Hostable - Full control over your feature flag infrastructure
-
FOSS-First - No vendor lock-in, dual-licensed MIT/AGPL-3.0
The repository is production-ready with comprehensive infrastructure:
| Workflow | Purpose |
|---|---|
|
Enforces language policy (blocks TypeScript, Go, non-SaltStack Python) |
|
Blocks npm/bun artifacts in favor of Deno |
|
Enforces Guix (primary) / Nix (fallback) package management |
|
Blocks weak crypto, HTTP URLs, hardcoded secrets |
|
RFC 9116 security.txt validation |
|
Validates SPDX headers, SHA-pinned actions, permissions |
|
Triggers forge propagation on push/release |
|
Syncs to GitLab and Bitbucket mirrors |
|
File permissions, secrets scanning, TODO tracking, EditorConfig |
|
Documentation site deployment |
|
Security analysis (activates with source code) |
|
OSSF security scorecard |
fireflag follows the Hyperpolymath Language Policy:
| Technology | Use Case |
|---|---|
ReScript |
Primary application code (type-safe, compiles to JS) |
Rust |
Performance-critical components, CLI tools, WASM |
Deno |
Runtime and package management (replaces Node/npm) |
Gleam |
Backend services (BEAM or JS target) |
Tauri 2.0+ / Dioxus |
Mobile applications (Rust-first approach) |
Bash/POSIX |
Build scripts and automation (minimal) |
TypeScript, Node.js, npm, Bun, Go, general Python, Java, Kotlin, Swift, React Native, Flutter
See .claude/CLAUDE.md for full language policy.
Dual-licensed under your choice of:
-
Palimpsest-MPL-1.0 License - Maximum flexibility for most uses
-
AGPL-3.0-or-later - Copyleft protection for network services
Additionally encourages (non-binding) adherence to Palimpsest License principles around consent-based digital interaction.
See LICENSE.txt for full terms.
Contributions welcome! Please ensure:
-
Code follows the approved technology stack
-
All CI checks pass
-
SPDX license headers on new files
-
SHA-pinned dependencies
See docs/CITATIONS.adoc for citation formats (BibTeX, APA, MLA, Harvard, OSCOLA).