# local chart repo dir used when building the http-accessible repo
chart_repo

# lockfiles for requirements.yaml for dependent charts
requirements.lock
Chart.lock

# sub charts directories, created by helm dep ...
charts

# tagcollisionreject.sh is downloaded via the Makefile if not present
tagcollisionreject.sh

# helm-repo-tools is cloned in the Makefile if not present
helm-repo-tools/

# misc files
.*.swp
.remote-sync.json
.DS_Store
#Idea
.idea/
