Skip to content

Conversation

Copy link
Contributor

Copilot AI commented Oct 21, 2025

Overview

Enhanced the .github/copilot-instructions.md file to provide comprehensive guidance for contributors and Copilot, addressing all requirements from issue #[issue_number].

Changes Made

Added SOLID Design Principles Section

Added a dedicated section explaining the five SOLID design principles that should be followed in this project:

  • Single Responsibility Principle: Each class/module should have one reason to change
  • Open/Closed Principle: Open for extension, closed for modification
  • Liskov Substitution Principle: Subtypes must be substitutable for their base types
  • Interface Segregation Principle: Don't force clients to depend on interfaces they don't use
  • Dependency Inversion Principle: Depend on abstractions, not concretions

Also included guidance on favoring composition over inheritance, keeping functions focused, and using dependency injection.

Clarified Test File Organization

Updated the File Organization and Testing sections to explicitly state that:

  • Test files should be placed in the __tests__/ folder
  • Tests should mirror the source structure
  • Both .test.ts and .spec.ts extensions are supported
  • Tests can also be placed alongside source files if preferred

Added Documentation Requirements

Enhanced the Documentation section to emphasize that when adding new features, developers must:

  • Create documentation in the docs/ folder
  • Follow existing patterns (e.g., csv-writer.md, json-writer.md)
  • Include usage examples and API reference
  • Update the README to link to new documentation

Emphasized CI Workflow

Restructured the "Before Committing" section to emphasize the proper workflow:

  1. Check linting and formatting first using pnpm run lint and pnpm run format:check
  2. Run all CI checks using pnpm run ci (recommended)
  3. All changes must pass before committing

Added clear explanation that pnpm run ci runs: typecheck → lint → format:check → build → test

Added Copilot Review Information

Added a new subsection to CI/CD explaining that:

  • Copilot code review automatically runs on all pull requests
  • Review feedback should be addressed before merging
  • Copilot may suggest improvements for code quality, security, and best practices

Updated Contributing Workflow

Enhanced the Contributing section with a complete step-by-step workflow that includes:

  1. Create a feature branch
  2. Write tests first (TDD) in the __tests__/ folder
  3. Implement the feature following SOLID principles
  4. Create documentation in the docs/ folder
  5. Ensure linting and formatting pass
  6. Ensure all CI checks pass locally (pnpm run ci)
  7. Create a pull request with clear description
  8. Address any Copilot review feedback

Impact

These updates provide clearer guidance for:

  • New contributors understanding project standards
  • GitHub Copilot generating code that follows project conventions
  • Code reviewers ensuring consistent quality
  • Maintaining design patterns and documentation practices across the codebase

The enhanced instructions help ensure all code contributions follow SOLID principles, include proper tests and documentation, and pass all quality checks before being merged.

Original prompt

This section details on the original issue you should resolve

<issue_title>Generate Copilot Instructions</issue_title>
<issue_description>Generate a copilot-instructions file in the .github folder. Look at the existing README in the root for guidance.

This should outline

  • how we build and code goes in src folder
  • how we test using vitest and tests go in tests folder
  • recommend we follow SOLID design patterns
  • anytime we make changes make sure pnpm ci runs successfully
  • always check linting and formatting before running ci
  • when adding new features put a doc in the docs folder
  • any other details we can gather about the project
  • copilot review will run on PRs
    </issue_description>

<agent_instructions>Create a useful copilot-instructions file starting with the details in the issue but then add in anything that is missing </agent_instructions>

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

Fixes #18


💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.

Co-authored-by: scottluskcis <2342987+scottluskcis@users.noreply.github.com>
Copilot AI changed the title [WIP] Add copilot instructions file to .github folder Update copilot-instructions.md with comprehensive project guidelines Oct 21, 2025
Copilot AI requested a review from scottluskcis October 21, 2025 01:27
Copilot finished work on behalf of scottluskcis October 21, 2025 01:27
@scottluskcis scottluskcis marked this pull request as ready for review October 21, 2025 02:28
Copilot AI review requested due to automatic review settings October 21, 2025 02:28
Copy link
Contributor

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 enhances the Copilot instructions file with comprehensive project guidelines covering design principles, testing practices, documentation requirements, and CI/CD workflows. The changes provide clearer guidance for contributors and help Copilot generate code that follows project conventions.

Key Changes:

  • Added SOLID design principles section with detailed explanations
  • Clarified test file organization to emphasize the __tests__/ folder structure
  • Added documentation requirements for new features in the docs/ folder
  • Restructured CI workflow to emphasize running checks before committing

scottluskcis and others added 2 commits October 20, 2025 22:29
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@scottluskcis scottluskcis merged commit 8888712 into main Oct 21, 2025
6 checks passed
@scottluskcis scottluskcis deleted the copilot/generate-copilot-instructions-file branch October 21, 2025 02:31
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.

Generate Copilot Instructions

2 participants