feat: output language support for wiki generation#99
Merged
RaghavChamadiya merged 7 commits intomainfrom Apr 26, 2026
Merged
Conversation
- Add language field to GenerationConfig - Load language from config.yaml in init_cmd.py and update_cmd.py - Pass language through orchestrator to PageGenerator - Inject language instruction into system prompt in _call_provider - Include language in cache key - Set num_ctx in Ollama provider for larger context window
- restore package-lock.json next pin to ~15.5.15 to match main - move _LANGUAGE_NAMES below the structlog logger import and group with other module-level constants - restore the blank line separator before the Per-type generation methods section in PageGenerator - extract the language-instruction construction into a small _build_system_prompt helper so _call_provider stays focused on caching plus dispatch - switch the unknown-language warning from an f-string to structlog keyword args, matching the rest of the file, and stop logging the fallback when the configured language is already 'en' - make run_generation's generation_config kwarg optional so callers that do not thread one through (run_pipeline, workspace update) fall back to GenerationConfig() defaults instead of TypeError - drop the broken generation_config=config call inside run_pipeline where no such local existed - hoist the dataclasses.replace import to the module top - add five unit tests covering the english passthrough, non-english prepend, unknown-code fallback, control-char sanitization, and cache-key variance by language
RaghavChamadiya
added a commit
that referenced
this pull request
Apr 26, 2026
* feat: improve PreToolUse hook relevance with multi-signal search Replace FTS-only file retrieval with a 3-signal ranking system: - Symbol name match (weight 2.0) — most precise - File path match (weight 1.5) — catches path-based searches - FTS on wiki content (weight 1.0) — broadest, lowest priority Files ranked by signal score then PageRank, top 3 returned. Remove git signals (HOTSPOT, bus-factor, owner) from enrichment — that info belongs in get_risk, not every search. Remove Bash command interception (fragile regex on grep/rg commands). Keep: symbols (3), importers (3), dependencies (2) per file. * release: v0.3.1 Bumps repowise to 0.3.1 across pyproject.toml and the three sub-package __init__.py files. Highlights since 0.3.0: - Output language support for generated wiki content (#99) - Luau / Roblox language support (#89) - OpenRouter LLM and embedding provider (#56) - base_url plus per-provider env vars for OpenAI / Anthropic / Gemini / Ollama / LiteLLM (#85) - SQLite WAL plus busy_timeout plus FK constraints, fixing concurrent 'repowise update' database is locked errors (#101) - CLAUDE.md opt-out prompt now asked in both full and advanced modes and the answer is honoured (#102) - repowise init no longer silently overwrites unparseable user JSON configs (#94) - pyproject packages list resynced with the language-support refactor so editable installs and CI build cleanly (#97) - uv workflow documented and dev deps migrated to PEP 735 dependency-groups, silencing the tool.uv.dev-dependencies deprecation warning (#100) - Five Dependabot security bumps (dompurify, gitpython, mako, litellm, python-multipart) Also flips the project URLs and serve_cmd's _GITHUB_REPO constant from RaghavChamadiya/repowise to repowise-dev/repowise so 'repowise serve' can locate the published web UI tarball.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Supersedes #75 by @maxfrank76. Picking up the long-running output-language work, rebased onto current main and polished so we can land it.
What this adds
languagefield onGenerationConfig(defaulten).--languageis read from.repowise/config.yamland threaded throughinitandupdatetoPageGenerator.PageGeneratorprepends a small system-prompt instruction in the configured language while keeping code, paths, and symbol names untranslated.Polish on top of #75
package-lock.json nextpin to match main (~15.5.15)._LANGUAGE_NAMESwith module-level constants and restored the missing blank line before the per-type generation methods section._build_system_prompthelper so_call_providerstays focused on caching plus dispatch.en.run_generation's newgeneration_configkwarg optional sorun_pipelineand the workspace update path keep working when a config is not threaded through.generation_config=configcall insiderun_pipelinethat referenced an undefined local.dataclasses.replaceto the module-level imports.Tests
Added five unit tests in
tests/unit/generation/test_page_generator.py:Credit to @maxfrank76 for the design and the bulk of the implementation.