Receber por email
← Voltar para o catálogo

aminet-browser

Aminet search and browse: full-text search, category tree navigation, architecture filtering, package detail, and curated collections. Use when searching, browsing, or managing package collections.

65estrelas
Atualizado há 4 meses

Ver no GitHub ↗ Licença: NOASSERTION

Como adicionar

/plugin marketplace add Tibsfox/gsd-skill-creator

O comando exato pode variar conforme o repositório. Confira o README no GitHub.

Para o autor da skill

Cole no README do seu repo

Mostra que sua skill está catalogada na Skillteca, gera backlink e tráfego rastreável.

[![Skillteca](https://www.skillteca.com.br/api/badge/aminet-browser/svg)](https://www.skillteca.com.br/skills/aminet-browser)
#ai

Alerta por categoria

Receba novas skills de Design e Frontend toda segunda

1 email curto, só com as skills novas de Design e Frontend. 4 minutos de leitura, sem spam, cancela com 1 clique.

Você confirma o email no primeiro envio. Sem spam. Cancela com 1 clique.

Ler descrição completa

Aminet Browser

Purpose

Provides search, browse, and collection management for the Aminet package archive. Supports full-text search with relevance scoring, hierarchical category tree navigation, architecture and OS version filtering, unified package detail views combining INDEX + readme + mirror state, and curated YAML-based collections with CRUD operations.

Capabilities

  • Full-text search with case-insensitive substring matching
  • Relevance scoring: name=3x, description=2x, author=1x weighting
  • Hierarchical category tree construction from INDEX entries
  • Architecture filtering (m68k-amigaos, ppc-amigaos, etc.)
  • OS version filtering for compatibility checks
  • Unified package detail merging INDEX + readme + mirror state
  • Collection manifest with Zod-validated YAML schema
  • Import/export collections as YAML files
  • 5 starter collections bundled
  • Collection manager with DI-first pattern (collectionsDir param)
  • Atomic write-then-rename for collection persistence
  • Slugified filenames for cross-platform safety
  • getCollectionPaths for bulk download integration

Key Modules

| Module | Purpose | |--------|---------| | src/aminet/search.ts | Full-text search with relevance scoring (name=3, desc=2, author=1) | | src/aminet/category-browser.ts | Category tree construction, architecture and OS version filtering | | src/aminet/package-detail.ts | Unified package detail merging INDEX + readme + mirror state | | src/aminet/collection.ts | Collection manifest Zod schema, YAML import/export, starter collections | | src/aminet/collection-manager.ts | CRUD operations with atomic persistence, slugified filenames |

Usage Examples

Search packages:

import { searchPackages } from './search.js';

const results = searchPackages(indexEntries, 'deluxe paint');
// Sorted by relevance score, name matches weighted 3x

Browse by category:

import { buildCategoryTree, listPackages } from './category-browser.js';

const tree = buildCategoryTree(indexEntries);
const gfxPackages = listPackages(indexEntries, 'gfx/edit');

Get package detail:

import { buildPackageDetail } from './package-detail.js';

const detail = buildPackageDetail(indexEntry, readmeData, mirrorState);
// Unified view with all metadata sources

Manage collections:

import { CollectionManager } from './collection-manager.js';

const mgr = new CollectionManager({ collectionsDir: './collections' });
await mgr.create({ name: 'My Games', packages: ['game/misc/Lemmings.lha'] });
const paths = mgr.getCollectionPaths('my-games');

Dependencies

  • Aminet INDEX data (from aminet-index skill)
  • Node.js node:fs for collection persistence
  • Zod for schema validation
  • js-yaml for YAML serialization

Token Budget Rationale

1.0% budget reflects the 5 modules covering search, browse, detail, and collection management. The search scoring algorithm and collection YAML round-trip are well-contained and require moderate context for correct usage.

Compartilhar X LinkedIn