Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
* @Alexendros
28 changes: 28 additions & 0 deletions .github/ISSUE_TEMPLATE/bug.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
---
name: Bug
description: Comportamiento incorrecto del catálogo o de las herramientas de este fork
---

### Propósito de este documento

- **Objetivos:** Recoger un fallo reproducible (TOML, `bun validate`, generador o SDK) sin filtrar secretos.
- **Estructura:** Comando y salida → esperado vs obtenido → reproducción → entorno.
- **Contenido a integrar según contexto:** Adapta el formulario a este fork de models.dev. Adjunta logs mínimos; no pegues tokens de sync, Cloudflare ni `.env`.

## Comando y salida

```bash
# comando ejecutado + salida relevante (sin secretos)
```

## Esperado vs obtenido

<!-- qué esperabas y qué obtuviste -->

## Reproducción

<!-- ruta TOML, provider/model id, o script de packages/core -->

## Entorno

<!-- bun --version, commit/branch -->
11 changes: 11 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
blank_issues_enabled: false
contact_links:
- name: Vulnerabilidad de seguridad
url: https://github.com/Alexendros/models.dev/security/advisories/new
about: No abras un issue público. Sigue SECURITY.md.
- name: Documentación
url: https://github.com/Alexendros/models.dev/blob/dev/README.md
about: README, AGENTS.md y CONTRIBUTING.md antes de abrir un issue.
- name: Upstream (anomalyco/models.dev)
url: https://github.com/anomalyco/models.dev
about: El sitio, la API pública y el SDK canónicos viven en el repositorio original.
22 changes: 22 additions & 0 deletions .github/ISSUE_TEMPLATE/feature.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
---
name: Feature
description: Propuesta de mejora para este fork del catálogo
---

### Propósito de este documento

- **Objetivos:** Recoger una propuesta de mejora del catálogo, el esquema o las herramientas de validación.
- **Estructura:** Problema → propuesta → impacto (TOML, schema, API JSON).
- **Contenido a integrar según contexto:** Adapta el formulario a este fork. Si el cambio pertenece al producto canónico, considera proponerlo también en anomalyco/models.dev.

## Problema

<!-- qué duele hoy -->

## Propuesta

<!-- lab/provider TOML, campo de schema, o script + ejemplo -->

## Impacto en contrato

<!-- ¿toca schema.ts, base_model, API JSON o AGENTS.md? -->
19 changes: 19 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
<!-- canon-managed: true -->

### Propósito de este documento

- **Objetivos:** Plantilla de PR para describir el cambio y exigir las comprobaciones del catálogo (`bun validate` / `bun test`) y los jobs `quality` / `test` / `smoke`.
- **Estructura:** Qué cambia → checklist (validación, docs, dataset, CI).
- **Contenido a integrar según contexto:** Adapta el checklist a este fork de models.dev. No copies plantillas de otro producto. Deploy, sync y publish del SDK no corren aquí.

## Qué cambia

<!-- feat/fix/docs + alcance en una o dos frases -->

## Checklist

- [ ] `bun validate` (job `quality`) y el subconjunto unitario del job `test`
- [ ] Si toca TOML de lab/provider: sigue [AGENTS.md](../AGENTS.md) (`base_model`, override-only, USD/MTok)
- [ ] Docs actualizadas (`README.md` o esta guía) si cambia el contrato de contribución
- [ ] Sin secretos, `.env` ni reescritura del dataset ajena al alcance
- [ ] CI `quality` / `test` / `smoke` en verde
79 changes: 79 additions & 0 deletions .github/workflows/p0.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
# CI P0 de este fork. No sustituye ni activa Deploy / Sync / Publish del upstream.
# Esos workflows siguen gated a anomalyco/models.dev.
name: P0

on:
pull_request:
branches: [dev]
push:
branches: [dev]

jobs:
quality:
if: github.repository == 'Alexendros/models.dev'
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Setup Bun
uses: oven-sh/setup-bun@v1
with:
bun-version: latest

- name: Install dependencies
run: bun install

- name: Validate catalog
run: bun validate

test:
if: github.repository == 'Alexendros/models.dev'
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Setup Bun
uses: oven-sh/setup-bun@v1
with:
bun-version: latest

- name: Install dependencies
run: bun install

