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
83 changes: 83 additions & 0 deletions .github/ISSUE_TEMPLATE/add-model.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
# When a provider is added, add its slug to the Provider dropdown below.
name: Add a model
description: A provider we already track is missing one of its models.
title: "Add model: <provider>/<model>"
labels: ["model"]
body:
- type: markdown
attributes:
value: |
Use this when the provider is already in the catalog but a model is missing.
If the provider itself isn't listed yet, use "Add a provider" instead.

Please check [modelparams.dev](https://modelparams.dev) first so we don't track the same model twice.

- type: dropdown
id: provider
attributes:
label: Provider
options:
- anthropic
- deepseek
- google
- mistral
- openai
validations:
required: true

- type: input
id: model
attributes:
label: Model id
description: The provider-native id, spelled exactly as the API spells it.
placeholder: claude-opus-4-7, gpt-5.2, gemini-2.5-pro
validations:
required: true

- type: dropdown
id: auth-type
attributes:
label: Auth type
description: "API key is the developer API. Subscription is the consumer app, like ChatGPT or Claude.ai."
options:
- API key
- Subscription
- Both
validations:
required: true

- type: textarea
id: docs
attributes:
label: Official documentation
description: Link to the provider docs that list this model's parameters. Official references beat blog posts and screenshots.
placeholder: https://docs.anthropic.com/en/api/messages
validations:
required: true

- type: textarea
id: params
attributes:
label: Known parameters
description: Optional. List any parameters you already know, with default, range, or allowed values if you have them.
placeholder: |
- temperature: number, default 1, range 0-1, sampling
- max_tokens: integer, range min 1, generation_length
validations:
required: false

- type: textarea
id: notes
attributes:
label: Anything else
description: Optional. Restrictions, or parameters that differ between the API-key and subscription routes.
validations:
required: false

- type: checkboxes
id: checks
attributes:
label: Quick check
options:
- label: This model isn't already listed on modelparams.dev.
required: true
62 changes: 62 additions & 0 deletions .github/ISSUE_TEMPLATE/add-provider.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
name: Add a provider
description: A model maker that isn't in the catalog yet (a new company or API).
title: "Add provider: <name>"
labels: ["provider"]
body:
- type: markdown
attributes:
value: |
Use this for a provider we don't track at all. A new provider means a new folder under `models/`, and ideally a logo so it doesn't fall back to the generic mark.

- type: input
id: name
attributes:
label: Provider name
placeholder: xAI, Cohere, Perplexity
validations:
required: true

- type: input
id: slug
attributes:
label: Provider slug
description: Lowercase and kebab-case. This becomes the folder name under models/ and the provider field in each file.
placeholder: xai, cohere, perplexity
validations:
required: true

- type: textarea
id: models
attributes:
label: First models to add
description: Which models should we start with, and is each one API key, subscription, or both?
placeholder: |
grok-4 (API key)
grok-4-heavy (API key)
validations:
required: true

- type: textarea
id: docs
attributes:
label: API documentation
description: Link to the official parameter reference.
placeholder: https://docs.x.ai/api
validations:
required: true

- type: textarea
id: logo
attributes:
label: Logo
description: Optional. Link to an official SVG logo, or say if you'll add one in your PR. Without a logo the site uses a generic placeholder.
validations:
required: false

- type: checkboxes
id: checks
attributes:
label: Quick check
options:
- label: This provider isn't already listed on modelparams.dev.
required: true
12 changes: 12 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# Blank issues stay enabled on purpose: the forms are here to guide, not to block.
blank_issues_enabled: true
contact_links:
- name: How to contribute
url: https://github.com/mnfst/modelparams.dev/blob/main/CONTRIBUTING.md
about: Read this before adding or editing model data.
- name: Model Parameters convention
url: https://github.com/mnfst/modelparams.dev/blob/main/docs/model-parameters-schema.md
about: The schema every model file follows.
- name: Browse the catalog
url: https://modelparams.dev
about: Check whether the model or parameter is already listed.
52 changes: 52 additions & 0 deletions .github/ISSUE_TEMPLATE/incorrect-data.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
name: Report incorrect data
description: Something in the catalog is wrong (bad default, wrong range, a parameter the API doesn't accept).
title: "Incorrect data: <model>"
labels: ["incorrect-data"]
body:
- type: markdown
attributes:
value: |
Use this when a value in the catalog is wrong. For a model or provider that's missing entirely, use the other forms.

- type: input
id: model
attributes:
label: Affected model
description: The id as shown on the site.
placeholder: anthropic/claude-opus-4-7, openai/gpt-5.2-subscription
validations:
required: true

- type: dropdown
id: kind
attributes:
label: What's wrong?
options:
- Wrong default
- Wrong range (min, max, or step)
- Wrong enum values
- Wrong applicability rule
- Parameter is listed but the API doesn't accept it
- Parameter is missing
- Wrong provider or model id
- Something else
validations:
required: true

- type: textarea
id: detail
attributes:
label: What it says now, and what it should be
description: Be specific. Name the parameter path, the current value, and the correct one.
placeholder: |
temperature shows a range of 0-2, but the API rejects anything above 1.
validations:
required: true

- type: textarea
id: source
attributes:
label: Official source
description: Link to the docs that back up the correction.
validations:
required: true
45 changes: 16 additions & 29 deletions .github/ISSUE_TEMPLATE/parameter-request.yml
Original file line number Diff line number Diff line change
@@ -1,50 +1,41 @@
name: Request model parameters
description: Request a new or updated provider/model parameter entry.
name: Add or fix parameters on a model
description: A model is already listed, but its parameter list is incomplete or out of date.
title: "Parameters: <provider>/<model>"
labels: ["parameters"]
body:
- type: markdown
attributes:
value: |
Use this form to request parameter coverage for a model in modelparameters.dev.
Suggested issue title: `<provider>/<model>: parameter coverage`.
Use this when the model is already on the site but its parameters are missing or stale. If a value on an existing parameter is simply wrong, "Report incorrect data" is the better fit.

This catalog covers configurable request parameters such as `temperature`, `top_p`, `max_tokens`, `reasoning_effort`, and `thinking.type`. It does not track pricing, streaming support, auth setup, endpoints, fallback behavior, or proxy behavior.

- type: input
id: provider
attributes:
label: Provider
description: Use the provider slug when you know it.
placeholder: openai, anthropic, google, mistral
validations:
required: true
This catalog covers configurable request parameters such as `temperature`, `top_p`, `max_tokens`, `reasoning_effort`, and `thinking.type`. It does not track pricing, rate limits, endpoints, auth setup, streaming, or proxy behavior.

- type: input
id: model
attributes:
label: Model
description: Use the provider-native model id.
placeholder: gpt-5, claude-sonnet-4-5, gemini-2.5-pro
description: The id as shown on the site.
placeholder: anthropic/claude-opus-4-7
validations:
required: true

- type: dropdown
id: auth-type
attributes:
label: Auth type
description: Pick the route this request applies to.
description: Pick the route this applies to.
options:
- API key
- Subscription
- Both
- Not sure
validations:
required: true

- type: textarea
id: docs
attributes:
label: Official documentation
description: Link to the provider docs that define these parameters. Official references are preferred over blog posts or screenshots.
description: Link to the provider docs that define these parameters.
placeholder: |
https://docs.example.com/api-reference/chat/create
validations:
Expand All @@ -54,30 +45,26 @@ body:
id: parameters
attributes:
label: Parameters to add or update
description: List the parameters you want added. Include path, type, default, allowed values, numeric range, and applicability rules if you know them.
description: List each one. Include path, type, default, allowed values, range, and any applicability rule you know.
placeholder: |
- `temperature`: number, default 1, range 0-2, sampling
- `max_tokens`: integer, range min 1, generation_length
- `reasoning_effort`: enum, values `low`, `medium`, `high`, reasoning
- reasoning_effort: enum, values low/medium/high, reasoning
- top_p: number, default 1, range 0-1, sampling
validations:
required: true

- type: textarea
id: notes
attributes:
label: Notes
description: Add anything maintainers should know, such as model-specific restrictions or parameters that are accepted by one auth type but not the other.
placeholder: This parameter is only available when extended thinking is disabled.
description: Optional. Model-specific restrictions, or a parameter that one auth type accepts and the other doesn't.
placeholder: This parameter only applies when extended thinking is off.
validations:
required: false

- type: checkboxes
id: scope
attributes:
label: Scope check
description: Please confirm this request fits the MPS catalog scope.
options:
- label: This request is about configurable model request parameters, not pricing, rate limits, endpoints, auth setup, streaming support, or proxy behavior.
required: true
- label: I linked the closest official provider documentation I could find.
- label: This is about configurable request parameters, not pricing, rate limits, endpoints, auth setup, or streaming.
required: true
28 changes: 28 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
<!--
New here? CONTRIBUTING.md walks through the file format with a full example:
https://github.com/mnfst/modelparams.dev/blob/main/CONTRIBUTING.md
-->

## What this changes

<!-- A line or two. What did you add or fix, and for which model or provider? -->

## Type of change

Tick whatever fits. This just helps reviewers triage; nothing is enforced.

- [ ] Add a model (new YAML file under `models/`)
- [ ] Add a provider (new folder under `models/`, plus a logo)
- [ ] Add or update parameters on an existing model
- [ ] Fix incorrect data (default, range, values, applicability)
- [ ] Site or tooling (code under `src/`, docs, CI)

## Source

<!-- For data changes, link the official provider docs that back this up. -->

## Before opening

- [ ] `npm run validate` and `npm test` pass locally
- [ ] Filenames follow the convention: `models/<provider>/<model>.yaml`, or `<model>-subscription.yaml` for the subscription route
- [ ] No existing parameter was removed (removals are blocked, see CONTRIBUTING)
27 changes: 27 additions & 0 deletions .github/labeler.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# Auto-labels PRs by the files they touch. Read by .github/workflows/labeler.yml.
# A provider PR usually touches both models/ and a logo, so it lands two labels.
model:
- changed-files:
- any-glob-to-any-file:
- "models/**"

provider:
- changed-files:
- any-glob-to-any-file:
- "src/client/logos/**"

site:
- changed-files:
- any-glob-to-any-file:
- "src/**"
- "tests/**"
- "tailwind.config.ts"
- "postcss.config.cjs"
- "vitest.config.ts"

meta:
- changed-files:
- any-glob-to-any-file:
- ".github/**"
- "docs/**"
- "*.md"
Loading
Loading