Source identity
| Field | Recorded value |
|---|---|
| Source type | GitHub source |
| Original record | Janady13/llms-txt-hub / packages/cli/src/commands/info.ts |
| Date | Not specified in source |
| Repository | Janady13/llms-txt-hub |
| Revision | e0f4bf978d4df168369c7601d9c5f5ea89e84377 |
| Branch | main |
| Path or archive member | packages/cli/src/commands/info.ts |
| Original SHA-256 | e8a500108a07c69a948811f3e6e3a295754621ae8406a8fb852551846ac1cf94 |
| Git blob SHA | 44ada42ab06c6869c058a1626da3d01b15f09a8d |
| Reading-copy SHA-256 | e8a500108a07c69a948811f3e6e3a295754621ae8406a8fb852551846ac1cf94 |
Recovered source transcript
Download complete source text ↓56 lines · 1.9 KB
import * as p from '@clack/prompts'
import pc from 'picocolors'
import { getEntry as getLockfileEntry } from '../lib/lockfile.js'
import * as logger from '../lib/logger.js'
import { loadRegistry, resolveSlug } from '../lib/registry.js'
import { isInstalled } from '../lib/storage.js'
/**
* Show detailed information about a registry entry.
*/
export async function info(name: string): Promise<void> {
if (!name) {
logger.error('Please specify a name')
p.log.message(pc.dim('Usage: llmstxt info <name>'))
process.exitCode = 1
return
}
const spin = logger.spinner('Loading registry...')
spin.start()
await loadRegistry()
spin.stop()
const entry = resolveSlug(name)
if (!entry) {
logger.error(`"${name}" not found in registry`)
p.log.message(pc.dim(`Try \`llmstxt search "${name}"\` to find matching entries`))
process.exitCode = 1
return
}
const projectDir = process.cwd()
const installed = isInstalled({ projectDir, slug: entry.slug })
const lockEntry = getLockfileEntry({ projectDir, slug: entry.slug })
p.log.step(pc.bold(pc.cyan(entry.name)))
p.log.message(pc.dim(entry.slug))
p.log.message(entry.description)
p.log.message(
`${pc.dim('Category:')} ${entry.category}\n${pc.dim('Domain:')} ${entry.domain}\n${pc.dim('llms.txt:')} ${entry.llmsTxtUrl}${entry.llmsFullTxtUrl ? `\n${pc.dim('Full:')} ${entry.llmsFullTxtUrl}` : ''}`
)
if (installed && lockEntry) {
const ageDays = Math.floor(
(Date.now() - new Date(lockEntry.fetchedAt).getTime()) / (1000 * 60 * 60 * 24)
)
p.log.success('Installed')
p.log.message(
` Format: ${lockEntry.format}\n Size: ${(lockEntry.size / 1024).toFixed(1)} KB\n Fetched: ${ageDays === 0 ? 'today' : `${ageDays} day(s) ago`}`
)
} else {
p.log.message(`${pc.dim('○ Not installed')}`)
p.log.message(` Install with: ${pc.cyan(`llmstxt install ${entry.slug}`)}`)
}
}