New:Socket for Asana Is Now Available.Learn more
Get Started

@ekroon/opencode-copilot-instructions

Package Overview
Dependencies
Maintainers
1
Versions
14
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@ekroon/opencode-copilot-instructions

An OpenCode plugin that automatically loads GitHub Copilot custom instruction files and injects them into OpenCode's context.

latest
Source
npmnpm
Version
0.5.0
Version published
Weekly downloads
11
-54.17%
Maintainers
1
Weekly downloads
 
Created
Source

@ekroon/opencode-copilot-instructions

An OpenCode plugin that automatically loads GitHub Copilot custom instruction files and injects them into OpenCode's context.

Installation

Add the plugin to your opencode.json:

{
  "plugin": ["@ekroon/opencode-copilot-instructions"]
}

OpenCode will automatically install the package from npm on startup.

From local files

For development or customization, you can use the local plugin approach:

  • Create .opencode/plugin/ directory in your project
  • Bundle the plugin: bun build ./src/index.ts --outfile=.opencode/plugin/copilot.js --target=node --external:@opencode-ai/plugin
  • Create .opencode/package.json with dependencies:
{
  "dependencies": {
    "front-matter": "^4.0.2",
    "picomatch": "^4.0.0"
  }
}
  • Run bun install in the .opencode/ directory

Usage

This plugin supports two types of GitHub Copilot instruction files:

Repository-wide Instructions

Create .github/copilot-instructions.md in your repository root. These instructions apply to all files and are included in every session.

# Project Guidelines

- Use TypeScript strict mode
- Prefer functional programming patterns
- Write comprehensive tests for all new code

Path-specific Instructions

Create files matching .github/instructions/*.instructions.md. These instructions only apply when working with files that match the specified glob patterns.

Each file requires YAML frontmatter with an applyTo field:

---
applyTo: "**/*.ts,**/*.tsx"
---

When writing TypeScript code:

- Always use explicit return types
- Prefer interfaces over type aliases for object shapes
- Use branded types for IDs

The applyTo field accepts a comma-separated list of glob patterns.

How it Works

Loading

Instructions are loaded once when the plugin initializes (at OpenCode startup). To reload instructions after changes, restart OpenCode.

Injection

  • Repository-wide instructions: Injected via the experimental.session.compacting hook, ensuring they persist across session compaction.

  • Path-specific instructions: Injected via the tool.execute.before hook when file operations (read, edit, write) target files matching the applyTo patterns.

Supported Glob Patterns

The plugin uses picomatch for pattern matching. Supported patterns include:

PatternDescription
*All files in current directory
** or **/*All files in all directories
*.pyAll .py files in current directory
**/*.pyAll .py files recursively
src/**/*.pyAll .py files in src directory recursively
**/*.{ts,tsx}All .ts and .tsx files recursively

Multiple patterns can be combined with commas: **/*.ts,**/*.tsx,**/*.js

License

MIT

FAQs

Package last updated on 14 Jan 2026

Related posts