opencommit icon indicating copy to clipboard operation
opencommit copied to clipboard

[Feature]: Use standard config file naming

Open kykungz opened this issue 3 months ago • 0 comments
trafficstars

Description

I see there’s already an issue about using a .env file for local config, and a PR that renames it to .opencommit.env.

However, this naming does not follow common Node.js config file conventions.

Examples of standard config file names:

  • ESLint: .eslintrc / eslint.config.js
  • Prettier: .prettierrc
  • Stylelint: .stylelintrc
  • Jest: jest.config.js

Suggested Solution

Use a config loader like cosmiconfig, which supports popular formats like .opencommitrc, opencommit.config.js, etc.

By default, Cosmiconfig will check the current directory for the following:

  • a package.json property
  • a JSON or YAML, extensionless "rc file"
  • an "rc file" with the extensions .json, .yaml, .yml, .js, .ts, .mjs, or .cjs
  • any of the above two inside a .config subdirectory
  • a .config.js, .config.ts, .config.mjs, or .config.cjs file

This would:

  • Follow standard naming
  • Simplify config handling (loading, merging configs, etc.)
  • Allow removal of custom logic: https://github.com/di-sukharev/opencommit/blob/c1756b85aff7804b194d41cc9e5bde32c73fe22f/src/commands/config.ts#L919-L931

Happy to help if needed!

Alternatives

No response

Additional Context

No response

kykungz avatar Jul 23 '25 17:07 kykungz