-
Notifications
You must be signed in to change notification settings - Fork 3
Contributing
Koishi edited this page Mar 19, 2026
·
2 revisions
Thank you for contributing to MomShell!
- Getting Started — Prerequisites and setup
- Development — Development workflow and commands
Before committing, run checks locally:
make check # lint + typecheck (Go + Vue)
make format # go fmtPre-commit hooks run automatically if installed:
pre-commit install-
Go:
gofmt,go vet,go build -
Vue: ESLint,
vue-tsc - General: trailing whitespace, YAML validity, merge conflicts, large files
Backend (Go):
-
gofmtformatting -
go vetpasses - Follow standard Go project layout
Frontend (Vue/TypeScript):
- ESLint with
eslint-plugin-vue+typescript-eslint -
vue-tsctype checking passes
Backend:
cd backend
go get github.com/some/package
go mod tidyFrontend:
cd frontend
npm install some-packageLock files (go.sum, package-lock.json) must be committed.
All commits follow Conventional Commits: type: description
| Type | Description |
|---|---|
feat |
New feature |
fix |
Bug fix |
refactor |
Code restructuring |
chore |
Build, config, tooling |
docs |
Documentation |
ci |
CI/CD changes |
test |
Tests |
- Create feature branch from
main:feat/feature-nameorfix/issue-name - Make changes, commit with conventional messages
- Push and create PR targeting
main - Ensure CI passes and request review
Never commit: .env, *.pem, *.key, credentials.json
Pre-commit hook failing?
Run make check to see which check fails, fix, then commit again.
Frontend build failing?
Delete node_modules and run npm install.
Port already in use?
lsof -i :8000
kill -9 <PID>