Skip to content

likochenckpring/harness_coding_instructions

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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 gives you the router, workflow files, request templates, and the repo_info memory folder. In this source repo, repo_info contains generated memory for maintaining the pack itself; in a newly copied target repo, the initialize workflow creates or repairs the repo memory files that the other workflows keep referencing.

The initialize workflow must:

  • create / make sure key files exist, such as codebase_overview.md, scripts_overview.md, update_logs.md, known_issues.md, past_Q&A.md, and past_Correctness_Check.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
  • past_Correctness_Check.md

After initialize, those files become the shared memory for later code, debug, query, refactor, 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
  • philosophy/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
  • general/initialize_request_template.md
  • repo_info/: generated memory files; initialize creates or refreshes this folder in each 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

The router treats refactor as its own first class category and routes it to workflow/refactor.instructions.md.

then, when you have new requests, the copilot agent must 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.

The initialize request template is available at general/initialize_request_template.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
  • a target repo's repo_info folder is only reliable after initialize has run there
  • 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

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Shell 100.0%