Config File Generator
Generate config files for Prettier, PostCSS, Husky, Dependabot, Changesets, Lerna, pnpm and Yarn workspaces, Nginx compression and logrotate.
About this tool
Config File Generator
Generate config files for Prettier, PostCSS, Husky, Dependabot, Changesets, Lerna, pnpm and Yarn workspaces, Nginx compression and logrotate.
Pick the tool, toggle the options you need and copy a ready config file. This page brings together 10 separate config file generator pages (Changesets, Dependabot, Husky, Lerna, Logrotate, Nginx compression, pnpm workspace, PostCSS, Prettier, Yarn workspaces) so you can compare them without hunting for the right one.
How to use Config File Generator
- 1
Open Config File Generator on AltFTool — it loads instantly in your browser.
- 2
Choose your config at the top: Changesets, Dependabot, Husky, Lerna and 6 more. On a phone it is a drop-down list.
- 3
Fill in the config file generator for that config; each of the 10 options keeps its own rules, data and defaults.
- 4
Read the result, then switch config to compare. The page link keeps your config (?v=changesets), so you can bookmark or share it.
Why use Config File Generator
All 10 in one place
Changesets, Dependabot, Husky and the rest sit behind one picker, so switching config takes a tap instead of a new search.
Built for each option
Every config keeps its own rules, numbers and defaults rather than one generic template.
Shareable view
The link remembers the config you picked, so a bookmark or a shared link opens straight on it.
Common use cases
- An open-source maintainer switching the default changelog to @changesets/changelog-github so entries link commits and pull requests
- A maintainer enabling weekly npm and GitHub Actions updates on a repository without writing the YAML schema by hand
- Setting up a new repository so ESLint and Prettier run automatically on staged files before every commit
- A library author starting an npm monorepo and choosing independent versioning with conventional-commit-driven changelogs
Frequently asked questions
Which config options does this tool cover?
10: Changesets, Dependabot, Husky, Lerna, Logrotate, Nginx compression, pnpm workspace, PostCSS, Prettier, Yarn workspaces. Pick one at the top of the tool; the page link updates (for example ?v=changesets) so you can bookmark or share that exact view.
What is the difference between fixed and linked packages in changesets?
Fixed groups always share the exact same version — releasing any member bumps every member, like Lerna's fixed mode. Linked groups only receive a shared bump when they are released together; a linked package with no changes keeps its old version, which suits packages that should stay in step without forcing empty releases.
Where does the dependabot.yml file go in my repository?
At .github/dependabot.yml on your repository's default branch. Dependabot reads it automatically once committed — there is no separate enable step for version updates, though your organisation can also turn Dependabot on or off in repository security settings.
How do I set up Husky and lint-staged together?
Install both as dev dependencies, run husky init, then make .husky/pre-commit run lint-staged and add a lint-staged object to package.json mapping globs to commands. husky init also adds a "prepare": "husky" script so hooks are installed for everyone who clones and runs an install.
What is the difference between fixed and independent versioning in Lerna?
Fixed (locked) mode keeps every package on one shared version — a single number in lerna.json that all packages bump together, the model Babel uses. Independent mode sets version to "independent" so each changed package gets its own bump and changelog at release time; pick it when packages evolve at genuinely different speeds.
What is the difference between size and maxsize in logrotate?
size rotates ONLY on file size and makes logrotate ignore the daily/weekly/monthly schedule entirely, while maxsize rotates when either the size is exceeded or the scheduled time arrives — whichever happens first. For "daily, but sooner if it hits 100M", use maxsize 100M with daily.
What gzip_comp_level should I use in nginx?
Level 5 or 6 is the usual sweet spot — nginx's default is only 1, and levels above 6 cost noticeably more CPU for roughly 1% smaller output. Level 9 only makes sense for pre-compressing static files offline, which gzip_static then serves with zero runtime cost.
What goes in pnpm-workspace.yaml?
At minimum a packages key: a list of directory globs such as apps/* and packages/* that mark workspace members, with ! prefixes to exclude paths like test folders. The same file can also hold catalog (default) and catalogs (named) maps of dependency versions, and in pnpm 10 it absorbed many settings that previously lived under pnpm in package.json.
Does the order of PostCSS plugins matter?
Yes — PostCSS runs plugins strictly top to bottom, each receiving the previous plugin's output. postcss-import must run first so later plugins see the inlined files, nesting must be flattened before autoprefixer processes selectors, and cssnano's documentation says to run it last on the final CSS.
What are the default Prettier settings?
Prettier 3 defaults to printWidth 80, tabWidth 2, spaces (not tabs), semicolons on, double quotes, trailingComma "all", bracketSpacing on, arrowParens "always", proseWrap "preserve" and endOfLine "lf". An empty {} config file gives you exactly these values, which is why this tool omits anything you leave at its default.
How do I set up Yarn workspaces in package.json?
Add "private": true and a "workspaces" array of globs — for example ["apps/*", "packages/*"] — to the root package.json, then run yarn install. Yarn refuses to enable workspaces on a non-private root package, and each workspace is a folder with its own package.json matching one of the globs.