Automatically scanned data. Review the source before installing. Levels describe capabilities, not a safety certification.
Incomplete scan.Cannot resolve import ../types; Cannot resolve import ../../types; Dependency imports exceed the scan limit
View matches (68)
Read files · line172 lineclaude-code/hud/hooks/register.tsxstat: path => $.fs.stat(path, { resolve: true }),
Read files · line173 lineclaude-code/hud/hooks/register.tsxread: path => $.fs.read(path),
Read files · line174 lineclaude-code/hud/hooks/register.tsxlist: path => $.fs.list(path),
Write files · line175 lineclaude-code/hud/hooks/register.tsxwrite: (path, text) => $.fs.write(path, text),
Execute commands · line176 lineclaude-code/hud/hooks/register.tsxrun: (argv, init) => $.process.run(argv, init),
Register tools · line302 lineclaude-code/hud/hooks/register.tsxawait $.tool.register({
Intercept tool calls · line437 lineclaude-code/hud/hooks/register.tsxon('tool.call', { tool: /^mcp__hud__hud_debug$/ }, async () => {
Intercept tool calls · line447 lineclaude-code/hud/hooks/register.tsxon('tool.call', async ($, e, next) => {
Execute commands · line166 lineclaude-code/hud/hooks/extras.tsconst ab = /^# branch\.ab \+(\d+) -\d+/.exec(record)
Execute commands · line21 lineclaude-code/hud/hooks/hud/render/ansi.tsconst match = ESCAPE_AT.exec(str);
Execute commands · line143 lineclaude-code/hud/hooks/hud/render/ansi.tsconst url = /^\x1b\]8;;([^\x07\x1b]*)/.exec(token.text)?.[1];
Environment variables · line375 lineclaude-code/hud/hooks/hud/config.ts.replace(/\$\{([A-Za-z_][A-Za-z0-9_]*)\}/g, (match, name: string) => process.env[name] ?? match)
Read files · line500 lineclaude-code/hud/hooks/hud/config.tsconst content = fs.readFileSync(fd, 'utf-8');
Read files · line90 lineclaude-code/hud/hooks/shims/fs.tsexport function statSync(p: PathLike, options?: { throwIfNoEntry?: boolean }): Stats {
Read files · line105 lineclaude-code/hud/hooks/shims/fs.tsreturn statSync(fd)
Read files · line120 lineclaude-code/hud/hooks/shims/fs.tsexport function readFileSync(p: PathLike, _options?: unknown): string {
Read files · line124 lineclaude-code/hud/hooks/shims/fs.tsexport function readdirSync(p: string, options?: { withFileTypes?: boolean }): any[] {
Write files · line150 lineclaude-code/hud/hooks/shims/fs.tsexport function writeFileSync(p: PathLike, data: unknown, _options?: unknown): void {
Write files · line180 lineclaude-code/hud/hooks/shims/fs.tsexport function unlinkSync(p: string): void {
Write files · line188 lineclaude-code/hud/hooks/shims/fs.tsexport function mkdirSync(_p: string, _options?: unknown): void {}
Environment variables · line14 lineclaude-code/hud/hooks/hud/claude-config-dir.tsconst envConfigDir = process.env.CLAUDE_CONFIG_DIR?.trim();
Environment variables · line22 lineclaude-code/hud/hooks/hud/claude-config-dir.tsconst envConfigDir = process.env.CLAUDE_CONFIG_DIR?.trim();
Environment variables · line2 lineclaude-code/hud/hooks/hud/debug.tsconst enabled = process.env.DEBUG?.includes('claude-hud') || process.env.DEBUG === '*';
Environment variables · line12 lineclaude-code/hud/hooks/hud/utils/terminal.tsreturn columns(process.env.COLUMNS) ?? columns(process.stdout?.columns) ?? columns(process.stderr?.columns);
Execute commands · line136 lineclaude-code/hud/hooks/hud/git.tsconst sha = /^detached:([0-9a-f]+)$/.exec(ref)?.[1];
Execute commands · line171 lineclaude-code/hud/hooks/hud/git.tsconst match = /^\+(\d+) -(\d+)$/.exec(record.slice('# branch.ab '.length));
Environment variables · line10 lineclaude-code/hud/hooks/hud/git-runner.tsexport function createGitEnvironment(base: NodeJS.ProcessEnv = process.env): NodeJS.ProcessEnv {
Execute commands · line17 lineclaude-code/hud/hooks/hud/git-runner.tsexecFile('git', [...args], {
Execute commands · line73 lineclaude-code/hud/hooks/shims/child_process.tsexport function execFile(
Execute commands · line90 lineclaude-code/hud/hooks/shims/child_process.tsexport function exec(command: string, options?: ExecOptions | Callback, callback?: Callback): void {
Execute commands · line102 lineclaude-code/hud/hooks/shims/child_process.tsexport function execFileSync(file: string, ...rest: unknown[]): string {
Execute commands · line111 lineclaude-code/hud/hooks/shims/child_process.tsexport function spawn(): never {
Execute commands · line58 lineclaude-code/hud/hooks/hud/auth.tsconst match = /_(\d+x)$/i.exec(rateLimitTier);
Environment variables · line66 lineclaude-code/hud/hooks/hud/auth.tsexport function deriveAuthInfo(claudeJson: unknown, env: NodeJS.ProcessEnv = process.env): AuthInfo {
Environment variables · line109 lineclaude-code/hud/hooks/hud/auth.tsif (hasApiKey(process.env)) {
Read files · line113 lineclaude-code/hud/hooks/hud/auth.tsreturn deriveAuthInfo(JSON.parse(fs.readFileSync(getClaudeConfigJsonPath(os.homedir()), 'utf8')));
Read files · line66 lineclaude-code/hud/hooks/hud/daily-cost.tsconst value: unknown = JSON.parse(fs.readFileSync(ledgerPath, 'utf8'));
Read files · line93 lineclaude-code/hud/hooks/hud/daily-cost.tsreturn now - fs.statSync(ledgerPath).mtimeMs <= DAILY_COST_WRITE_THROTTLE_MS;
Write files · line102 lineclaude-code/hud/hooks/hud/daily-cost.tsfs.mkdirSync(path.dirname(ledgerPath), { recursive: true, mode: 0o700 });
Write files · line103 lineclaude-code/hud/hooks/hud/daily-cost.tsfs.writeFileSync(tmpPath, `${JSON.stringify(ledger, null, 2)}\n`, { mode: 0o600, flag: 'wx' });
Environment variables · line151 lineclaude-code/hud/hooks/hud/stdin.tsexport function getProviderLabel(stdin: StdinData, env: NodeJS.ProcessEnv = process.env): string | null {
Execute commands · line70 lineclaude-code/hud/hooks/hud/transcript.tsconst mcpServer = (toolName: string): string | undefined => name(MCP_TOOL.exec(toolName)?.[1]);
Execute commands · line158 lineclaude-code/hud/hooks/hud/transcript.tsconst effort = EFFORT_COMMAND.exec(entry.message.content);
Execute commands · line172 lineclaude-code/hud/hooks/hud/transcript.tsconst toolUseId = /<tool-use-id>([^<]+)<\/tool-use-id>/.exec(entry.content)?.[1];
Read files · line366 lineclaude-code/hud/hooks/hud/transcript.tsif (!transcriptPath || !fs.statSync(transcriptPath).isFile()) return emptyTranscript();
Execute commands · line45 lineclaude-code/hud/hooks/stdin.tsconst match = /claude-(opus|sonnet|haiku|fable)-(\d+)(?:-(\d{1,2}))?(?:-\d{8})?$/i.exec(bare)
Execute commands · line46 lineclaude-code/hud/hooks/stdin.ts?? /claude-(\d+)(?:-(\d+))?-(opus|sonnet|haiku)/i.exec(bare)
Execute commands · line92 lineclaude-code/hud/hooks/stdin.tsconst match = /^(?:[a-z+]+:\/\/)?(?:[^@/]+@)?([^/:]+)[:/](?:\d+\/)?([^/]+)\/([^/]+?)(?:\.git)?\/?$/i.exec(remote.trim())
Environment variables · line23 lineclaude-code/hud/hooks/hud/index.tsexport function isHudDisabled(env: NodeJS.ProcessEnv = process.env): boolean {
Execute commands · line15 lineclaude-code/hud/hooks/hud/memory.tsconst pageSize = /page size of (\d+) bytes/.exec(output)?.[1];
Execute commands · line16 lineclaude-code/hud/hooks/hud/memory.tsconst active = /Pages active:\s+(\d+)/.exec(output)?.[1];
Execute commands · line17 lineclaude-code/hud/hooks/hud/memory.tsconst wired = /Pages wired down:\s+(\d+)/.exec(output)?.[1];
Execute commands · line24 lineclaude-code/hud/hooks/hud/memory.tsconst total = /^MemTotal:\s+(\d+)\s+kB/m.exec(output)?.[1];
Execute commands · line25 lineclaude-code/hud/hooks/hud/memory.tsconst available = /^MemAvailable:\s+(\d+)\s+kB/m.exec(output)?.[1];
Execute commands · line33 lineclaude-code/hud/hooks/hud/memory.tsexecFile('/usr/bin/vm_stat', { encoding: 'utf8', timeout: VM_STAT_TIMEOUT_MS }, (error, stdout) => {
Read files · line44 lineclaude-code/hud/hooks/hud/memory.tsreturn parseLinuxMeminfo(await readFile('/proc/meminfo', 'utf8')) ?? systemMemory();
Read files · line4 lineclaude-code/hud/hooks/shims/fs_promises.tsexport async function readFile(path: string, _options?: unknown): Promise<string> {
Read files · line80 lineclaude-code/hud/hooks/hud/render/vcs.tsreturn resolved ? fs.statSync(resolved).mtimeMs : 0;
Read files · line21 lineclaude-code/hud/hooks/hud/config-reader.tsconst value: unknown = JSON.parse(fs.readFileSync(filePath, 'utf8'));
Read files · line56 lineclaude-code/hud/hooks/hud/config-reader.tsfor (const entry of fs.readdirSync(root)) {
Read files · line60 lineclaude-code/hud/hooks/hud/config-reader.tsconst stat = fs.statSync(target);
Execute commands · line28 lineclaude-code/hud/hooks/hud/jj.tsexecFile(file, [...args], options, (error, stdout) => (error ? reject(error) : resolve({ stdout })));
Environment variables · line11 lineclaude-code/hud/hooks/hud/extra-cmd.tsexport function isExtraCmdAllowed(env: NodeJS.ProcessEnv = process.env): boolean {
Environment variables · line15 lineclaude-code/hud/hooks/hud/extra-cmd.tsexport function parseExtraCmdArg(argv: string[] = process.argv, env: NodeJS.ProcessEnv = process.env): string | null {
Execute commands · line42 lineclaude-code/hud/hooks/hud/extra-cmd.tsexec(cmd, { timeout, maxBuffer: MAX_OUTPUT_BYTES, windowsHide: true }, (error, stdout) => {
Read files · line25 lineclaude-code/hud/hooks/hud/speed.tsconst state = JSON.parse(fs.readFileSync(file, 'utf8')) as Partial<SpeedState>;
Write files · line37 lineclaude-code/hud/hooks/hud/speed.tsfs.mkdirSync(path.dirname(file), { recursive: true, mode: 0o700 });
Write files · line39 lineclaude-code/hud/hooks/hud/speed.tsfs.writeFileSync(tmp, JSON.stringify(state), { mode: 0o600 });