Skip to content

Conversation

Copy link
Contributor

Copilot AI commented Sep 20, 2025

Created a comprehensive .github/copilot-instructions.md file that provides GitHub Copilot agents with everything needed to work effectively in the V2er Android codebase after acquiring a fresh clone.

What's Included

The instructions cover all essential development workflows with imperative, actionable guidance:

Build & Test Commands

  • Complete build commands for debug/release APKs and App Bundles
  • Unit testing and instrumented testing workflows
  • Lint checks and code quality validation
  • All commands include explicit "NEVER CANCEL" warnings with 60+ minute timeout recommendations

Architecture & Navigation

  • MVP pattern implementation guidance using Dagger 2 dependency injection
  • Project structure overview with key file locations
  • HTML parsing workflows using the Fruit library
  • RxJava async operation patterns

Validation Scenarios

  • Manual testing workflows for core user scenarios (topic browsing, deep linking, theme switching)
  • Code quality validation steps required before committing
  • Performance testing for RecyclerViews and image loading

Development Guidelines

  • Technology stack overview (Java 8, Gradle 8.13, Android SDK 36)
  • Dependency injection patterns with Dagger 2
  • Network layer implementation with Retrofit + RxJava
  • UI component development in the widget package

Troubleshooting

  • Common build issues and network connectivity problems
  • Dagger compilation errors and RxJava threading issues
  • HTML parsing failures when V2EX changes structure
  • Performance considerations for large data sets

Key Features

  • Imperative tone: All instructions use direct commands ("Run this", "Never do that")
  • Timing expectations: Based on CI/CD analysis, includes realistic build/test times
  • Network limitations: Documents connectivity restrictions that may prevent builds in some environments
  • Security guidance: Proper keystore handling and signing configuration
  • CI/CD integration: Aligns with existing GitHub Actions workflows

The instructions follow the firm directive pattern, requiring agents to reference this documentation first before falling back to additional context gathering.

Fixes #124.

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • dl.google.com
    • Triggering command: /usr/lib/jvm/temurin-17-jdk-amd64/bin/java --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.lang.invoke=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.prefs/java.util.prefs=ALL-UNNAMED --add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED --add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.prefs/java.util.prefs=ALL-UNNAMED --add-opens=java.base/java.nio.charset=ALL-UNNAMED --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED --add-opens=java.xml/javax.xml.namespace=ALL-UNNAMED -XX:MaxMetaspaceSize=512m --add-exports=java.base/sun.nio.ch=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.lang.reflect=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-exports=jdk.unsupported/sun.misc=ALL-UNNAMED --add-exports=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED --add-exports=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED --add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED -Xmx2048m -Dfile.encoding=UTF-8 -Duser.country -Duser.language=en -Duser.variant -cp /home/REDACTED/.gradle/wrapper/dists/gradle-8.13-bin/5xuhj0ry160q40clulazy9h7d/gradle-8.13/lib/gradle-daemon-main-8.13.jar -javaagent:/home/REDACTED/.gradle/wrapper/dists/gradle-8.13-bin/5xuhj0ry160q40clulazy9h7d/gradle-8.13/lib/agents/gradle-instrumentation-agent-8.13.jar org.gradle.launcher.daemon.bootstrap.GradleDaemon 8.13 (dns block)
    • Triggering command: ping -c 3 dl.google.com (dns block)
  • google.com
    • Triggering command: ping -c 3 google.com (dns block)

If you need me to access, download, or install something from one of these locations, you can either:


💬 Share your feedback on Copilot coding agent for the chance to win a $200 gift card! Click here to start the survey.

Copilot AI changed the title [WIP] ✨ Set up Copilot instructions Add comprehensive GitHub Copilot instructions for V2er Android development Sep 20, 2025
Copilot AI requested a review from graycreate September 20, 2025 03:09
Copilot finished work on behalf of graycreate September 20, 2025 03:09
@graycreate graycreate marked this pull request as ready for review September 20, 2025 03:33
Copilot AI review requested due to automatic review settings September 20, 2025 03:33
@graycreate graycreate merged commit 247ef0d into main Sep 20, 2025
11 checks passed
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR adds comprehensive GitHub Copilot instructions to help AI agents work effectively with the V2er Android codebase. The instructions provide detailed guidance on build processes, testing workflows, architecture patterns, and troubleshooting for developers working with this V2EX client app.

Key changes:

  • Creates detailed build and test command documentation with timing expectations and "never cancel" warnings
  • Documents MVP architecture patterns, Dagger 2 dependency injection, and project structure
  • Provides comprehensive troubleshooting guidance for common development issues

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

@graycreate graycreate deleted the copilot/fix-124 branch September 20, 2025 03:33
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.

✨ Set up Copilot instructions

2 participants