# Full `bun test` also audits the live catalog (weights links, sync
# fixtures) and the generated SDK snapshot. Those fail on current
# upstream `dev` and are out of scope for this fork's P0.
- name: Unit tests (schema, helpers, SDK client)
run: >
bun test
packages/core/test/schema.test.ts
packages/core/test/auto-merge.test.ts
packages/core/test/family.test.ts
packages/core/test/empiriolabs.test.ts
packages/sdk/test/client.test.ts
packages/sdk/test/effect.test.ts

smoke:
if: github.repository == 'Alexendros/models.dev'
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4

- name: P0 contractual files
run: |
test -f README.md
test -f LICENSE
test -f SECURITY.md
test -f CONTRIBUTING.md
test -f CHANGELOG.md
test -f .github/CODEOWNERS
test -f .github/PULL_REQUEST_TEMPLATE.md
test -f .github/ISSUE_TEMPLATE/config.yml
test -f .github/ISSUE_TEMPLATE/bug.md
test -f .github/ISSUE_TEMPLATE/feature.md

- name: models.json is JSON
run: python3 -c "import json; json.load(open('models.json'))"
12 changes: 12 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# Changelog

Registro de cambios de gobernanza de este **fork** (`Alexendros/models.dev`).
El catálogo de modelos y providers sigue el historial del [upstream](https://github.com/anomalyco/models.dev).
Formato inspirado en [Keep a Changelog](https://keepachangelog.com/es/1.1.0/).

## [Unreleased]

### Added

- Alineación P0 mínima al contrato de repositorio (fork): aviso en README, SECURITY, CONTRIBUTING, CHANGELOG, CODEOWNERS, plantillas de issue/PR y CI `quality` / `test` / `smoke` ligero (`test` = unitarios; no el `bun test` completo del dataset).
- Los workflows de deploy, sync y publicación del SDK del upstream se dejan gated a `anomalyco/models.dev`.
55 changes: 55 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
# Contribuir a este fork de models.dev

### Propósito de este documento

- **Objetivos:** Explicar setup, flujo de rama/PR y reglas para contribuir al catálogo sin reescribir el producto ni el dataset.
- **Estructura:** Idioma → setup → flujo de trabajo → comprobaciones antes del PR → reglas.
- **Contenido a integrar según contexto:** Adapta Bun y `bun validate` de este repo. No copies un flujo pnpm/monorepo. El detalle de TOML, `base_model` y el esquema vive en [README.md](README.md) y [AGENTS.md](AGENTS.md).

Idioma: este fichero, `SECURITY.md` y el aviso de fork del README en español. Identificadores de CI y nombres de jobs en inglés (`quality`, `test`, `smoke`). La guía de datos del README (secciones API / Contributing / Schema) se conserva en inglés, como en el upstream.

Lee también [AGENTS.md](AGENTS.md) (contrato del catálogo) y [SECURITY.md](SECURITY.md).

## Este repositorio es un fork

`Alexendros/models.dev` parte de [anomalyco/models.dev](https://github.com/anomalyco/models.dev). La rama por defecto es `dev`. No clones a ciegas el canon de producto: no actives deploy, sync horario ni publicación del SDK en este fork.

## Setup

```bash
bun install
```

Requiere [Bun](https://bun.sh/).

## Flujo de trabajo

Rama `feat/*` / `fix/*` / `docs/*` / `chore/*` → PR contra `dev`. Los agentes Cloud usan `cursor/…`.

Cambios de catálogo (TOML de labs o providers) siguen las reglas de [AGENTS.md](AGENTS.md): `base_model` si el host no creó el modelo; fichero de lab completo si falta; costes en USD/MTok.

## Antes de un PR

```bash
bun validate
bun test packages/core/test/schema.test.ts packages/core/test/auto-merge.test.ts packages/core/test/family.test.ts packages/core/test/empiriolabs.test.ts packages/sdk/test/client.test.ts packages/sdk/test/effect.test.ts
```

- `bun validate` — valida el catálogo contra el esquema (job CI `quality`).
- El job CI `test` corre un subconjunto unitario (schema, helpers, cliente SDK). El `bun test` completo del workspace incluye auditorías del dataset vivo y el snapshot generado del SDK; hoy fallan en el `dev` del upstream y no se reescriben en este fork.
- El job `smoke` comprueba que existen los ficheros P0 y que `models.json` es JSON válido.

Si mueves campos de provider a `models/`, compara la salida generada:

```bash
bun run compare:migrations
```

## Reglas

- No reescribas el frontend, el dataset ni el generador salvo que el cambio sea el objeto del PR.
- No pises `LICENSE` (MIT del proyecto original).
- Conventional Commits. Cuerpo y docs de gobernanza en español; IDs de modelo y campos TOML en inglés.
- Vulnerabilidades: [SECURITY.md](SECURITY.md), no un issue público.
- Sin secretos, `.env` ni claves de Cloudflare/npm en el diff.
- Los workflows `Deploy`, `Sync Model Catalogs` y `Publish SDK` permanecen gated a `anomalyco/models.dev`.
10 changes: 10 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,14 @@

---

### Propósito de este documento

- **Objetivos:** Presentar el catálogo, la API pública y cómo contribuir metadatos TOML de labs y providers.
- **Estructura:** Aviso de fork → API → contribución (models/providers) → validación → esquema → frontend.
- **Contenido a integrar según contexto:** Conserva las instrucciones de TOML y `base_model`. Este repositorio es un **fork** de [anomalyco/models.dev](https://github.com/anomalyco/models.dev); no reescribas el producto ni el dataset. La rama por defecto de este fork es `dev`.

> **Fork.** `Alexendros/models.dev` sigue el catálogo y las herramientas de [anomalyco/models.dev](https://github.com/anomalyco/models.dev). No despliega models.dev ni publica el SDK. Política de seguridad: [SECURITY.md](SECURITY.md). Cómo contribuir en este fork: [CONTRIBUTING.md](CONTRIBUTING.md). Historial: [CHANGELOG.md](CHANGELOG.md).

[Models.dev](https://models.dev) is a comprehensive open-source database of AI model specifications, pricing, and capabilities.

There's no single database with information about all the available AI models. We started Models.dev as a community-contributed project to address this. We also use it internally in [opencode](https://opencode.ai).
Expand Down Expand Up @@ -48,6 +56,8 @@ Replace `{provider}` with the **Provider ID** (e.g., `anthropic`, `openai`, `goo

## Contributing

On this fork, start with [CONTRIBUTING.md](CONTRIBUTING.md) (default branch `dev`, `bun validate`, security channel). The data guide below is unchanged from upstream.

The data is stored in the repo as TOML files; organized by provider and model. The logo is stored as an SVG. This is used to generate this page and power the API.

We need your help keeping the data up to date.
Expand Down
35 changes: 35 additions & 0 deletions SECURITY.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# Política de seguridad

### Propósito de este documento

- **Objetivos:** Declarar el canal privado de avisos y la superficie de este fork del catálogo.
- **Estructura:** Versiones soportadas → cómo reportar → superficie relevante → alcance.
- **Contenido a integrar según contexto:** Adapta el canal a este repositorio. No copies la política de un SaaS. El dataset TOML es público; no commitees tokens de sync, claves de Cloudflare ni `.env`.

## Versiones soportadas

| Línea | Soportada |
| ----- | --------- |
| Rama `dev` de este fork | Sí (gobernanza y CI P0 de `Alexendros/models.dev`) |
| Catálogo / sitio / SDK de [anomalyco/models.dev](https://github.com/anomalyco/models.dev) | Upstream; este fork no opera ese servicio |

## Cómo reportar una vulnerabilidad

**No abras un issue público** si el hallazgo puede filtrar secretos de automatización (tokens de sync, Cloudflare, npm) o facilitar abuso de la API pública.

1. Preferible: [GitHub Security Advisory](https://github.com/Alexendros/models.dev/security/advisories/new) en este repositorio.
2. Alternativa: correo a [[email protected]](mailto:[email protected]).
3. Defectos del producto o del dataset canónico: notifica también a [anomalyco/models.dev](https://github.com/anomalyco/models.dev) **sin** detalles explotables.

Incluye: commit o rama, fichero TOML o script, y un caso **mínimo sintético** (nunca secretos reales). Responderemos en un plazo máximo de 7 días naturales.

## Superficie relevante

- El catálogo (`models/`, `providers/`) es metadato público. Un error de precio o de límites no es por sí solo una vulnerabilidad.
- Los workflows de deploy, sync y publicación del SDK están **gated** a `anomalyco/models.dev` y no deben ejecutarse en este fork.
- No commitees `.env`, tokens de GitHub, `CLOUDFLARE_*` ni credenciales de npm.
- Issues de seguridad del sitio público https://models.dev pertenecen al upstream.

## Alcance

Este repositorio mantiene una copia de trabajo del catálogo y de las herramientas de validación. No opera el sitio, la API de producción ni el paquete npm `@opencode-ai/models`.
Loading