#!/usr/bin/env bare
import Corestore from 'corestore'
import Hyperbee from 'hyperbee'
import process from 'bare-process'
async function main() {
const repoName = process.argv[2] || 'pear-git'
console.log(`📋 Listing issues for ${repoName}...\n`)
const store = new Corestore('./pear-git-storage')
await store.ready()
const core = store.get({ name: 'pear-git-db' })
const db = new Hyperbee(core, { keyEncoding: 'utf-8', valueEncoding: 'json' })
await db.ready()
try {
let count = 0
for await (const entry of db.createReadStream({
gt: `issue:${repoName}:`,
lt: `issue:${repoName}:\xff`
})) {
count++
const issue = entry.value
console.log(`Issue #${issue.number}: ${issue.title}`)
console.log(` Status: ${issue.status}`)
console.log(` Created: ${new Date(issue.createdAt).toISOString()}`)
console.log(` Description: ${issue.description.substring(0, 100)}...`)
console.log('')
}
if (count === 0) {
console.log('No issues found.')
} else {
console.log(`Total: ${count} issue(s)`)
}
} catch (err) {
console.error('Error:', err.message)
process.exit(1)
} finally {
await db.close()
await store.close()
}
}
main().catch(err => {
console.error('Fatal error:', err)
process.exit(1)
})