You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Is there anything in this repo that would prevent it from becoming open source?
I audited the current main tree (shallow clone, 167 files). Short answer: one hard blocker, four disclosure decisions, and one check that still has to be run. No secrets found.
1. Hard blocker — there is no LICENSE
gh repo view reports licenseInfo: null, and there is no LICENSE* file in the tree. Making the repo public without one does not make it open source — with no license, default copyright applies and nobody may use, modify, or redistribute it.
Action: pick a license (MIT or Apache-2.0; Apache-2.0 if you want the explicit patent grant) and add LICENSE. Add a short License section to README.md.
2. repo1.dso.mil is the hardcoded default host
Not a legal blocker — repo1.dso.mil is a public-facing DoD GitLab — but it's baked into shipped code, not just fixtures:
File
What
internal/config/config.go:50
Host: "repo1.dso.mil" — the default config value
glkcli/init.go:13
host = "repo1.dso.mil" in the scaffolded config template
glkcli/artifacts.go:26
"repo1.dso.mil": { — host allowlist entry
glkcli/work_items.go:13
help URL pinned to that host
It appears in ~25 files overall including README.md, ARCHITECTURE.md, skill/SKILL.md, and the test suite.
Decision required: publishing this advertises that Radius Method works Platform One / Big Bang, and makes the tool read as single-tenant rather than a general GitLab CLI. Either (a) keep it as a documented default, or (b) make host required with no default and move repo1 to an example. Option (b) is the better OSS posture and is a small change; config_test.go asserts the default in three places and would need updating with it.
3. The PRD is internal product content
gitlab-kiosk-prd.md opens with the tool's purpose framed around "Platform One / DoD GitLab" and "Claude Code needs frequent read access to repo1.dso.mil during Platform One / Big Bang work", plus the rationale for replacing a prior MCP server. 14 dso.mil references.
Action: remove it from the public repo, or rewrite as a neutral DESIGN.md without the engagement framing.
4. docs-local/ is internal ops notes
docs-local/macos-go-test-approval-repro-2026-04-13.md documents reproducing "the real operator pain on managed macOS" — managed-device execution policy details. Internal troubleshooting, not user-facing.
Action: drop the directory (or move it out of the repo).
That works for a private repo with keys configured; a public formula should build from HTTPS or release tarballs so anyone can brew install. Also review .goreleaser.yml and .github/workflows/release.yml for private-tap assumptions and org-scoped secrets.
What is already clean — no action needed
No secrets. Every glpat- occurrence is a placeholder (glpat-xxxxxxxxxxxxxxxxxxxx in README.md:242 and glkcli/init.go:17) or a test literal (glpat-secret in internal/gitlab/client_test.go). .envrc.example contains only commented placeholders.
Recorded HTTP fixtures are scrubbed.testdata/fixtures/*.json and internal/vcr/testdata/*.json reference repo1.dso.mil but contain no auth headers, tokens, or email addresses. The recorded content is public projects (Big Bang, Kyverno).
Dependencies are permissive.BurntSushi/toml (MIT), spf13/cobra + pflag (Apache-2.0), go.yaml.in/yaml/v3, modernc.org/sqlite (BSD-3). No copyleft. A formal go-licenses inventory is still worth generating for the record.
AGENTS.md / CLAUDE.md are fine to publish in principle — give them a read for internal workflow references before flipping the switch.
6. Still to run — git history scan
This audit covered the current tree only (git clone --depth 1), so it says nothing about history. A credential committed and later removed is still public once the repo is. Run gitleaks detect or trufflehog git over full history before changing visibility, and if anything turns up, plan a history rewrite or a fresh-history re-publish rather than a simple flip.
Question
Is there anything in this repo that would prevent it from becoming open source?
I audited the current
maintree (shallow clone, 167 files). Short answer: one hard blocker, four disclosure decisions, and one check that still has to be run. No secrets found.1. Hard blocker — there is no LICENSE
gh repo viewreportslicenseInfo: null, and there is noLICENSE*file in the tree. Making the repo public without one does not make it open source — with no license, default copyright applies and nobody may use, modify, or redistribute it.Action: pick a license (MIT or Apache-2.0; Apache-2.0 if you want the explicit patent grant) and add
LICENSE. Add a short License section toREADME.md.2.
repo1.dso.milis the hardcoded default hostNot a legal blocker — repo1.dso.mil is a public-facing DoD GitLab — but it's baked into shipped code, not just fixtures:
internal/config/config.go:50Host: "repo1.dso.mil"— the default config valueglkcli/init.go:13host = "repo1.dso.mil"in the scaffolded config templateglkcli/artifacts.go:26"repo1.dso.mil": {— host allowlist entryglkcli/work_items.go:13It appears in ~25 files overall including
README.md,ARCHITECTURE.md,skill/SKILL.md, and the test suite.Decision required: publishing this advertises that Radius Method works Platform One / Big Bang, and makes the tool read as single-tenant rather than a general GitLab CLI. Either (a) keep it as a documented default, or (b) make
hostrequired with no default and move repo1 to an example. Option (b) is the better OSS posture and is a small change;config_test.goasserts the default in three places and would need updating with it.3. The PRD is internal product content
gitlab-kiosk-prd.mdopens with the tool's purpose framed around "Platform One / DoD GitLab" and "Claude Code needs frequent read access torepo1.dso.milduring Platform One / Big Bang work", plus the rationale for replacing a prior MCP server. 14dso.milreferences.Action: remove it from the public repo, or rewrite as a neutral
DESIGN.mdwithout the engagement framing.4.
docs-local/is internal ops notesdocs-local/macos-go-test-approval-repro-2026-04-13.mddocuments reproducing "the real operator pain on managed macOS" — managed-device execution policy details. Internal troubleshooting, not user-facing.Action: drop the directory (or move it out of the repo).
5. Packaging assumes a private repo
Formula/gitlab-kiosk.rbuses SSH URLs:That works for a private repo with keys configured; a public formula should build from HTTPS or release tarballs so anyone can
brew install. Also review.goreleaser.ymland.github/workflows/release.ymlfor private-tap assumptions and org-scoped secrets.What is already clean — no action needed
glpat-occurrence is a placeholder (glpat-xxxxxxxxxxxxxxxxxxxxinREADME.md:242andglkcli/init.go:17) or a test literal (glpat-secretininternal/gitlab/client_test.go)..envrc.examplecontains only commented placeholders.testdata/fixtures/*.jsonandinternal/vcr/testdata/*.jsonreferencerepo1.dso.milbut contain no auth headers, tokens, or email addresses. The recorded content is public projects (Big Bang, Kyverno).BurntSushi/toml(MIT),spf13/cobra+pflag(Apache-2.0),go.yaml.in/yaml/v3,modernc.org/sqlite(BSD-3). No copyleft. A formalgo-licensesinventory is still worth generating for the record.AGENTS.md/CLAUDE.mdare fine to publish in principle — give them a read for internal workflow references before flipping the switch.6. Still to run — git history scan
This audit covered the current tree only (
git clone --depth 1), so it says nothing about history. A credential committed and later removed is still public once the repo is. Rungitleaks detectortrufflehog gitover full history before changing visibility, and if anything turns up, plan a history rewrite or a fresh-history re-publish rather than a simple flip.Acceptance criteria
LICENSEexists andREADME.mdstates the license.config_test.goupdated.gitlab-kiosk-prd.mdanddocs-local/are removed or rewritten for a public audience.🐦⬛ Created with Crow via Claude Code