Latest commit

History

73 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Maintenance Policy

One repo that remembers, so the others don't have to.

The StageFreightgovernance control repo for the PrPlanIT / HomeLabHD fleet — the one place that owns the three things every managed repo would otherwise duplicate and drift on: identity (orgs: + metadata:), policy (the shared preset/ CI lifecycle), and the catalog of governed repos. When its pipeline runs, stagefreight governance reconcile resolves the presets, stamps each repo's identity, and commits the managed config back into the satellite — a fleet-wide change is one commit here, not N commits everywhere.

GitHubGitLablicenseOpen IssuesOpen PRsContributorsdonatesponsor

pipelineLast CommitStageFreight

How it works

This repo is a StageFreight-managed repo — it runs in governance mode. Governance is presence-gated: declaring governance.profiles in .stagefreight.yml is what activates it; the mode selects this repo's own phase behavior.

 MaintenancePolicy (control repo) satellite repo
┌────────────────────────────┐ ┌───────────────────────────┐
│ orgs: identity │ reconcile │ .stagefreight.yml │
│ metadata: branding │ ─────────▶ │ (managed, sealed) │
│ preset/*: shared policy │ (publish) │ .stagefreight/preset-cache │
│ governance.profiles: who │ │ metadata: (distributed) │
└────────────────────────────┘ └───────────────────────────┘

The plan is previewed in perform (no writes); the apply — committing to each satellite's forge — runs in publish, the phase that owns forge mutation, and only from an accepted commit on the default branch.

The catalog

Each entry under governance.profiles.<profile>.repos is anchored on the repo's forge location — org and slug derive from it. A branded entry (with title/description/topics/license) governs that repo's identity wholesale; a bare-string entry governs CI only and leaves identity to the repo.

KindGovernsIdentity author
Branded entry (at: + branding)CI policy and identitythe catalog
Location-only (bare string)CI policy onlythe repo itself

Structure

PathWhat it holds
.stagefreight.ymlThis repo's own identity + the governance catalog
preset/Section-scoped policy fragments (one top-level key per file), distributed to satellites
docs/Rationale and reference
claude-code/Claude Code project settings distributed to governed repos

Governed files

Governance manages specific files in satellite repos, each with one of two behaviors:

  • authoritative — governance defines the file; drift is replaced.
  • advisory — governance may seed or validate the file; drift is not overwritten.

Which files are governed, and how, is declared by policy — never hardcoded by filename. Detaching from governance is always possible.


Part of the PrPlanIT fleet · governed by StageFreight

About

The StageFreight governance control repo: one place that owns org identity, per-repo branding, and shared lifecycle policy, reconciled into satellite repos.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Latest commit

History

73 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Maintenance Policy

One repo that remembers, so the others don't have to.

The StageFreightgovernance control repo for the PrPlanIT / HomeLabHD fleet — the one place that owns the three things every managed repo would otherwise duplicate and drift on: identity (orgs: + metadata:), policy (the shared preset/ CI lifecycle), and the catalog of governed repos. When its pipeline runs, stagefreight governance reconcile resolves the presets, stamps each repo's identity, and commits the managed config back into the satellite — a fleet-wide change is one commit here, not N commits everywhere.

GitHubGitLablicenseOpen IssuesOpen PRsContributorsdonatesponsor

pipelineLast CommitStageFreight

How it works

This repo is a StageFreight-managed repo — it runs in governance mode. Governance is presence-gated: declaring governance.profiles in .stagefreight.yml is what activates it; the mode selects this repo's own phase behavior.

 MaintenancePolicy (control repo) satellite repo
┌────────────────────────────┐ ┌───────────────────────────┐
│ orgs: identity │ reconcile │ .stagefreight.yml │
│ metadata: branding │ ─────────▶ │ (managed, sealed) │
│ preset/*: shared policy │ (publish) │ .stagefreight/preset-cache │
│ governance.profiles: who │ │ metadata: (distributed) │
└────────────────────────────┘ └───────────────────────────┘

The plan is previewed in perform (no writes); the apply — committing to each satellite's forge — runs in publish, the phase that owns forge mutation, and only from an accepted commit on the default branch.

The catalog

Each entry under governance.profiles.<profile>.repos is anchored on the repo's forge location — org and slug derive from it. A branded entry (with title/description/topics/license) governs that repo's identity wholesale; a bare-string entry governs CI only and leaves identity to the repo.

KindGovernsIdentity author
Branded entry (at: + branding)CI policy and identitythe catalog
Location-only (bare string)CI policy onlythe repo itself

Structure

PathWhat it holds
.stagefreight.ymlThis repo's own identity + the governance catalog
preset/Section-scoped policy fragments (one top-level key per file), distributed to satellites
docs/Rationale and reference
claude-code/Claude Code project settings distributed to governed repos

Governed files

Governance manages specific files in satellite repos, each with one of two behaviors:

  • authoritative — governance defines the file; drift is replaced.
  • advisory — governance may seed or validate the file; drift is not overwritten.

Which files are governed, and how, is declared by policy — never hardcoded by filename. Detaching from governance is always possible.


Part of the PrPlanIT fleet · governed by StageFreight

About

The StageFreight governance control repo: one place that owns org identity, per-repo branding, and shared lifecycle policy, reconciled into satellite repos.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

73 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Maintenance Policy

One repo that remembers, so the others don't have to.

The StageFreightgovernance control repo for the PrPlanIT / HomeLabHD fleet — the one place that owns the three things every managed repo would otherwise duplicate and drift on: identity (orgs: + metadata:), policy (the shared preset/ CI lifecycle), and the catalog of governed repos. When its pipeline runs, stagefreight governance reconcile resolves the presets, stamps each repo's identity, and commits the managed config back into the satellite — a fleet-wide change is one commit here, not N commits everywhere.

GitHubGitLablicenseOpen IssuesOpen PRsContributorsdonatesponsor

pipelineLast CommitStageFreight

How it works

This repo is a StageFreight-managed repo — it runs in governance mode. Governance is presence-gated: declaring governance.profiles in .stagefreight.yml is what activates it; the mode selects this repo's own phase behavior.

 MaintenancePolicy (control repo) satellite repo
┌────────────────────────────┐ ┌───────────────────────────┐
│ orgs: identity │ reconcile │ .stagefreight.yml │
│ metadata: branding │ ─────────▶ │ (managed, sealed) │
│ preset/*: shared policy │ (publish) │ .stagefreight/preset-cache │
│ governance.profiles: who │ │ metadata: (distributed) │
└────────────────────────────┘ └───────────────────────────┘

The plan is previewed in perform (no writes); the apply — committing to each satellite's forge — runs in publish, the phase that owns forge mutation, and only from an accepted commit on the default branch.

The catalog

Each entry under governance.profiles.<profile>.repos is anchored on the repo's forge location — org and slug derive from it. A branded entry (with title/description/topics/license) governs that repo's identity wholesale; a bare-string entry governs CI only and leaves identity to the repo.

KindGovernsIdentity author
Branded entry (at: + branding)CI policy and identitythe catalog
Location-only (bare string)CI policy onlythe repo itself

Structure

PathWhat it holds
.stagefreight.ymlThis repo's own identity + the governance catalog
preset/Section-scoped policy fragments (one top-level key per file), distributed to satellites
docs/Rationale and reference
claude-code/Claude Code project settings distributed to governed repos

Governed files

Governance manages specific files in satellite repos, each with one of two behaviors:

  • authoritative — governance defines the file; drift is replaced.
  • advisory — governance may seed or validate the file; drift is not overwritten.

Which files are governed, and how, is declared by policy — never hardcoded by filename. Detaching from governance is always possible.


Part of the PrPlanIT fleet · governed by StageFreight

About

The StageFreight governance control repo: one place that owns org identity, per-repo branding, and shared lifecycle policy, reconciled into satellite repos.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

73 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Maintenance Policy

One repo that remembers, so the others don't have to.

The StageFreightgovernance control repo for the PrPlanIT / HomeLabHD fleet — the one place that owns the three things every managed repo would otherwise duplicate and drift on: identity (orgs: + metadata:), policy (the shared preset/ CI lifecycle), and the catalog of governed repos. When its pipeline runs, stagefreight governance reconcile resolves the presets, stamps each repo's identity, and commits the managed config back into the satellite — a fleet-wide change is one commit here, not N commits everywhere.

GitHubGitLablicenseOpen IssuesOpen PRsContributorsdonatesponsor

pipelineLast CommitStageFreight

How it works

This repo is a StageFreight-managed repo — it runs in governance mode. Governance is presence-gated: declaring governance.profiles in .stagefreight.yml is what activates it; the mode selects this repo's own phase behavior.

 MaintenancePolicy (control repo) satellite repo
┌────────────────────────────┐ ┌───────────────────────────┐
│ orgs: identity │ reconcile │ .stagefreight.yml │
│ metadata: branding │ ─────────▶ │ (managed, sealed) │
│ preset/*: shared policy │ (publish) │ .stagefreight/preset-cache │
│ governance.profiles: who │ │ metadata: (distributed) │
└────────────────────────────┘ └───────────────────────────┘

The plan is previewed in perform (no writes); the apply — committing to each satellite's forge — runs in publish, the phase that owns forge mutation, and only from an accepted commit on the default branch.

The catalog

Each entry under governance.profiles.<profile>.repos is anchored on the repo's forge location — org and slug derive from it. A branded entry (with title/description/topics/license) governs that repo's identity wholesale; a bare-string entry governs CI only and leaves identity to the repo.

KindGovernsIdentity author
Branded entry (at: + branding)CI policy and identitythe catalog
Location-only (bare string)CI policy onlythe repo itself

Structure

PathWhat it holds
.stagefreight.ymlThis repo's own identity + the governance catalog
preset/Section-scoped policy fragments (one top-level key per file), distributed to satellites
docs/Rationale and reference
claude-code/Claude Code project settings distributed to governed repos

Governed files

Governance manages specific files in satellite repos, each with one of two behaviors:

  • authoritative — governance defines the file; drift is replaced.
  • advisory — governance may seed or validate the file; drift is not overwritten.

Which files are governed, and how, is declared by policy — never hardcoded by filename. Detaching from governance is always possible.


Part of the PrPlanIT fleet · governed by StageFreight

About

The StageFreight governance control repo: one place that owns org identity, per-repo branding, and shared lifecycle policy, reconciled into satellite repos.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Latest commit

History

73 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Maintenance Policy

One repo that remembers, so the others don't have to.

The StageFreightgovernance control repo for the PrPlanIT / HomeLabHD fleet — the one place that owns the three things every managed repo would otherwise duplicate and drift on: identity (orgs: + metadata:), policy (the shared preset/ CI lifecycle), and the catalog of governed repos. When its pipeline runs, stagefreight governance reconcile resolves the presets, stamps each repo's identity, and commits the managed config back into the satellite — a fleet-wide change is one commit here, not N commits everywhere.

GitHubGitLablicenseOpen IssuesOpen PRsContributorsdonatesponsor

pipelineLast CommitStageFreight

How it works

This repo is a StageFreight-managed repo — it runs in governance mode. Governance is presence-gated: declaring governance.profiles in .stagefreight.yml is what activates it; the mode selects this repo's own phase behavior.

 MaintenancePolicy (control repo) satellite repo
┌────────────────────────────┐ ┌───────────────────────────┐
│ orgs: identity │ reconcile │ .stagefreight.yml │
│ metadata: branding │ ─────────▶ │ (managed, sealed) │
│ preset/*: shared policy │ (publish) │ .stagefreight/preset-cache │
│ governance.profiles: who │ │ metadata: (distributed) │
└────────────────────────────┘ └───────────────────────────┘

The plan is previewed in perform (no writes); the apply — committing to each satellite's forge — runs in publish, the phase that owns forge mutation, and only from an accepted commit on the default branch.

The catalog

Each entry under governance.profiles.<profile>.repos is anchored on the repo's forge location — org and slug derive from it. A branded entry (with title/description/topics/license) governs that repo's identity wholesale; a bare-string entry governs CI only and leaves identity to the repo.

KindGovernsIdentity author
Branded entry (at: + branding)CI policy and identitythe catalog
Location-only (bare string)CI policy onlythe repo itself

Structure

PathWhat it holds
.stagefreight.ymlThis repo's own identity + the governance catalog
preset/Section-scoped policy fragments (one top-level key per file), distributed to satellites
docs/Rationale and reference
claude-code/Claude Code project settings distributed to governed repos

Governed files

Governance manages specific files in satellite repos, each with one of two behaviors:

  • authoritative — governance defines the file; drift is replaced.
  • advisory — governance may seed or validate the file; drift is not overwritten.

Which files are governed, and how, is declared by policy — never hardcoded by filename. Detaching from governance is always possible.


Part of the PrPlanIT fleet · governed by StageFreight

About

The StageFreight governance control repo: one place that owns org identity, per-repo branding, and shared lifecycle policy, reconciled into satellite repos.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

73 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Maintenance Policy

One repo that remembers, so the others don't have to.

The StageFreightgovernance control repo for the PrPlanIT / HomeLabHD fleet — the one place that owns the three things every managed repo would otherwise duplicate and drift on: identity (orgs: + metadata:), policy (the shared preset/ CI lifecycle), and the catalog of governed repos. When its pipeline runs, stagefreight governance reconcile resolves the presets, stamps each repo's identity, and commits the managed config back into the satellite — a fleet-wide change is one commit here, not N commits everywhere.

GitHubGitLablicenseOpen IssuesOpen PRsContributorsdonatesponsor

pipelineLast CommitStageFreight

How it works

This repo is a StageFreight-managed repo — it runs in governance mode. Governance is presence-gated: declaring governance.profiles in .stagefreight.yml is what activates it; the mode selects this repo's own phase behavior.

 MaintenancePolicy (control repo) satellite repo
┌────────────────────────────┐ ┌───────────────────────────┐
│ orgs: identity │ reconcile │ .stagefreight.yml │
│ metadata: branding │ ─────────▶ │ (managed, sealed) │
│ preset/*: shared policy │ (publish) │ .stagefreight/preset-cache │
│ governance.profiles: who │ │ metadata: (distributed) │
└────────────────────────────┘ └───────────────────────────┘

The plan is previewed in perform (no writes); the apply — committing to each satellite's forge — runs in publish, the phase that owns forge mutation, and only from an accepted commit on the default branch.

The catalog

Each entry under governance.profiles.<profile>.repos is anchored on the repo's forge location — org and slug derive from it. A branded entry (with title/description/topics/license) governs that repo's identity wholesale; a bare-string entry governs CI only and leaves identity to the repo.

KindGovernsIdentity author
Branded entry (at: + branding)CI policy and identitythe catalog
Location-only (bare string)CI policy onlythe repo itself

Structure

PathWhat it holds
.stagefreight.ymlThis repo's own identity + the governance catalog
preset/Section-scoped policy fragments (one top-level key per file), distributed to satellites
docs/Rationale and reference
claude-code/Claude Code project settings distributed to governed repos

Governed files

Governance manages specific files in satellite repos, each with one of two behaviors:

  • authoritative — governance defines the file; drift is replaced.
  • advisory — governance may seed or validate the file; drift is not overwritten.

Which files are governed, and how, is declared by policy — never hardcoded by filename. Detaching from governance is always possible.


Part of the PrPlanIT fleet · governed by StageFreight

About

The StageFreight governance control repo: one place that owns org identity, per-repo branding, and shared lifecycle policy, reconciled into satellite repos.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

73 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Maintenance Policy

One repo that remembers, so the others don't have to.

The StageFreightgovernance control repo for the PrPlanIT / HomeLabHD fleet — the one place that owns the three things every managed repo would otherwise duplicate and drift on: identity (orgs: + metadata:), policy (the shared preset/ CI lifecycle), and the catalog of governed repos. When its pipeline runs, stagefreight governance reconcile resolves the presets, stamps each repo's identity, and commits the managed config back into the satellite — a fleet-wide change is one commit here, not N commits everywhere.

GitHubGitLablicenseOpen IssuesOpen PRsContributorsdonatesponsor

pipelineLast CommitStageFreight

How it works

This repo is a StageFreight-managed repo — it runs in governance mode. Governance is presence-gated: declaring governance.profiles in .stagefreight.yml is what activates it; the mode selects this repo's own phase behavior.

 MaintenancePolicy (control repo) satellite repo
┌────────────────────────────┐ ┌───────────────────────────┐
│ orgs: identity │ reconcile │ .stagefreight.yml │
│ metadata: branding │ ─────────▶ │ (managed, sealed) │
│ preset/*: shared policy │ (publish) │ .stagefreight/preset-cache │
│ governance.profiles: who │ │ metadata: (distributed) │
└────────────────────────────┘ └───────────────────────────┘

The plan is previewed in perform (no writes); the apply — committing to each satellite's forge — runs in publish, the phase that owns forge mutation, and only from an accepted commit on the default branch.

The catalog

Each entry under governance.profiles.<profile>.repos is anchored on the repo's forge location — org and slug derive from it. A branded entry (with title/description/topics/license) governs that repo's identity wholesale; a bare-string entry governs CI only and leaves identity to the repo.

KindGovernsIdentity author
Branded entry (at: + branding)CI policy and identitythe catalog
Location-only (bare string)CI policy onlythe repo itself

Structure

PathWhat it holds
.stagefreight.ymlThis repo's own identity + the governance catalog
preset/Section-scoped policy fragments (one top-level key per file), distributed to satellites
docs/Rationale and reference
claude-code/Claude Code project settings distributed to governed repos

Governed files

Governance manages specific files in satellite repos, each with one of two behaviors:

  • authoritative — governance defines the file; drift is replaced.
  • advisory — governance may seed or validate the file; drift is not overwritten.

Which files are governed, and how, is declared by policy — never hardcoded by filename. Detaching from governance is always possible.


Part of the PrPlanIT fleet · governed by StageFreight

About

The StageFreight governance control repo: one place that owns org identity, per-repo branding, and shared lifecycle policy, reconciled into satellite repos.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Latest commit

History

73 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Maintenance Policy

One repo that remembers, so the others don't have to.

The StageFreightgovernance control repo for the PrPlanIT / HomeLabHD fleet — the one place that owns the three things every managed repo would otherwise duplicate and drift on: identity (orgs: + metadata:), policy (the shared preset/ CI lifecycle), and the catalog of governed repos. When its pipeline runs, stagefreight governance reconcile resolves the presets, stamps each repo's identity, and commits the managed config back into the satellite — a fleet-wide change is one commit here, not N commits everywhere.

GitHubGitLablicenseOpen IssuesOpen PRsContributorsdonatesponsor

pipelineLast CommitStageFreight

How it works

This repo is a StageFreight-managed repo — it runs in governance mode. Governance is presence-gated: declaring governance.profiles in .stagefreight.yml is what activates it; the mode selects this repo's own phase behavior.

 MaintenancePolicy (control repo) satellite repo
┌────────────────────────────┐ ┌───────────────────────────┐
│ orgs: identity │ reconcile │ .stagefreight.yml │
│ metadata: branding │ ─────────▶ │ (managed, sealed) │
│ preset/*: shared policy │ (publish) │ .stagefreight/preset-cache │
│ governance.profiles: who │ │ metadata: (distributed) │
└────────────────────────────┘ └───────────────────────────┘

The plan is previewed in perform (no writes); the apply — committing to each satellite's forge — runs in publish, the phase that owns forge mutation, and only from an accepted commit on the default branch.

The catalog

Each entry under governance.profiles.<profile>.repos is anchored on the repo's forge location — org and slug derive from it. A branded entry (with title/description/topics/license) governs that repo's identity wholesale; a bare-string entry governs CI only and leaves identity to the repo.

KindGovernsIdentity author
Branded entry (at: + branding)CI policy and identitythe catalog
Location-only (bare string)CI policy onlythe repo itself

Structure

PathWhat it holds
.stagefreight.ymlThis repo's own identity + the governance catalog
preset/Section-scoped policy fragments (one top-level key per file), distributed to satellites
docs/Rationale and reference
claude-code/Claude Code project settings distributed to governed repos

Governed files

Governance manages specific files in satellite repos, each with one of two behaviors:

  • authoritative — governance defines the file; drift is replaced.
  • advisory — governance may seed or validate the file; drift is not overwritten.

Which files are governed, and how, is declared by policy — never hardcoded by filename. Detaching from governance is always possible.


Part of the PrPlanIT fleet · governed by StageFreight

About

The StageFreight governance control repo: one place that owns org identity, per-repo branding, and shared lifecycle policy, reconciled into satellite repos.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors