Skip to content

Conversation

Copilot
Copy link
Contributor

@Copilot Copilot AI commented Oct 5, 2025

Overview

This PR adds a comprehensive .github/copilot-instructions.md file to help GitHub Copilot understand the project's architecture, coding patterns, and best practices when providing code suggestions.

What's Included

The documentation file provides detailed guidance across multiple areas:

🏗️ Architecture & Patterns

  • Complete explanation of the MVI (Model-View-Intent) pattern implementation
  • Multi-module Clean Architecture structure with dependency flow
  • Reactive programming with Kotlin Coroutines & Flow
  • Functional error handling with Arrow-kt

📝 Coding Conventions

  • ViewModel and View implementation patterns with code examples
  • Flow operator usage (flatMapLatest, flatMapFirst, flatMapMerge, scan, etc.)
  • State management and state saving for process death handling
  • Naming conventions for classes, functions, and properties
  • Dependency injection patterns using Koin

🧪 Testing Approach

  • Unit testing patterns for ViewModels using BaseMviViewModelTest
  • Domain and data layer testing strategies
  • MockK usage and test utilities
  • Example test cases demonstrating the testing approach

🛠️ Development Workflows

  • Gradle build commands for common tasks
  • Code quality tools (Spotless, Detekt, Kover, Qodana)
  • CI/CD workflow descriptions
  • Project setup and contribution guidelines

💡 Common Patterns & Snippets

  • Creating new feature modules
  • Form validation with error accumulation
  • Search implementation with debounce
  • Error handling with Either/EitherNes

🤔 Architecture Decision Records

  • Why MVI over other patterns
  • Why Arrow-kt for functional error handling
  • Why Koin over Dagger
  • Why Flow over RxJava

Benefits

This documentation will enable GitHub Copilot to:

  • ✅ Generate code that follows the project's MVI architecture
  • ✅ Suggest appropriate Flow operators and reactive patterns
  • ✅ Use correct functional error handling with Arrow-kt's Either
  • ✅ Follow established naming conventions and code structure
  • ✅ Create properly structured ViewModels and Views
  • ✅ Write tests consistent with the existing test patterns
  • ✅ Understand the multi-module architecture and dependencies

File Details

  • Location: .github/copilot-instructions.md
  • Size: 560 lines
  • Sections: 10 major sections with 46 subsections
  • Format: GitHub-flavored Markdown with code examples

This comprehensive guide ensures that GitHub Copilot has the full context needed to provide intelligent, project-specific code suggestions that align with the established architecture and coding standards.

Original prompt

This section details on the original issue you should resolve

<issue_title>Create .github/copilot-instructions.md file</issue_title>
<issue_description>Read all code in this repository and create .github/copilot-instructions.md</issue_description>

Comments on the Issue (you are @copilot in this section)

Fixes #294

✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.

Co-authored-by: hoc081098 <36917223+hoc081098@users.noreply.github.com>
@Copilot Copilot AI changed the title [WIP] Create .github/copilot-instructions.md file Create comprehensive .github/copilot-instructions.md file Oct 5, 2025
@Copilot Copilot AI requested a review from hoc081098 October 5, 2025 11:15
Copilot finished work on behalf of hoc081098 October 5, 2025 11:15
@hoc081098 hoc081098 marked this pull request as ready for review October 5, 2025 14:00
@hoc081098 hoc081098 merged commit 67bbe5a into master Oct 5, 2025
@hoc081098 hoc081098 deleted the copilot/fix-c4556e33-ddff-421e-89fd-cfc5f8d4638f branch October 5, 2025 14:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Create .github/copilot-instructions.md file
2 participants