Reduce number of files in project root
Is your feature request related to a problem? Please describe. The project root contains a lot of dev/configuration related files that make people need to scroll heavily before getting to the README. Also, these files usually don't convey much useful information about the project.
Describe the solution you'd like Evaluate each of these files/folder and determine if they could be moved/omitted/replaced/etc.
Most of these files belong in the root dir and it is beneficial to keep them there so they are found by CLI commands as well as IDEs (and their plugins), but I'll try to go through them and see how many can be moved or consolidated without breaking that too much. I like to experiment with them anyway.
@markstur are there pending items or this ready to close?
There's more. I was tempted to open this up for Hacktoberfest small chores, but need to be more specific about which files can move and where. I'll do that and probably just finish this.
.lintstagedrc.json can be easily moved to package.json
.lintstagedrc.jsoncan be easily moved topackage.json
Thanks, I actually have that and some other changes that I just didn't push yet. Will try to get those in on Monday
Moving .lintstagedrc.json, .release-it.json, and commitlint.config.ts to package.json. Some devs might prefer the separate files, but to support this issue these all can go in package.json.
One problem with this is the special function for ignoring dependabot in commit-lint. I haven't found a way to move that ts code into package.json. It does, however, look like dependabot has fixed its problem. So I don't think the ignore is needed.
.nvmrc can be moved for devs, but it broke a CI action. So TBD.
The .git* files should not move. .env.template I do not think should move. .yarnrc.yml cannot move
The *.md files and LICENSE are pretty standard in root. I don't see anything that should move. GitHub recognizes them.
docker-compose.yml usually belongs in root (I didn't try moving that one).
eslint.config.js could be moved (e.g. to scripts/configs) and then the commands use --config to make this work, but then devs using IDEs would not naturally pick this up so I would not move that one.
vitest.config.ts could also move if we use the config option to specify the file with running tests, but vitest then has problems referring back to tsconfig.json and package.json. Probably don't want to move these.
@markstur @Tomas2D Is this issue done given the linked PR is merged or is there a bit more to do?
Some of those are already completed, and this issue is a low priority.
If you would like to contribute, check out #71 and #105.
I opened #117 to remove .nvmrc with the CI tweak that blocked me earlier.
I could move .husky to scripts(?), but really we use .husky in root pretty consistently. So I think this issue can be closed after 117. @Tomas2D do you want me to move .husky or dig deeper on any of those remaining dot files?
I think we should close this now. We won't be moving .nvmrc (was #117) and we are getting deeper into moving files from their preferred/expected location just to tidy up the github page. Let's not get carried away. If anyone really thinks we should get rid of some others, please open a more specific issue to investigate those.
In some cases, the best fix for the clutter is to send people to https://i-am-bee.github.io/bee-agent-framework/#/ and https://github.com/i-am-bee/bee-agent-framework/blob/main/README.md
I agree with you Mark. Let's close this for now.