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
7 changes: 4 additions & 3 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -60,10 +60,11 @@ These decisions are part of the repo contract. Changing them is not a small refa
- local scope must protect `.claude/settings.local.json` from git before secrets are written
- settings files must be written with owner-only permissions

Current honest limitation:
Current curated public Claude Code model registry:

- the curated registry currently contains exactly one supported model:
`qwen3-235b` -> `qwen/qwen3-235b-a22b-instruct-2507-fp8`
- `qwen3-235b` -> `qwen/qwen3-235b-a22b-instruct-2507-fp8`
- `kimi-k2.6` -> `moonshotai/Kimi-K2.6` (default)
- `minimax-m2.7` -> `minimaxai/minimax-m2.7`

## What the Repo Does and Does Not Do

Expand Down
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

## Unreleased

- Added curated model support for `minimax-m2.7` -> `minimaxai/minimax-m2.7` in the installer model picker and docs.
- Added curated model support for `kimi-k2.6` -> `moonshotai/Kimi-K2.6` in the installer model picker and docs.
- Made local alias package bootstrap publish without npm provenance because provenance requires a supported CI/OIDC provider.
- Made alias package publishing skip cleanly until `@gonkagate/claude-code-setup` is bootstrapped on npm, with an explicit override for the first package publish.
Expand Down
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,7 @@ Current public Claude Code models in the curated registry:

- `qwen3-235b` -> `qwen/qwen3-235b-a22b-instruct-2507-fp8`
- `kimi-k2.6` -> `moonshotai/Kimi-K2.6` (default)
- `minimax-m2.7` -> `minimaxai/minimax-m2.7`

## What It Does

Expand Down
1 change: 1 addition & 0 deletions docs/how-it-works.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ Today the curated public Claude Code model registry contains:

- `qwen3-235b` -> `qwen/qwen3-235b-a22b-instruct-2507-fp8`
- `kimi-k2.6` -> `moonshotai/Kimi-K2.6` (default)
- `minimax-m2.7` -> `minimaxai/minimax-m2.7`

Users provide only:

Expand Down
1 change: 1 addition & 0 deletions docs/troubleshooting.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ Today that curated list contains:

- `qwen3-235b` -> `qwen/qwen3-235b-a22b-instruct-2507-fp8`
- `kimi-k2.6` -> `moonshotai/Kimi-K2.6` (default)
- `minimax-m2.7` -> `minimaxai/minimax-m2.7`

If that model is unavailable, the likely cause is a backend deployment or model availability mismatch. This installer does not expose custom base URL or arbitrary custom model overrides, so the right next step is GonkaGate support or the backend troubleshooting docs in `gonka-proxy`.

Expand Down
7 changes: 7 additions & 0 deletions src/constants/models.ts
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,13 @@ const curatedModelRegistry = [
modelId: "moonshotai/Kimi-K2.6",
description: "GonkaGate public Claude Code model.",
isDefault: true
},
{
key: "minimax-m2.7",
displayName: "MiniMax M2.7",
modelId: "minimaxai/minimax-m2.7",
description: "GonkaGate public Claude Code model.",
isDefault: false
}
] as const satisfies readonly SupportedModelDefinition[];

Expand Down
6 changes: 6 additions & 0 deletions test/install.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,12 @@ test("supported model registry includes kimi-k2.6", () => {
assert.equal(model.modelId, "moonshotai/Kimi-K2.6");
});

test("supported model registry includes minimax-m2.7", () => {
const model = requireSupportedModel("minimax-m2.7");

assert.equal(model.modelId, "minimaxai/minimax-m2.7");
});

test("loadSettings rejects invalid JSON instead of overwriting it", async () => {
const directory = await mkdtemp(path.join(tmpdir(), "gonkagate-invalid-json-"));
const filePath = path.join(directory, "settings.json");
Expand Down
Loading