brainstorming
brainstorming
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or planning anything new, in software or out of it (a talk, a business, a renovation).
configure-git-repositoryConfigure a Git repository with proper .gitignore, branch strategy, commit conventions, hooks, and remote setup. Covers initial setup and common patterns for R, Node.js, and Python projects. Use when initializing version control for a new project, adding a .gitignore for a specific language or framework, setting up branch protection and conventions, or conf…
Independent GitHub snapshot · Automated classification · Original documentation governs
依項類設 Git 庫之宜配。
.gitignore 於某言/框cd /path/to/project
git init
git branch -M main
得: .git/ 已建。默支名 main。
敗: git init 敗→確 Git 已裝(git --version)。若已有 .git/→庫已初,略步。
R 包:
# R artifacts
.Rhistory
.RData
.Rproj.user/
*.Rproj
# Environment (sensitive)
.Renviron
# renv library (machine-specific)
renv/library/
renv/staging/
renv/cache/
# Build artifacts
*.tar.gz
src/*.o
src/*.so
src/*.dll
# Documentation build
docs/
inst/doc/
# IDE
.vscode/
.idea/
# OS
.DS_Store
Thumbs.db
Node.js/TypeScript:
node_modules/
dist/
build/
.next/
.env
.env.local
.env.*.local
*.log
npm-debug.log*
.DS_Store
Thumbs.db
.vscode/
.idea/
coverage/
Python:
__pycache__/
*.py[cod]
*.egg-info/
dist/
build/
.eggs/
.venv/
venv/
.env
*.log
.mypy_cache/
.pytest_cache/
htmlcov/
.coverage
.DS_Store
.idea/
.vscode/
得: .gitignore 依項類建。敏檔(.Renviron、.env)與生物排。
敗: 不確入何→以 gitignore.io 或 GitHub 模起並改。
git add .gitignore
git add . # Review what's being added first with git status
git commit -m "Initial project setup"
得: 首提交含 .gitignore 與初項檔。git log 示一提交。
敗: 「nothing to commit」→確已 git add。身份錯→設 git config user.name 與 user.email。
# Add remote
git remote add origin git@github.com:username/repo.git
# Push
git push -u origin main
得: 遠 origin 已配。git remote -v 示取推 URL。初提交已推。
敗: 「Permission denied (publickey)」→配 SSH(見 setup-wsl-dev-environment)。遠已在→git remote set-url origin <url> 更。
Trunk-based(小組宜):
main:生產就緒feature/descriptionfix/description# Create feature branch
git checkout -b feature/add-authentication
# After work is done, merge or create PR
git checkout main
git merge feature/add-authentication
得: 支名例已立且記。組員知各類工之前綴。
敗: 支名已異→git branch -m old-name new-name 更,更開 PR。
Conventional Commits 格式:
type(scope): description
feat: add user authentication
fix: correct calculation in weighted_mean
docs: update README installation section
test: add edge case tests for parser
refactor: extract helper function
chore: update dependencies
得: 提交訊息例已記且組同意。後提交守 type: description。
敗: 組員不守→以 commit-msg hook 執(見步七)。
建 .githooks/pre-commit:
#!/bin/bash
# Run linter before commit
# For R packages
if [ -f "DESCRIPTION" ]; then
Rscript -e "lintr::lint_package()" || exit 1
fi
# For Node.js
if [ -f "package.json" ]; then
npm run lint || exit 1
fi
chmod +x .githooks/pre-commit
git config core.hooksPath .githooks
得: hook 於每 git commit 自行。lint 錯阻提交至修。
敗: hook 未行→驗 core.hooksPath 已設(git config core.hooksPath)且 hook 可行(chmod +x)。
# Minimal README
echo "# Project Name" > README.md
echo "" >> README.md
echo "Brief description of the project." >> README.md
git add README.md
git commit -m "Add README"
得: README.md 已提。項於 GitHub 有簡有資之頁。
敗: README.md 已在→更勿覆。R 項用 usethis::use_readme_md() 取含 badge 之模。
.gitignore 排敏檔與生物.gitignore 前提交:先加 .gitignore。已追檔不受後 .gitignore 影響。git filter-repo 或 BFG 清。core.autocrlf=input 防 CRLF/LF 問。commit-changes - 暫存與提交流manage-git-branches - 支建與例create-r-package - R 包建中之 Git 設setup-wsl-dev-environment - Git 裝與 SSHcreate-github-release - 從庫建發布security-audit-codebase - 察所提之秘