# 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

# should be working in a temp dir -vs- (read-only) checkout dir.
tagcollisionreject.tmp.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/
