Skip to content

feat(next-steps): a language option for the suggestions - #69

Merged
hamzafer merged 1 commit into
hamzafer:mainfrom
ssimu:next-steps-language
Oct 11, 2026
Merged

hamzafer merged 1 commit into
hamzafer:mainfrom
ssimu:next-steps-language

Conversation

@ssimu

@ssimu ssimu commented Oct 10, 2026

Copy link
Copy Markdown
Contributor

Why

next-steps always writes its suggestions in English. Working in another language, you read each line, translate it in your head, and only then decide whether it is what you meant to type next. That costs more than just writing the prompt yourself, so the band stops earning its place.

What

A language user config. Set it, and the model writes the lines in that language.

Write every line in ${language}. Keep file names, commands and code identifiers as they are.
  • Empty is the default, and then the clause is not added at all — the English behaviour is unchanged byte for byte.
  • Names stay as they are. A drafted prompt is only useful if you can send it; signup.ts translated is not. The second sentence of the clause is what keeps a suggestion pasteable.

Changes

File
hooks/register.tsx register(on, options), one conditional clause on the system prompt
.claude-plugin/plugin.json userConfig.language, version 0.1.1 → 0.2.0
.claude-plugin/marketplace.json version bump
README.md, docs/mods.md one line each, in the style of the other mods' settings
tests/next-steps.test.ts 2 tests

Checks

  • claude plugin validate mods/next-steps → passed
  • CLAUDE_CONFIG_DIR=$(mktemp -d) claude plugin test mods/next-steps → 18 pass, 0 fail (16 existing + 2)
  • Verified the new tests are load-bearing: replacing the language guard with false fails one and leaves the other 17 green

The test helper now records the system prompt the mod sends, so both the new tests assert on what the model is actually asked, not on a flag.

Note

Used in Korean day to day, which is where this came from.

The suggestions are always in English, so a person working in another
language has to translate each one in their head before deciding whether
it is what they meant to type next — which costs more than writing the
prompt themselves.

Set `language` and the model writes the lines in it. Empty, the default,
adds nothing to the system prompt, so the English behaviour is unchanged
byte for byte.

File names, commands and code identifiers are kept as they are: a drafted
prompt is only useful if you can send it, and `signup.ts` translated is not.

18 tests pass (16 existing + 2). Removing the new clause fails the new test.
@hamzafer
hamzafer merged commit 78ba1c3 into hamzafer:main Oct 11, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants