Thank you for your interest in contributing to MindLog! This guide will help you get started.
Note: When modifying
README.md, please updateREADME.ko.mdaccordingly (and vice versa).
- Bug Reports — Open an issue with reproduction steps
- Feature Requests — Open an issue describing the use case and expected behavior
- Pull Requests — Fork the repo, create a branch, and submit a PR
# Prerequisites: Flutter 3.38.x, Dart 3.10.x
# 1. Clone
git clone https://github.com/kaywalker91/MindLog.git
cd MindLog
# 2. Install dependencies
flutter pub get
# 3. Generate code
dart run build_runner build --delete-conflicting-outputs
# 4. Get a Groq API key from https://console.groq.com/
# 5. Run
flutter run --dart-define=GROQ_API_KEY=your_keyBefore submitting a PR, please ensure:
# Run all quality checks (lint + format + test)
./scripts/run.sh quality
# Or individually:
flutter analyze --fatal-infos
dart format --output=none --set-exit-if-changed .
flutter testWe follow Conventional Commits:
| Prefix | Usage |
|---|---|
feat: |
New feature |
fix: |
Bug fix |
docs: |
Documentation only |
refactor: |
Code restructuring |
test: |
Adding/updating tests |
chore: |
Build, CI, tooling |
ci: |
CI/CD changes |
- Create a feature branch from
main - Make your changes with clear, focused commits
- Ensure all quality gates pass
- Submit a PR with a description of what and why
- Respond to review feedback
MindLog uses Clean Architecture with three layers:
- domain/ — Entities, repository interfaces, use cases (pure Dart)
- data/ — Repository implementations, data sources, DTOs
- presentation/ — Providers (Riverpod), screens, widgets
Layer rules: presentation → domain ← data (domain has no dependencies)
- 2-space indent, trailing commas for multiline widgets
constwherever possible, nodynamic- Files:
snake_case.dart/ Types:PascalCase/ Variables:lowerCamelCase
MindLog에 관심을 가져주셔서 감사합니다!
- 버그 리포트 — 이슈에 재현 방법과 함께 등록해 주세요
- 기능 제안 — 이슈에 사용 사례와 기대 동작을 설명해 주세요
- Pull Request — 저장소를 포크하고, 브랜치를 만든 후 PR을 제출해 주세요
# 사전 요구: Flutter 3.38.x, Dart 3.10.x
# 1. 클론
git clone https://github.com/kaywalker91/MindLog.git
cd MindLog
# 2. 의존성 설치
flutter pub get
# 3. 코드 생성
dart run build_runner build --delete-conflicting-outputs
# 4. Groq API 키 발급: https://console.groq.com/
# 5. 실행
flutter run --dart-define=GROQ_API_KEY=your_keyConventional Commits 규칙을 따릅니다.
| 접두사 | 용도 |
|---|---|
feat: |
새 기능 |
fix: |
버그 수정 |
docs: |
문서 변경 |
refactor: |
코드 구조 개선 |
test: |
테스트 추가/수정 |
chore: |
빌드, CI, 도구 |
README.md를 수정할 때는README.ko.md도 함께 업데이트해 주세요 (반대도 동일)SafetyBlockedFailure는 절대 수정하지 마세요 (위기 감지 기능)- PR 제출 전
./scripts/run.sh quality를 반드시 실행해 주세요