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

# helm-repo-tools repo (in case of local testing)
helm-repo-tools/

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

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

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