@fyow/copilot-everything 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. package/.github/agents/architect.agent.md +102 -0
  2. package/.github/agents/build-error-resolver.agent.md +119 -0
  3. package/.github/agents/code-reviewer.agent.md +92 -0
  4. package/.github/agents/doc-updater.agent.md +121 -0
  5. package/.github/agents/e2e-runner.agent.md +150 -0
  6. package/.github/agents/planner.agent.md +95 -0
  7. package/.github/agents/refactor-cleaner.agent.md +122 -0
  8. package/.github/agents/security-reviewer.agent.md +129 -0
  9. package/.github/agents/tdd-guide.agent.md +127 -0
  10. package/.github/copilot-instructions.md +68 -0
  11. package/.github/hooks/project-hooks.json +48 -0
  12. package/.github/instructions/coding-style.instructions.md +67 -0
  13. package/.github/instructions/git-workflow.instructions.md +60 -0
  14. package/.github/instructions/performance.instructions.md +52 -0
  15. package/.github/instructions/security.instructions.md +63 -0
  16. package/.github/instructions/testing.instructions.md +55 -0
  17. package/.github/skills/backend-patterns/SKILL.md +582 -0
  18. package/.github/skills/clickhouse-io/SKILL.md +429 -0
  19. package/.github/skills/coding-standards/SKILL.md +520 -0
  20. package/.github/skills/frontend-patterns/SKILL.md +631 -0
  21. package/.github/skills/project-guidelines-example/SKILL.md +350 -0
  22. package/.github/skills/security-review/SKILL.md +494 -0
  23. package/.github/skills/tdd-workflow/SKILL.md +409 -0
  24. package/.github/skills/verification-loop/SKILL.md +125 -0
  25. package/AGENTS.md +81 -0
  26. package/LICENSE +21 -0
  27. package/README.md +185 -0
  28. package/copilot/config.json +5 -0
  29. package/copilot/mcp-config.json +42 -0
  30. package/package.json +47 -0
  31. package/src/cli.js +79 -0
  32. package/src/commands/init.js +212 -0
  33. package/src/index.js +9 -0
package/README.md ADDED
@@ -0,0 +1,185 @@
1
+ # copilot-everything
2
+
3
+ [![npm version](https://img.shields.io/npm/v/copilot-everything.svg)](https://www.npmjs.com/package/copilot-everything)
4
+ [![License](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)
5
+ ![Node.js](https://img.shields.io/badge/-Node.js-339933?logo=node.js&logoColor=white)
6
+ ![TypeScript](https://img.shields.io/badge/-TypeScript-3178C6?logo=typescript&logoColor=white)
7
+
8
+ **Everything you need for GitHub Copilot CLI** - agents, skills, instructions, and hooks configurations.
9
+
10
+ Production-ready configurations evolved from 10+ months of intensive daily use building real products.
11
+
12
+ ---
13
+
14
+ ## Quick Start
15
+
16
+ ```bash
17
+ # Install globally
18
+ npm install -g copilot-everything
19
+
20
+ # Initialize in your project
21
+ cd your-project
22
+ copilot-everything init --ai copilot
23
+
24
+ # Start using with Copilot CLI
25
+ copilot
26
+ /agent planner
27
+ ```
28
+
29
+ ---
30
+
31
+ ## What's Included
32
+
33
+ ### 🤖 Custom Agents (9)
34
+
35
+ | Agent | Purpose | Invoke |
36
+ |-------|---------|--------|
37
+ | planner | Implementation planning | /agent planner |
38
+ | architect | System design decisions | /agent architect |
39
+ | tdd-guide | Test-driven development | /agent tdd-guide |
40
+ | code-reviewer | Code quality review | /agent code-reviewer |
41
+ | security-reviewer | Security analysis | /agent security-reviewer |
42
+ | build-error-resolver | Fix build/type errors | /agent build-error-resolver |
43
+ | e2e-runner | Playwright E2E testing | /agent e2e-runner |
44
+ | refactor-cleaner | Dead code cleanup | /agent refactor-cleaner |
45
+ | doc-updater | Documentation sync | /agent doc-updater |
46
+
47
+ ### 📚 Skills (8)
48
+
49
+ | Skill | Description |
50
+ |-------|-------------|
51
+ | backend-patterns | Backend architecture, API design, database patterns |
52
+ | clickhouse-io | ClickHouse analytics patterns and optimization |
53
+ | coding-standards | Universal coding standards and best practices |
54
+ | frontend-patterns | React, Next.js, state management patterns |
55
+ | project-guidelines-example | Example project-specific skill template |
56
+ | security-review | Security checklist and vulnerability patterns |
57
+ | tdd-workflow | Test-driven development workflow |
58
+ | verification-loop | Code verification and quality gates |
59
+
60
+ ### 📝 Instructions (5)
61
+
62
+ Path-specific coding guidelines automatically applied:
63
+
64
+ - coding-style.instructions.md - For **/*.ts,**/*.tsx,**/*.js,**/*.jsx
65
+ - security.instructions.md - For code files
66
+ - testing.instructions.md - For test files
67
+ - git-workflow.instructions.md - For all files
68
+ - performance.instructions.md - For all files
69
+
70
+ ### 🪝 Hooks
71
+
72
+ Pre-configured hooks for sessionStart, sessionEnd, preToolUse, postToolUse.
73
+
74
+ ---
75
+
76
+ ## CLI Usage
77
+
78
+ ```bash
79
+ copilot-everything <command> [options]
80
+ ```
81
+
82
+ ### Commands
83
+
84
+ | Command | Description |
85
+ |---------|-------------|
86
+ | init | Initialize Copilot configurations in current directory |
87
+
88
+ ### Options
89
+
90
+ | Option | Description |
91
+ |--------|-------------|
92
+ | --ai type | Target AI platform: copilot (default), claude, or all |
93
+ | --force | Overwrite existing files |
94
+ | --skip-agents | Skip agent installation |
95
+ | --skip-skills | Skip skills installation |
96
+ | --skip-hooks | Skip hooks installation |
97
+ | -h, --help | Show help message |
98
+ | -v, --version | Show version number |
99
+
100
+ ### Examples
101
+
102
+ ```bash
103
+ # Initialize with Copilot CLI configs
104
+ copilot-everything init
105
+
106
+ # Initialize with force overwrite
107
+ copilot-everything init --force
108
+
109
+ # Skip certain components
110
+ copilot-everything init --skip-hooks --skip-skills
111
+
112
+ # Initialize for both Copilot and Claude
113
+ copilot-everything init --ai all
114
+ ```
115
+
116
+ ---
117
+
118
+ ## Installed Structure
119
+
120
+ After running copilot-everything init, your project will have:
121
+
122
+ ```
123
+ your-project/
124
+ ├── AGENTS.md # Top-level agent instructions
125
+ └── .github/
126
+ ├── copilot-instructions.md # Repository-wide instructions
127
+ ├── agents/
128
+ │ ├── planner.agent.md
129
+ │ ├── architect.agent.md
130
+ │ └── ... (9 agents)
131
+ ├── instructions/
132
+ │ ├── coding-style.instructions.md
133
+ │ ├── security.instructions.md
134
+ │ └── ... (5 instructions)
135
+ ├── skills/
136
+ │ ├── backend-patterns/SKILL.md
137
+ │ ├── coding-standards/SKILL.md
138
+ │ └── ... (8 skills)
139
+ └── hooks/
140
+ └── project-hooks.json
141
+ ```
142
+
143
+ ---
144
+
145
+ ## Compatibility
146
+
147
+ - **GitHub Copilot CLI** ✅
148
+ - **Claude Code** ✅ (uses same .github/ structure)
149
+ - **VS Code Copilot** ✅
150
+ - **Node.js** >= 18.0.0
151
+
152
+ ---
153
+
154
+ ## Customization
155
+
156
+ After installation, customize the configs for your project:
157
+
158
+ 1. **Edit copilot-instructions.md** - Add project-specific context
159
+ 2. **Modify agents** - Adjust agent prompts for your workflow
160
+ 3. **Add skills** - Create new skills in .github/skills/your-skill/SKILL.md
161
+ 4. **Update instructions** - Add path-specific rules in .github/instructions/
162
+
163
+ ---
164
+
165
+ ## Migration from Claude Code
166
+
167
+ See [MIGRATION-GUIDE.md](docs/MIGRATION-GUIDE.md) for detailed migration instructions.
168
+
169
+ ---
170
+
171
+ ## Contributing
172
+
173
+ Contributions welcome! Please read [CONTRIBUTING.md](CONTRIBUTING.md) first.
174
+
175
+ ---
176
+
177
+ ## License
178
+
179
+ MIT
180
+
181
+ ---
182
+
183
+ ## Credits
184
+
185
+ Based on the "Everything Claude Code" configurations by [@affaanmustafa](https://github.com/affaan-m).
@@ -0,0 +1,5 @@
1
+ {
2
+ "trusted_folders": [],
3
+ "model": "claude-sonnet-4-5",
4
+ "theme": "dark"
5
+ }
@@ -0,0 +1,42 @@
1
+ {
2
+ "servers": {
3
+ "github": {
4
+ "command": "npx",
5
+ "args": ["-y", "@modelcontextprotocol/server-github"],
6
+ "env": {
7
+ "GITHUB_PERSONAL_ACCESS_TOKEN": "${GITHUB_TOKEN}"
8
+ }
9
+ },
10
+ "memory": {
11
+ "command": "npx",
12
+ "args": ["-y", "@modelcontextprotocol/server-memory"]
13
+ },
14
+ "sequential-thinking": {
15
+ "command": "npx",
16
+ "args": ["-y", "@modelcontextprotocol/server-sequential-thinking"]
17
+ },
18
+ "firecrawl": {
19
+ "command": "npx",
20
+ "args": ["-y", "firecrawl-mcp"],
21
+ "env": {
22
+ "FIRECRAWL_API_KEY": "${FIRECRAWL_API_KEY}"
23
+ }
24
+ },
25
+ "supabase": {
26
+ "command": "npx",
27
+ "args": ["-y", "@supabase/mcp-server-supabase@latest", "--project-ref=${SUPABASE_PROJECT_REF}"]
28
+ },
29
+ "vercel": {
30
+ "type": "http",
31
+ "url": "https://mcp.vercel.com"
32
+ },
33
+ "railway": {
34
+ "command": "npx",
35
+ "args": ["-y", "@railway/mcp-server"]
36
+ },
37
+ "cloudflare-docs": {
38
+ "type": "http",
39
+ "url": "https://docs.mcp.cloudflare.com/mcp"
40
+ }
41
+ }
42
+ }
package/package.json ADDED
@@ -0,0 +1,47 @@
1
+ {
2
+ "name": "@fyow/copilot-everything",
3
+ "version": "1.0.0",
4
+ "description": "Everything you need for GitHub Copilot CLI - agents, skills, instructions, and hooks configurations",
5
+ "main": "src/index.js",
6
+ "bin": {
7
+ "copilot-everything": "src/cli.js"
8
+ },
9
+ "publishConfig": {
10
+ "access": "public"
11
+ },
12
+ "files": [
13
+ "src/",
14
+ ".github/",
15
+ "AGENTS.md",
16
+ "copilot/"
17
+ ],
18
+ "scripts": {
19
+ "test": "node tests/run-all.js",
20
+ "lint": "echo 'No linter configured'"
21
+ },
22
+ "keywords": [
23
+ "copilot",
24
+ "github-copilot",
25
+ "copilot-cli",
26
+ "ai",
27
+ "coding-agent",
28
+ "agents",
29
+ "skills",
30
+ "instructions",
31
+ "mcp",
32
+ "hooks"
33
+ ],
34
+ "author": "fyow",
35
+ "license": "MIT",
36
+ "repository": {
37
+ "type": "git",
38
+ "url": "git+https://github.com/fyow/copilot-everything.git"
39
+ },
40
+ "bugs": {
41
+ "url": "https://github.com/fyow/copilot-everything/issues"
42
+ },
43
+ "homepage": "https://github.com/fyow/copilot-everything#readme",
44
+ "engines": {
45
+ "node": ">=18.0.0"
46
+ }
47
+ }
package/src/cli.js ADDED
@@ -0,0 +1,79 @@
1
+ #!/usr/bin/env node
2
+
3
+ /**
4
+ * copilot-everything CLI
5
+ * Install GitHub Copilot CLI configurations (agents, skills, instructions, hooks)
6
+ */
7
+
8
+ const { init } = require('./commands/init');
9
+ const { version } = require('../package.json');
10
+
11
+ const args = process.argv.slice(2);
12
+ const command = args[0];
13
+
14
+ // Parse flags
15
+ const flags = {};
16
+ args.forEach((arg, index) => {
17
+ if (arg.startsWith('--')) {
18
+ const key = arg.slice(2);
19
+ const value = args[index + 1] && !args[index + 1].startsWith('-') ? args[index + 1] : true;
20
+ flags[key] = value;
21
+ } else if (arg.startsWith('-') && arg.length === 2) {
22
+ const key = arg.slice(1);
23
+ const value = args[index + 1] && !args[index + 1].startsWith('-') ? args[index + 1] : true;
24
+ flags[key] = value;
25
+ }
26
+ });
27
+
28
+ // Help text
29
+ const helpText = `
30
+ copilot-everything v${version}
31
+
32
+ Everything you need for GitHub Copilot CLI - agents, skills, instructions, and hooks.
33
+
34
+ Usage:
35
+ copilot-everything <command> [options]
36
+
37
+ Commands:
38
+ init Initialize Copilot configurations in current directory
39
+
40
+ Options:
41
+ --ai <type> Target AI platform: copilot (default), claude, or all
42
+ --force Overwrite existing files
43
+ --skip-agents Skip agent installation
44
+ --skip-skills Skip skills installation
45
+ --skip-hooks Skip hooks installation
46
+ -h, --help Show this help message
47
+ -v, --version Show version number
48
+
49
+ Examples:
50
+ copilot-everything init
51
+ copilot-everything init --ai copilot
52
+ copilot-everything init --ai claude
53
+ copilot-everything init --ai all --force
54
+
55
+ Learn more: https://github.com/fyow/copilot-everything
56
+ `;
57
+
58
+ // Version
59
+ if (flags.v || flags.version) {
60
+ console.log(version);
61
+ process.exit(0);
62
+ }
63
+
64
+ // Help
65
+ if (flags.h || flags.help || !command) {
66
+ console.log(helpText);
67
+ process.exit(0);
68
+ }
69
+
70
+ // Execute command
71
+ switch (command) {
72
+ case 'init':
73
+ init(flags);
74
+ break;
75
+ default:
76
+ console.error(`Unknown command: ${command}`);
77
+ console.log(helpText);
78
+ process.exit(1);
79
+ }
@@ -0,0 +1,212 @@
1
+ /**
2
+ * init command - Install Copilot configurations to current directory
3
+ */
4
+
5
+ const fs = require('fs');
6
+ const path = require('path');
7
+
8
+ // Get package root directory (where .github folder lives)
9
+ const PACKAGE_ROOT = path.resolve(__dirname, '..', '..');
10
+
11
+ /**
12
+ * Recursively copy directory
13
+ */
14
+ function copyDir(src, dest, options = {}) {
15
+ const { force = false, dryRun = false } = options;
16
+
17
+ if (!fs.existsSync(src)) {
18
+ return { copied: 0, skipped: 0, errors: [] };
19
+ }
20
+
21
+ let result = { copied: 0, skipped: 0, errors: [] };
22
+
23
+ if (!dryRun && !fs.existsSync(dest)) {
24
+ fs.mkdirSync(dest, { recursive: true });
25
+ }
26
+
27
+ const entries = fs.readdirSync(src, { withFileTypes: true });
28
+
29
+ for (const entry of entries) {
30
+ const srcPath = path.join(src, entry.name);
31
+ const destPath = path.join(dest, entry.name);
32
+
33
+ if (entry.isDirectory()) {
34
+ const subResult = copyDir(srcPath, destPath, options);
35
+ result.copied += subResult.copied;
36
+ result.skipped += subResult.skipped;
37
+ result.errors.push(...subResult.errors);
38
+ } else {
39
+ try {
40
+ if (fs.existsSync(destPath) && !force) {
41
+ result.skipped++;
42
+ } else {
43
+ if (!dryRun) {
44
+ fs.copyFileSync(srcPath, destPath);
45
+ }
46
+ result.copied++;
47
+ }
48
+ } catch (error) {
49
+ result.errors.push({ path: destPath, error: error.message });
50
+ }
51
+ }
52
+ }
53
+
54
+ return result;
55
+ }
56
+
57
+ /**
58
+ * Copy single file
59
+ */
60
+ function copyFile(src, dest, options = {}) {
61
+ const { force = false, dryRun = false } = options;
62
+
63
+ if (!fs.existsSync(src)) {
64
+ return { copied: 0, skipped: 0, errors: [{ path: dest, error: 'Source not found' }] };
65
+ }
66
+
67
+ if (fs.existsSync(dest) && !force) {
68
+ return { copied: 0, skipped: 1, errors: [] };
69
+ }
70
+
71
+ try {
72
+ if (!dryRun) {
73
+ const destDir = path.dirname(dest);
74
+ if (!fs.existsSync(destDir)) {
75
+ fs.mkdirSync(destDir, { recursive: true });
76
+ }
77
+ fs.copyFileSync(src, dest);
78
+ }
79
+ return { copied: 1, skipped: 0, errors: [] };
80
+ } catch (error) {
81
+ return { copied: 0, skipped: 0, errors: [{ path: dest, error: error.message }] };
82
+ }
83
+ }
84
+
85
+ /**
86
+ * Main init function
87
+ */
88
+ function init(flags = {}) {
89
+ const targetDir = process.cwd();
90
+ const aiType = flags.ai || 'copilot';
91
+ const force = flags.force || false;
92
+ const skipAgents = flags['skip-agents'] || false;
93
+ const skipSkills = flags['skip-skills'] || false;
94
+ const skipHooks = flags['skip-hooks'] || false;
95
+
96
+ console.log('');
97
+ console.log('🚀 copilot-everything init');
98
+ console.log('');
99
+ console.log(`📁 Target directory: ${targetDir}`);
100
+ console.log(`🤖 AI platform: ${aiType}`);
101
+ console.log(`⚡ Force overwrite: ${force ? 'yes' : 'no'}`);
102
+ console.log('');
103
+
104
+ const options = { force };
105
+ let totalCopied = 0;
106
+ let totalSkipped = 0;
107
+ let totalErrors = [];
108
+
109
+ // Determine what to install based on AI type
110
+ const installGithub = aiType === 'copilot' || aiType === 'all';
111
+ const installClaude = aiType === 'claude' || aiType === 'all';
112
+
113
+ // Install .github directory (for Copilot CLI)
114
+ if (installGithub) {
115
+ console.log('📦 Installing Copilot CLI configurations...');
116
+
117
+ // Copy .github directory structure
118
+ const githubSrc = path.join(PACKAGE_ROOT, '.github');
119
+ const githubDest = path.join(targetDir, '.github');
120
+
121
+ // Agents
122
+ if (!skipAgents) {
123
+ const agentsSrc = path.join(githubSrc, 'agents');
124
+ const agentsDest = path.join(githubDest, 'agents');
125
+ const result = copyDir(agentsSrc, agentsDest, options);
126
+ console.log(` ✅ Agents: ${result.copied} copied, ${result.skipped} skipped`);
127
+ totalCopied += result.copied;
128
+ totalSkipped += result.skipped;
129
+ totalErrors.push(...result.errors);
130
+ }
131
+
132
+ // Skills
133
+ if (!skipSkills) {
134
+ const skillsSrc = path.join(githubSrc, 'skills');
135
+ const skillsDest = path.join(githubDest, 'skills');
136
+ const result = copyDir(skillsSrc, skillsDest, options);
137
+ console.log(` ✅ Skills: ${result.copied} copied, ${result.skipped} skipped`);
138
+ totalCopied += result.copied;
139
+ totalSkipped += result.skipped;
140
+ totalErrors.push(...result.errors);
141
+ }
142
+
143
+ // Instructions
144
+ const instructionsSrc = path.join(githubSrc, 'instructions');
145
+ const instructionsDest = path.join(githubDest, 'instructions');
146
+ const instructionsResult = copyDir(instructionsSrc, instructionsDest, options);
147
+ console.log(` ✅ Instructions: ${instructionsResult.copied} copied, ${instructionsResult.skipped} skipped`);
148
+ totalCopied += instructionsResult.copied;
149
+ totalSkipped += instructionsResult.skipped;
150
+ totalErrors.push(...instructionsResult.errors);
151
+
152
+ // Hooks
153
+ if (!skipHooks) {
154
+ const hooksSrc = path.join(githubSrc, 'hooks');
155
+ const hooksDest = path.join(githubDest, 'hooks');
156
+ const result = copyDir(hooksSrc, hooksDest, options);
157
+ console.log(` ✅ Hooks: ${result.copied} copied, ${result.skipped} skipped`);
158
+ totalCopied += result.copied;
159
+ totalSkipped += result.skipped;
160
+ totalErrors.push(...result.errors);
161
+ }
162
+
163
+ // copilot-instructions.md
164
+ const copilotInstructionsSrc = path.join(githubSrc, 'copilot-instructions.md');
165
+ const copilotInstructionsDest = path.join(githubDest, 'copilot-instructions.md');
166
+ const copilotResult = copyFile(copilotInstructionsSrc, copilotInstructionsDest, options);
167
+ console.log(` ✅ copilot-instructions.md: ${copilotResult.copied} copied, ${copilotResult.skipped} skipped`);
168
+ totalCopied += copilotResult.copied;
169
+ totalSkipped += copilotResult.skipped;
170
+ totalErrors.push(...copilotResult.errors);
171
+
172
+ // AGENTS.md at root
173
+ const agentsMdSrc = path.join(PACKAGE_ROOT, 'AGENTS.md');
174
+ const agentsMdDest = path.join(targetDir, 'AGENTS.md');
175
+ const agentsMdResult = copyFile(agentsMdSrc, agentsMdDest, options);
176
+ console.log(` ✅ AGENTS.md: ${agentsMdResult.copied} copied, ${agentsMdResult.skipped} skipped`);
177
+ totalCopied += agentsMdResult.copied;
178
+ totalSkipped += agentsMdResult.skipped;
179
+ totalErrors.push(...agentsMdResult.errors);
180
+ }
181
+
182
+ // Install Claude Code configurations (for backwards compatibility)
183
+ if (installClaude) {
184
+ console.log('📦 Installing Claude Code configurations...');
185
+ console.log(' ⚠️ Claude Code support uses the same .github structure');
186
+ console.log(' ⚠️ Claude Code also reads from .github/skills/ and .github/agents/');
187
+ }
188
+
189
+ // Summary
190
+ console.log('');
191
+ console.log('━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━');
192
+ console.log(`✨ Installation complete!`);
193
+ console.log(` 📁 Files copied: ${totalCopied}`);
194
+ console.log(` ⏭️ Files skipped: ${totalSkipped}`);
195
+
196
+ if (totalErrors.length > 0) {
197
+ console.log(` ❌ Errors: ${totalErrors.length}`);
198
+ totalErrors.forEach(e => console.log(` - ${e.path}: ${e.error}`));
199
+ }
200
+
201
+ console.log('');
202
+ console.log('📖 Next steps:');
203
+ console.log(' 1. Review and customize .github/copilot-instructions.md');
204
+ console.log(' 2. Start Copilot CLI: copilot');
205
+ console.log(' 3. Use custom agents: /agent planner');
206
+ console.log(' 4. View all agents: /agent');
207
+ console.log('');
208
+ console.log('📚 Documentation: https://github.com/fyow/copilot-everything');
209
+ console.log('');
210
+ }
211
+
212
+ module.exports = { init };
package/src/index.js ADDED
@@ -0,0 +1,9 @@
1
+ /**
2
+ * copilot-everything main module
3
+ */
4
+
5
+ const { init } = require('./commands/init');
6
+
7
+ module.exports = {
8
+ init
9
+ };