A few months ago I asked whether it was possible to put other files (typically small scripts used by deploy steps) in .circleci/ alongside config.yml :
The answer was that .circleci/ is not a special directory, you still need a checkout step if you want to reference its contents in config.yml. Only .circleci/config.yml is a special case that doesn’t require checkout.
It would be great for readability and modularity if this changed, and everything under .circleci was immediately usable by config.yml without a checkout step.
Right now if you want to make config.yml modular and readable by moving some steps into scripts (to be called several times with different parameters), you have to do a full checkout (which otherwise wouldn’t be required if the job is a deploy-only job for example, as opposed to a build/test job).
Or, if you want to avoid a checkout step, then you need to forget about external scripts and stick all of the logic inside config.yml itself, possibly repeated in different jobs, which isn’t very readable or maintainable.
Do you think this can be addressed ?