Skip to content

Latest commit

 

History

38 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

This is a collection of MD files that enhance coding agents and build workflow for them.

This pack is mainly for VS Code + Copilot style usage right now. The idea is to copy it into a target repo under .github/harness_coding_instructions so the agent can route requests to the right workflow file, follow a more consistent process, and keep repo level context in one place once the repo has been initialized.

To get the best experience, enable auto approve (** KEEP ANY CMDS THAT CAN DELETE YOUR FILES DISABLED ** )

How to use

1. Create a .github folder under your repo if you dont have one

2. Copy this pack into .github/harness_coding_instructions

The intended final layout is:

  • .github/harness_coding_instructions/copilot-instructions.md
  • .github/harness_coding_instructions/workflow/...
  • .github/harness_coding_instructions/general/...
  • .github/harness_coding_instructions/repo_info/...

So do not end up with .github/harness_coding_instructions/harness_coding_instructions unless you actually want that extra nesting and plan to change all paths.

3. Add this to your VS Code settings.json to ensure the folders are scanned

Use valid JSON like this:

{
  "chat.instructionsFilesLocations": {
    ".github/harness_coding_instructions": true,
    ".claude/rules": true
  }
}

If you have multi-repos in one workspace, adjust .github/harness_coding_instructions to the correct relative path for that repo.

4. Initialize the target repo first

If the target repo has not been initialized yet, start with the initialize workflow first using a prompt like:

following the instructions in @/.github/harness_coding_instructions/workflow/initialize.instructions.md to initialize the repo [repo name]

5. Why initialize first

Most of the workflow files expect repo context files under .github/harness_coding_instructions/repo_info before they do anything else.

This pack already gives you the router, the workflow files, the request templates, and an empty repo_info folder. In the current state of this repo, repo_info is still empty. The initialize workflow is meant to set up the repo memory files that the other workflows keep referencing.

The initialize spec is still a bit rough right now, but the idea is roughly:

  • create / make sure key files exist, such as codebase_overview.md, scripts_overview.md, update_logs.md, known_issues.md, and past_Q&A.md
  • generate / populate files such as update_logs_auto_generated.md and known_issues_auto_generated.md

So the files it works with include:

  • codebase_overview.md
  • scripts_overview.md
  • update_logs.md
  • known_issues.md
  • update_logs_auto_generated.md
  • known_issues_auto_generated.md
  • past_Q&A.md

After initialize, those files become the shared memory for later code, debug, query, and correctness check requests.

What this pack is for and what I have right now

This pack is for making the agent more consistent when you want it to initialize a repo, implement or update functionality, debug bugs, answer questions about the repo, run correctness checks, or refactor existing code / repo structure.

Right now I have:

  • copilot-instructions.md: the main router for request classification and workflow selection
  • workflow/code.instructions.md
  • workflow/debug.instructions.md
  • workflow/query.instructions.md
  • workflow/correctness_check.instructions.md
  • workflow/initialize.instructions.md
  • workflow/refactor.instructions.md
  • general/philosophy.instructions.md
  • general/code_request_template.md
  • general/debug_request_template.md
  • general/query_request_template.md
  • general/correctness_check_request_template.md
  • general/refactor_request_template.md
  • repo_info/: included, but still empty in this repo until initialize is run on the target repo

The top level router is copilot-instructions.md. It classifies the request, reads the matching workflow file, and also points the agent to philosophy.instructions.md for general behavior.

If you are deciding which workflow to use:

  • initialize a repo -> workflow/initialize.instructions.md
  • add / build / modify functionality -> workflow/code.instructions.md
  • debug / fix a bug -> workflow/debug.instructions.md
  • ask repo questions -> workflow/query.instructions.md
  • validate / check correctness -> workflow/correctness_check.instructions.md
  • refactor -> workflow/refactor.instructions.md

Right now the router clearly routes initialize, code implementation, debug, query, and correctness check. The refactor workflow and refactor request template already exist, but refactor is currently folded into the code implementation route instead of being exposed as its own first class router category, so if you want that flow it is safer to invoke the refactor workflow/template directly.

then, when you have new requests, the copilot agent should follow the corresponding instructions

For normal use, just ask naturally and let the router pick the workflow.

If you want to be more strict, drag the exact workflow file into the chat window.

If you want to be 100% sure that copilot follows the prompt shape more closely, use the request templates in the general folder.

There is currently no initialize request template, so initialize still needs to be prompted directly with initialize.instructions.md.

Ongoing:

  • copilot-instructions.md is not working perfectly yet
  • sometimes it would not use the instruction files if the user does not use the request template
  • repo_info stays empty until initialize is run on the target repo
  • the initialize spec still has some rough edges and naming inconsistencies, so treat the generated repo_info files as the source of truth after initialization
  • create prompts for generating a .claude.md that logs all mistakes that claude has made to prevent future errors in general

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages