cake-build / cake-build/cake

Use a `.cake` folder by default instead of a `tools` folder

Open
#3,263 2 comments 5 reactions 1 assignee Claimed by @augustoproiete View on GitHub
Improvement
Dominant language
C#
Stars
4.2k
Forks
778
Avg merge
1h 15m
Merged PRs (30d)
19

Description

> Tracking improvement originally from discussion https://github.com/cake-build/cake/discussions/2979 targeting Cake v2.0

As we all know, Cake uses a folder for downloading and extracting NuGet packages (and other things), and by default it uses a `./tools` folder.

There a couple of (small) issues I've seen because of that:

1. **Adding Cake to existing projects** (any language/platform)
`./tools` is a [common enough name that some projects use for other purposes](https://github.com/cake-build/website/issues/468) (even internal to the project) and when introducing Cake to existing projects that already define a `./tools` folder, one needs to be careful to ensure Cake won't touch that folder and will use a different folder instead, which is not as straightforward as changing the `cake.config` as sometimes that means [adapting bootstrappers that don't honor what's set in the `cake.config`](https://github.com/cake-build/resources/issues/84).

2. **Adding Cake to new projects** (.NET-specific)
When starting a new project, it's common for devs to use the default [`VisualStudio.gitignore`](https://github.com/github/gitignore/blob/6eff882467cbde7b4e293b4dd6abd7685fc67844/VisualStudio.gitignore) on GitHub. The good news is that [this .gitignore already brings a couple of lines specific to Cake](https://github.com/github/gitignore/blob/6eff882467cbde7b4e293b4dd6abd7685fc67844/VisualStudio.gitignore#L318-L320). The bad news is that [they are commented out](https://github.com/github/gitignore/blob/6eff882467cbde7b4e293b4dd6abd7685fc67844/VisualStudio.gitignore#L318-L320), because having a `./tools` by default would be too broad of a rule.

If Cake started using a `.cake` folder (or similar), it would avoid the issues above as it's unlikely users would have a `.cake` folder for a different purpose other than using Cake, and it would be specific enough to be included in the [`VisualStudio.gitignore`](https://github.com/github/gitignore/blob/6eff882467cbde7b4e293b4dd6abd7685fc67844/VisualStudio.gitignore) template.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.