Skip to content

Add project-level language configuration that all /speckit.* commands consistently enforce #1239

@Nicered

Description

@Nicered

Summary

Spec Kit currently allows users to define language rules in the project constitution, but the LLM often forgets these rules across commands such as specify, plan, tasks, and implement.

This feature request proposes a project-level language configuration that every /speckit.* step must consistently respect.
This is not about implementing i18n or translation features — only about enforcing a stable language preference.


Problem

1. Constitution rules are not consistently enforced

Even with strict rules like:

All narrative text must be written in Korean unless explicitly requested otherwise.

The LLM often reverts to English, especially during:

  • /speckit.plan
  • /speckit.tasks
  • /speckit.implement

This becomes more frequent across multiple iterations.

2. Repeating language instructions is inefficient

Users must repeatedly say “Please answer in Korean” for every command.
This contradicts the idea of a persistent project context or “single source of truth.”


Proposed Solution (Conceptual)

Introduce a first-class project-level configuration, for example:

{
  "language": "ko-KR",
  "strict_language_enforcement": true
}

All /speckit.* flows should then:

  1. Read this configuration before constructing prompts
  2. Inject the language rule at a high-priority level (similar to a system instruction)
  3. Apply the rule consistently across multi-step processes
  4. Honor the rule unless explicitly overridden by the user for that command

This does not require:

  • internationalization
  • locale-based templates
  • translation automation

It only ensures the LLM stays aligned with the chosen language.


Expected Behavior

With this feature enabled:

  • specify, plan, tasks, and implement all output the chosen language consistently
  • No unexpected fallback to English
  • Long iterative workflows maintain stable language usage
  • Overrides only happen when intentionally specified

Why This Matters

  • Many teams use Spec Kit in multilingual environments
  • Certain projects require strict use of a non-English language
  • Constitution text alone is too easy for an LLM to forget
  • A structured configuration makes workflows predictable and reliable

Given Spec Kit’s philosophy — “spec as the single source of truth”
language preference should be treated as part of that truth.


Additional Notes

  • This feature can be optional
  • English can remain the default
  • No translation features are required
  • Only a persistent
    “use this language unless overridden”
    mechanism is needed

I can provide additional examples or test cases if helpful.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions