Squash the current repository state back into one baseline commit while
preserving the README reframing and repository contents.

Constraint: User explicitly requested a single squashed commit with subject "asdf"
Confidence: high
Scope-risk: broad
Reversibility: clean
Directive: This commit intentionally rewrites published history; coordinate before future force-pushes
Tested: git status clean; local history rewritten to one commit; force-pushed main to origin and instructkr
Not-tested: Fresh clone verification after push
This commit is contained in:
did:key:z6MkqDnb7Siv3Cwj7pGJq4T5EsUisECqR8KpnDLwcaZq5TPr
2026-03-31 03:34:03 -07:00
commit d2542c9a62
1903 changed files with 513517 additions and 0 deletions

View File

@@ -0,0 +1,29 @@
import { execa } from 'execa'
import { which } from '../which.js'
export type GhAuthStatus =
| 'authenticated'
| 'not_authenticated'
| 'not_installed'
/**
* Returns gh CLI install + auth status for telemetry.
* Uses which() first (Bun.which — no subprocess) to detect install, then
* exit code of `gh auth token` to detect auth. Uses `auth token` instead of
* `auth status` because the latter makes a network request to GitHub's API,
* while `auth token` only reads local config/keyring. Spawns with
* stdout: 'ignore' so the token never enters this process.
*/
export async function getGhAuthStatus(): Promise<GhAuthStatus> {
const ghPath = await which('gh')
if (!ghPath) {
return 'not_installed'
}
const { exitCode } = await execa('gh', ['auth', 'token'], {
stdout: 'ignore',
stderr: 'ignore',
timeout: 5000,
reject: false,
})
return exitCode === 0 ? 'authenticated' : 'not_authenticated'
}