Feature flags (ralph gated dark) + README rewrite around jobs to be done#523
Merged
Conversation
… can ship dark Introduce agr/features.py, a reusable env-var-backed feature-flag registry (feature_enabled), and register ralph -> AGR_ENABLE_RALPH. Add a defense-in-depth guard in fetch_and_install_ralph that raises RalphNotFoundError when the flag is off, with no message revealing the flag. Tests cover flag resolution and the installer guard on/off. An autouse conftest fixture enables the flag suite-wide so existing behaviour is preserved. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
… default
Add feature_enabled("ralph") checks at every ralph-install decision point so
that, with AGR_ENABLE_RALPH unset, agr behaves as if ralph install does not
exist — local add falls through to a generic not-a-skill error, remote add goes
skill->package, and package/sync ralph deps are skipped silently with no flag
leakage. With the flag on, behaviour is unchanged.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…re one line Excluded from the published site (contributing/**) so the dark ralph feature and AGR_ENABLE_RALPH stay invisible to end users. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Center the README on five concrete jobs (install from a repo, use local skills, share a team environment, upgrade, run once) and make the team / package-manager-for-skills framing and its payoff explicit. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This branch bundles two related-but-distinct pieces of work:
1. Env-var feature flags + gating ralph install (ships dark)
agr/features.py: env-var-backed feature-flag registry.feature_enabled("ralph")readsAGR_ENABLE_RALPH; truthy =1/true/yes/on(case-insensitive). Adding a new gated feature is a one-line registry entry.fetch_and_install_ralph.docs/contributing/feature-flags.md(excluded from the published site so the feature stays dark for users).2. README rewrite around the jobs to be done
README.mdaround five concrete jobs: install from a repo, use local skills, share a team environment, upgrade, and run once withagrx.agr add ./path) andagrxare now first-class, previously buried or absent.Testing
uv run pytest: 1308 passed, 5 skipped (6 pre-existingtests/test_docs.pyfailures from an earlier docs-distill commit, unrelated to this branch).uv run ruff check .,uv run ty check,uv run mkdocs build --strictall pass.🤖 Generated with Claude Code