Summary
npx campaign-init sets up _data/campaigns.json and npm scripts, but doesn't generate a .gitignore. Developers have to create one manually or risk committing build output, editor files, and local config.
Proposed Solution
Generate a .gitignore as part of npx campaign-init (or prompt to create one if it doesn't already exist):
**/.DS_Store
.AppleDouble
.LSOverride
node_modules/
_site/
.tmp/
scss/
**/.sass-cache
/.sass-cache/
.vscode/
.cursor/
Local Netlify folder
.netlify
If a .gitignore already exists, skip or prompt rather than overwrite.
Why
_site/ (the build output) and node_modules/ are the critical ones — easy to accidentally commit without a .gitignore in place. The rest covers common editor and OS clutter that most projects exclude anyway.
Summary
npx campaign-initsets up_data/campaigns.jsonand npm scripts, but doesn't generate a.gitignore. Developers have to create one manually or risk committing build output, editor files, and local config.Proposed Solution
Generate a
.gitignoreas part ofnpx campaign-init(or prompt to create one if it doesn't already exist):**/.DS_Store
.AppleDouble
.LSOverride
node_modules/
_site/
.tmp/
scss/
**/.sass-cache
/.sass-cache/
.vscode/
.cursor/
Local Netlify folder
.netlify
If a
.gitignorealready exists, skip or prompt rather than overwrite.Why
_site/(the build output) andnode_modules/are the critical ones — easy to accidentally commit without a.gitignorein place. The rest covers common editor and OS clutter that most projects exclude anyway.