Skip to content

--force-render renders the whole project again, without a question - #355

Merged
pedjaradenkovic merged 1 commit into
mainfrom
fix/force-render-skips-the-choice-screen
Nov 3, 2026
Merged

pedjaradenkovic merged 1 commit into
mainfrom
fix/force-render-skips-the-choice-screen

Conversation

@NejcS

@NejcS NejcS commented Nov 3, 2026 •

Copy link
Copy Markdown
Member

The user runs the renderer with --force-render on a project that is already rendered. The renderer starts at once. It renders every module again, from the first one, and replaces the code that was rendered before. No screen asks where to start.

Before this change, the renderer still showed the question "Re-render the current module" or "Quit", even with the option set. The user had to answer.

Headless mode

In headless mode nobody can answer the question, so the renderer stopped. Now it renders.

Without the option

Nothing changes. The renderer still asks when the answer can destroy code that was rendered before.

With --force-render the client no longer asks where to start. It renders
every module again, from the first one, and replaces the code rendered
before. This also works in headless mode, where the question could not be
answered and the render stopped.

Without the option nothing changes: the client still asks when a choice
can destroy rendered code.
@coderabbitai

coderabbitai Bot commented Nov 3, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

No actionable comments were generated in the recent review.

Walkthrough

The --force-render option now chooses a full-chain rerender from the first module, skips the start-point selection, and bypasses confirmation. The help text describes this behavior, and tests cover the generated rerender choice.

Changes: Force-render behavior

Layer / File(s) Summary
Full-chain rerender choice
partial_rendering.py, tests/test_partial_rendering.py, docs/plain2code_cli.md, plain2code_arguments.py
Force-render now returns one destructive rerender choice from the first required module, or the current module if there are no required modules. Tests cover the choice and its behavior when changes are detected. The help text describes rerendering every project module and replacing previously rendered code.
CLI choice selection
plain2code.py
When force-render is set, the render command selects the first choice and skips confirmation. Without force-render, destructive choices still require confirmation.

Estimated code review effort: 2 (Simple) | ~10 minutes

Change: Bug fix

Possibly related PRs

  • Codeplain-ai/codeplain#318: Adds --regenerate and selects a regeneration start point. Both changes affect rerender start behavior.

Suggested reviewers: zanjonke, pedjaradenkovic, vitjanz

Merge Risk: Minimal · up to e9b30

Forced rendering replaces the previously rendered project without the start-point prompt. No material merge risk was identified.

Pre-merge checks: Passed 4 · Failed 1

Failed Failed checks: 1 warning

Check name Status Explanation Resolution
Docstring Coverage Warning Docstring coverage is 33.33% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff with cyclomatic complexity of at least 2. Documenta… Write docstrings for the functions missing them to satisfy the coverage threshold.
Passed Passed checks: 4 passed
Check name Status Explanation
Description Check Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check Passed The title clearly and concisely describes the main change: --force-render rerenders the whole project without prompting.
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.
Full details: Docstring Coverage

Explanation

Docstring coverage is 33.33% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff with cyclomatic complexity of at least 2. Documentation-only edits and deletions within surviving functions are included; unchanged diff context and fully deleted functions are excluded. Analyzed 3 functions across 4 files. (1 skipped: 1 unsupported.)

Resolution

Write docstrings for the functions missing them to satisfy the coverage threshold.

Finishing Touches
Generate docstrings
  • Commit to this branch
  • Create a new PR
Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Tip

🎯 Customize your risk assessments

Guide how CodeRabbit assesses merge risk and security architecture risk. Highlight sensitive changes and explain your security boundaries using Merge Risk Instructions and Security Risk Instructions in your review settings. Security architecture risk assessments require the Advanced plan or above.

✅ Automatic approvals, with your rules

Let CodeRabbit approve pull requests once required threads are resolved, pre-merge checks pass, and your risk limits are met. Enable Automatic approvals in review settings, with overrides for teams or file paths.

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

Share

CodeRabbit Verify

  • Run CodeRabbit Verify to test the changes in this pull request.
Recent review info
Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: ceaed33b-0e78-45ae-8fa9-dd6ccdab7f7a
Commits

Reviewing files that changed from the base of the PR and between cf96d0f and e9b308c.

Files selected for processing: 5
  • docs/plain2code_cli.md
  • partial_rendering.py
  • plain2code.py
  • plain2code_arguments.py
  • tests/test_partial_rendering.py

Included review availability: This review used your included allowance. Your plan provides up to 1 included review per hour; 0 remain after this review.

@NejcS
NejcS requested a review from pedjaradenkovic November 3, 2026 06:51

@pedjaradenkovic pedjaradenkovic left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tested, lgtm. I'm merging this

@pedjaradenkovic
pedjaradenkovic merged commit 6e1c3e3 into main Nov 3, 2026
11 checks passed
@pedjaradenkovic
pedjaradenkovic deleted the fix/force-render-skips-the-choice-screen branch November 3, 2026 10:33
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