import { cli, Strategy } from '@jackwener/opencli/registry'; cli({ site: 'stackoverflow', name: 'search', access: 'read', description: 'Search Stack Overflow questions', domain: 'stackoverflow.com', strategy: Strategy.PUBLIC, browser: false, args: [ { name: 'query', type: 'string', required: true, positional: true, help: 'Search query' }, { name: 'limit', type: 'int', default: 10, help: 'Max number of results' }, ], columns: ['rank', 'id', 'title', 'score', 'answers', 'views', 'is_answered', 'tags', 'author', 'creation_date', 'url'], pipeline: [ { fetch: { url: 'https://api.stackexchange.com/2.3/search/advanced?order=desc&sort=relevance&q=${{ args.query }}&site=stackoverflow&pagesize=${{ args.limit }}', } }, { select: 'items' }, { map: { rank: '${{ index + 1 }}', id: '${{ item.question_id }}', title: '${{ item.title }}', score: '${{ item.score }}', answers: '${{ item.answer_count }}', views: '${{ item.view_count }}', is_answered: '${{ item.is_answered }}', tags: `\${{ item.tags | join(', ') }}`, author: '${{ item.owner.display_name }}', creation_date: '${{ item.creation_date }}', url: '${{ item.link }}', } }, { limit: '${{ args.limit }}' }, ], });