Feature request: `bulloak.toml` config file
Things that I would like to configure (and which Bulloak would apply to all Solidity code generated via scaffold):
-
Indenting (4 spaces instead of 2): https://github.com/alexfertel/bulloak/issues/40
-
SPDX license
-
compiler pragma as a string (e.g.,
>=0.8.19) -
GPT processing: https://github.com/alexfertel/bulloak/issues/39
-
Whether I want a bespoke name for the final leaf (ref https://github.com/alexfertel/bulloak/issues/37)
-
Whether I want one-test-per-it-branch or bundled-its (ref https://github.com/alexfertel/bulloak/discussions/7#discussioncomment-6965212) https://github.com/alexfertel/bulloak/discussions/7#discussioncomment-7131740) Potentially helpful for other users:
-
Case sensitivity (ref https://github.com/alexfertel/bulloak/issues/20)
It would be nice if these settings could be kept in foundry.toml somehow, but I don't think Foundry allows custom configs.
I'm sure @mds1 and future users will find other use cases with this config file.
I'd suggest requiring the config to just live in foundry.toml to avoid needing new config files for each tool. See https://github.com/foundry-rs/foundry/issues/5866 for my suggestion on how this would look
Tbh, I have conflicting feelings over this one. I totally agree with having a config file. However, if the only advantage of having the config inside foundry.toml is having one less file in the project, I'd rather use a separate bulloak.toml. I know people have hated having way-too-many config files historically, but I don't really mind it.
The rationale for a separate bulloak.toml is:
-
Friendlier for first-time users:
- Someone who hasn't used bulloak before would not expect it to be configured in a
foundry.toml. - Syntax is a bit more complex. Users need to be aware of the proposed
external(or whatever is chosen) and the config will be surrounded by unrelated configs.
- Someone who hasn't used bulloak before would not expect it to be configured in a
- Parsing is simpler. A trivial amount, but nonetheless simpler.
-
Stay decoupled from
Foundry. This is not a strong argument,bulloakis already coupled to Foundry, however, that might change in the future. - Generating a file with the default config is simpler that modifying a
foundry.toml.
That being said, I'm not strongly opinionated.
I know people have hated having way-too-many config files historically, but I don't really mind it.
Me neither!
bulloakis already coupled to Foundry, however, that might change in the future.
TBH I can see Bulloak used for other blockchain programming languages + paradigms other than crypto.
The rationale for a separate bulloak.toml
Agree with all points