Formatting
GitAuto runs the project's code formatter on every generated file before committing it to the PR branch. For example, for JavaScript/TypeScript projects, it reads the .prettierrc config and runs npx prettier --write to format it. Empty files and unsupported file types are skipped automatically.
Inconsistent Formatting Blocks Reviews
Formatting inconsistencies don't affect functionality, but they cause every PR to fail the team's formatting checks in CI. Developers then have to manually fix formatting before they can even review the actual logic changes.
By running the formatter with the project's own config, GitAuto ensures generated code matches the exact style the team enforces - tabs vs. spaces, semicolons vs. none, trailing commas, print width, and other formatting options.
Why Models Format Inconsistently
Models generate code token-by-token with no global formatting plan. Indentation, spacing, and style choices are made locally at each token. The model might use 2-space indent in one block and 4-space in another within the same file, because each indentation token is predicted independently based on local context. Code generation benchmarks evaluate functional correctness, not formatting - a model gets the same score whether it uses 2-space or 4-space indentation, so there is no training signal to be consistent.
How It Works
Before committing generated code, GitAuto checks if the repository has a formatter configuration. For example, for Prettier it looks for .prettierrc, .prettierrc.json, prettier.config.js, etc. If found, it writes the generated file to the working directory and runs npx prettier --write on it. The formatted output replaces the original, and that formatted version is what gets committed to the PR.
Files that the formatter cannot handle - binary files, unsupported extensions, or empty files - are silently skipped. This prevents formatter errors from blocking the entire PR creation process.
Related Features
- Linting - fixes code quality issues that the formatter does not cover
- Trailing Space Removal - removes trailing whitespace as a fallback when a formatter is not configured
Need Help?
Have questions or suggestions? We're here to help you get the most out of GitAuto.
Contact us with your questions or feedback!