tech-hub-skills 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.
- package/LICENSE +21 -0
- package/README.md +250 -0
- package/bin/cli.js +241 -0
- package/bin/copilot.js +182 -0
- package/bin/postinstall.js +42 -0
- package/package.json +46 -0
- package/tech_hub_skills/roles/ai-engineer/skills/01-prompt-engineering/README.md +252 -0
- package/tech_hub_skills/roles/ai-engineer/skills/02-rag-pipeline/README.md +448 -0
- package/tech_hub_skills/roles/ai-engineer/skills/03-agent-orchestration/README.md +599 -0
- package/tech_hub_skills/roles/ai-engineer/skills/04-llm-guardrails/README.md +735 -0
- package/tech_hub_skills/roles/ai-engineer/skills/05-vector-embeddings/README.md +711 -0
- package/tech_hub_skills/roles/ai-engineer/skills/06-llm-evaluation/README.md +777 -0
- package/tech_hub_skills/roles/azure/skills/01-infrastructure-fundamentals/README.md +264 -0
- package/tech_hub_skills/roles/azure/skills/02-data-factory/README.md +264 -0
- package/tech_hub_skills/roles/azure/skills/03-synapse-analytics/README.md +264 -0
- package/tech_hub_skills/roles/azure/skills/04-databricks/README.md +264 -0
- package/tech_hub_skills/roles/azure/skills/05-functions/README.md +264 -0
- package/tech_hub_skills/roles/azure/skills/06-kubernetes-service/README.md +264 -0
- package/tech_hub_skills/roles/azure/skills/07-openai-service/README.md +264 -0
- package/tech_hub_skills/roles/azure/skills/08-machine-learning/README.md +264 -0
- package/tech_hub_skills/roles/azure/skills/09-storage-adls/README.md +264 -0
- package/tech_hub_skills/roles/azure/skills/10-networking/README.md +264 -0
- package/tech_hub_skills/roles/azure/skills/11-sql-cosmos/README.md +264 -0
- package/tech_hub_skills/roles/azure/skills/12-event-hubs/README.md +264 -0
- package/tech_hub_skills/roles/code-review/skills/01-automated-code-review/README.md +394 -0
- package/tech_hub_skills/roles/code-review/skills/02-pr-review-workflow/README.md +427 -0
- package/tech_hub_skills/roles/code-review/skills/03-code-quality-gates/README.md +518 -0
- package/tech_hub_skills/roles/code-review/skills/04-reviewer-assignment/README.md +504 -0
- package/tech_hub_skills/roles/code-review/skills/05-review-analytics/README.md +540 -0
- package/tech_hub_skills/roles/data-engineer/skills/01-lakehouse-architecture/README.md +550 -0
- package/tech_hub_skills/roles/data-engineer/skills/02-etl-pipeline/README.md +580 -0
- package/tech_hub_skills/roles/data-engineer/skills/03-data-quality/README.md +579 -0
- package/tech_hub_skills/roles/data-engineer/skills/04-streaming-pipelines/README.md +608 -0
- package/tech_hub_skills/roles/data-engineer/skills/05-performance-optimization/README.md +547 -0
- package/tech_hub_skills/roles/data-governance/skills/01-data-catalog/README.md +112 -0
- package/tech_hub_skills/roles/data-governance/skills/02-data-lineage/README.md +129 -0
- package/tech_hub_skills/roles/data-governance/skills/03-data-quality-framework/README.md +182 -0
- package/tech_hub_skills/roles/data-governance/skills/04-access-control/README.md +39 -0
- package/tech_hub_skills/roles/data-governance/skills/05-master-data-management/README.md +40 -0
- package/tech_hub_skills/roles/data-governance/skills/06-compliance-privacy/README.md +46 -0
- package/tech_hub_skills/roles/data-scientist/skills/01-eda-automation/README.md +230 -0
- package/tech_hub_skills/roles/data-scientist/skills/02-statistical-modeling/README.md +264 -0
- package/tech_hub_skills/roles/data-scientist/skills/03-feature-engineering/README.md +264 -0
- package/tech_hub_skills/roles/data-scientist/skills/04-predictive-modeling/README.md +264 -0
- package/tech_hub_skills/roles/data-scientist/skills/05-customer-analytics/README.md +264 -0
- package/tech_hub_skills/roles/data-scientist/skills/06-campaign-analysis/README.md +264 -0
- package/tech_hub_skills/roles/data-scientist/skills/07-experimentation/README.md +264 -0
- package/tech_hub_skills/roles/data-scientist/skills/08-data-visualization/README.md +264 -0
- package/tech_hub_skills/roles/devops/skills/01-cicd-pipeline/README.md +264 -0
- package/tech_hub_skills/roles/devops/skills/02-container-orchestration/README.md +264 -0
- package/tech_hub_skills/roles/devops/skills/03-infrastructure-as-code/README.md +264 -0
- package/tech_hub_skills/roles/devops/skills/04-gitops/README.md +264 -0
- package/tech_hub_skills/roles/devops/skills/05-environment-management/README.md +264 -0
- package/tech_hub_skills/roles/devops/skills/06-automated-testing/README.md +264 -0
- package/tech_hub_skills/roles/devops/skills/07-release-management/README.md +264 -0
- package/tech_hub_skills/roles/devops/skills/08-monitoring-alerting/README.md +264 -0
- package/tech_hub_skills/roles/devops/skills/09-devsecops/README.md +265 -0
- package/tech_hub_skills/roles/finops/skills/01-cost-visibility/README.md +264 -0
- package/tech_hub_skills/roles/finops/skills/02-resource-tagging/README.md +264 -0
- package/tech_hub_skills/roles/finops/skills/03-budget-management/README.md +264 -0
- package/tech_hub_skills/roles/finops/skills/04-reserved-instances/README.md +264 -0
- package/tech_hub_skills/roles/finops/skills/05-spot-optimization/README.md +264 -0
- package/tech_hub_skills/roles/finops/skills/06-storage-tiering/README.md +264 -0
- package/tech_hub_skills/roles/finops/skills/07-compute-rightsizing/README.md +264 -0
- package/tech_hub_skills/roles/finops/skills/08-chargeback/README.md +264 -0
- package/tech_hub_skills/roles/ml-engineer/skills/01-mlops-pipeline/README.md +566 -0
- package/tech_hub_skills/roles/ml-engineer/skills/02-feature-engineering/README.md +655 -0
- package/tech_hub_skills/roles/ml-engineer/skills/03-model-training/README.md +704 -0
- package/tech_hub_skills/roles/ml-engineer/skills/04-model-serving/README.md +845 -0
- package/tech_hub_skills/roles/ml-engineer/skills/05-model-monitoring/README.md +874 -0
- package/tech_hub_skills/roles/mlops/skills/01-ml-pipeline-orchestration/README.md +264 -0
- package/tech_hub_skills/roles/mlops/skills/02-experiment-tracking/README.md +264 -0
- package/tech_hub_skills/roles/mlops/skills/03-model-registry/README.md +264 -0
- package/tech_hub_skills/roles/mlops/skills/04-feature-store/README.md +264 -0
- package/tech_hub_skills/roles/mlops/skills/05-model-deployment/README.md +264 -0
- package/tech_hub_skills/roles/mlops/skills/06-model-observability/README.md +264 -0
- package/tech_hub_skills/roles/mlops/skills/07-data-versioning/README.md +264 -0
- package/tech_hub_skills/roles/mlops/skills/08-ab-testing/README.md +264 -0
- package/tech_hub_skills/roles/mlops/skills/09-automated-retraining/README.md +264 -0
- package/tech_hub_skills/roles/platform-engineer/skills/01-internal-developer-platform/README.md +153 -0
- package/tech_hub_skills/roles/platform-engineer/skills/02-self-service-infrastructure/README.md +57 -0
- package/tech_hub_skills/roles/platform-engineer/skills/03-slo-sli-management/README.md +59 -0
- package/tech_hub_skills/roles/platform-engineer/skills/04-developer-experience/README.md +57 -0
- package/tech_hub_skills/roles/platform-engineer/skills/05-incident-management/README.md +73 -0
- package/tech_hub_skills/roles/platform-engineer/skills/06-capacity-management/README.md +59 -0
- package/tech_hub_skills/roles/product-designer/skills/01-requirements-discovery/README.md +407 -0
- package/tech_hub_skills/roles/product-designer/skills/02-user-research/README.md +382 -0
- package/tech_hub_skills/roles/product-designer/skills/03-brainstorming-ideation/README.md +437 -0
- package/tech_hub_skills/roles/product-designer/skills/04-ux-design/README.md +496 -0
- package/tech_hub_skills/roles/product-designer/skills/05-product-market-fit/README.md +376 -0
- package/tech_hub_skills/roles/product-designer/skills/06-stakeholder-management/README.md +412 -0
- package/tech_hub_skills/roles/security-architect/skills/01-pii-detection/README.md +319 -0
- package/tech_hub_skills/roles/security-architect/skills/02-threat-modeling/README.md +264 -0
- package/tech_hub_skills/roles/security-architect/skills/03-infrastructure-security/README.md +264 -0
- package/tech_hub_skills/roles/security-architect/skills/04-iam/README.md +264 -0
- package/tech_hub_skills/roles/security-architect/skills/05-application-security/README.md +264 -0
- package/tech_hub_skills/roles/security-architect/skills/06-secrets-management/README.md +264 -0
- package/tech_hub_skills/roles/security-architect/skills/07-security-monitoring/README.md +264 -0
- package/tech_hub_skills/roles/system-design/skills/01-architecture-patterns/README.md +337 -0
- package/tech_hub_skills/roles/system-design/skills/02-requirements-engineering/README.md +264 -0
- package/tech_hub_skills/roles/system-design/skills/03-scalability/README.md +264 -0
- package/tech_hub_skills/roles/system-design/skills/04-high-availability/README.md +264 -0
- package/tech_hub_skills/roles/system-design/skills/05-cost-optimization-design/README.md +264 -0
- package/tech_hub_skills/roles/system-design/skills/06-api-design/README.md +264 -0
- package/tech_hub_skills/roles/system-design/skills/07-observability-architecture/README.md +264 -0
- package/tech_hub_skills/roles/system-design/skills/08-process-automation/PROCESS_TEMPLATE.md +336 -0
- package/tech_hub_skills/roles/system-design/skills/08-process-automation/README.md +521 -0
- package/tech_hub_skills/skills/README.md +336 -0
- package/tech_hub_skills/skills/ai-engineer.md +104 -0
- package/tech_hub_skills/skills/azure.md +149 -0
- package/tech_hub_skills/skills/code-review.md +399 -0
- package/tech_hub_skills/skills/compliance-automation.md +747 -0
- package/tech_hub_skills/skills/data-engineer.md +113 -0
- package/tech_hub_skills/skills/data-governance.md +102 -0
- package/tech_hub_skills/skills/data-scientist.md +123 -0
- package/tech_hub_skills/skills/devops.md +160 -0
- package/tech_hub_skills/skills/docker.md +160 -0
- package/tech_hub_skills/skills/enterprise-dashboard.md +613 -0
- package/tech_hub_skills/skills/finops.md +184 -0
- package/tech_hub_skills/skills/ml-engineer.md +115 -0
- package/tech_hub_skills/skills/mlops.md +187 -0
- package/tech_hub_skills/skills/optimization-advisor.md +329 -0
- package/tech_hub_skills/skills/orchestrator.md +497 -0
- package/tech_hub_skills/skills/platform-engineer.md +102 -0
- package/tech_hub_skills/skills/process-automation.md +226 -0
- package/tech_hub_skills/skills/process-changelog.md +184 -0
- package/tech_hub_skills/skills/process-documentation.md +484 -0
- package/tech_hub_skills/skills/process-kanban.md +324 -0
- package/tech_hub_skills/skills/process-versioning.md +214 -0
- package/tech_hub_skills/skills/product-designer.md +104 -0
- package/tech_hub_skills/skills/project-starter.md +443 -0
- package/tech_hub_skills/skills/security-architect.md +135 -0
- package/tech_hub_skills/skills/system-design.md +126 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 6ogo
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,250 @@
|
|
|
1
|
+
# Tech Hub Skills - Complete Role Documentation
|
|
2
|
+
|
|
3
|
+
This document provides detailed information about all available roles and their skills.
|
|
4
|
+
|
|
5
|
+
For installation instructions, see [../README.md](../README.md).
|
|
6
|
+
|
|
7
|
+
## Quick Reference
|
|
8
|
+
|
|
9
|
+
Use skills in Claude Code with `@` mentions:
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
# Start with the orchestrator (routes to all skills)
|
|
13
|
+
@orchestrator "Build a customer churn prediction model"
|
|
14
|
+
|
|
15
|
+
# Or invoke specific roles
|
|
16
|
+
@ai-engineer "Create a RAG pipeline"
|
|
17
|
+
@security-architect "Review this code for PII"
|
|
18
|
+
@data-engineer "Design a lakehouse architecture"
|
|
19
|
+
|
|
20
|
+
# Enterprise mode (mandatory security + governance)
|
|
21
|
+
@project-starter --enterprise "Build a customer data platform"
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
## Available Roles & Skills
|
|
25
|
+
|
|
26
|
+
### Core Engineering (34 skills)
|
|
27
|
+
| Role | Skills | Focus |
|
|
28
|
+
|------|--------|-------|
|
|
29
|
+
| **AI Engineer** | 8 | LLMs, RAG, Agents, Guardrails, Embeddings |
|
|
30
|
+
| **Data Engineer** | 9 | Lakehouse, ETL/ELT, Streaming, Quality |
|
|
31
|
+
| **ML Engineer** | 9 | MLOps, Training, Serving, Monitoring |
|
|
32
|
+
| **Data Scientist** | 8 | EDA, Modeling, Analytics, Experimentation |
|
|
33
|
+
|
|
34
|
+
### Architecture & Security Roles (15 skills)
|
|
35
|
+
| Role | Skills | Focus |
|
|
36
|
+
|------|--------|-------|
|
|
37
|
+
| **Security Architect** | 7 | PII, Threat Modeling, IAM, Secrets |
|
|
38
|
+
| **System Design** | 8 | Architecture, Scalability, HA/DR, APIs |
|
|
39
|
+
|
|
40
|
+
### Platform & Operations Roles (45 skills)
|
|
41
|
+
| Role | Skills | Focus |
|
|
42
|
+
|------|--------|-------|
|
|
43
|
+
| **Platform Engineer** | 6 | IDP, Self-Service, SLOs |
|
|
44
|
+
| **Data Governance** | 6 | Catalog, Lineage, Quality, Compliance |
|
|
45
|
+
| **DevOps** | 9 | CI/CD, Containers, IaC, GitOps |
|
|
46
|
+
| **MLOps** | 9 | Experiments, Registry, Deployment |
|
|
47
|
+
| **FinOps** | 8 | Cost Visibility, Optimization |
|
|
48
|
+
| **Docker** | 5 | Containers, Security, Optimization |
|
|
49
|
+
|
|
50
|
+
### Enterprise Governance Roles (10+ skills)
|
|
51
|
+
| Role | Skills | FocRoles us |
|
|
52
|
+
|------|--------|-------|
|
|
53
|
+
| **Code Review** | 5 | PR Automation, Quality Gates, Analytics |
|
|
54
|
+
| **Compliance** | Integrated | SOC 2, GDPR, HIPAA, Audit Trails |
|
|
55
|
+
| **Dashboard** | Integrated | Security, Compliance, DORA Metrics |
|
|
56
|
+
|
|
57
|
+
### Product & Design Roles (6 skills)
|
|
58
|
+
| Role | Skills | Focus |
|
|
59
|
+
|------|--------|-------|
|
|
60
|
+
| **Product Designer** | 6 | Requirements, Research, UX, Brainstorming |
|
|
61
|
+
|
|
62
|
+
### Cloud Platform Roles (12 skills)
|
|
63
|
+
| Role | Skills | Focus |
|
|
64
|
+
|------|--------|-------|
|
|
65
|
+
| **Azure** | 12 | All Azure services |
|
|
66
|
+
|
|
67
|
+
## Directory Structure
|
|
68
|
+
|
|
69
|
+
```
|
|
70
|
+
.claude/
|
|
71
|
+
├── skills/ # Role skill files (invoke with @role-name)
|
|
72
|
+
│ ├── orchestrator.md # Main orchestrator - routes to all skills
|
|
73
|
+
│ ├── ai-engineer.md
|
|
74
|
+
│ ├── data-engineer.md
|
|
75
|
+
│ ├── security-architect.md
|
|
76
|
+
│ ├── code-review.md
|
|
77
|
+
│ ├── compliance-automation.md
|
|
78
|
+
│ └── ...
|
|
79
|
+
├── roles/ # Detailed skill implementations
|
|
80
|
+
│ ├── ai-engineer/
|
|
81
|
+
│ │ └── skills/
|
|
82
|
+
│ │ ├── 01-prompt-engineering/README.md
|
|
83
|
+
│ │ ├── 02-rag-pipeline/README.md
|
|
84
|
+
│ │ └── ...
|
|
85
|
+
│ ├── security-architect/
|
|
86
|
+
│ │ └── skills/
|
|
87
|
+
│ │ ├── 01-pii-detection/README.md
|
|
88
|
+
│ │ ├── 02-threat-modeling/README.md
|
|
89
|
+
│ │ └── ...
|
|
90
|
+
│ └── ...
|
|
91
|
+
└── README.md # This file
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
## Skill ID Reference
|
|
95
|
+
|
|
96
|
+
| Role | Prefix | Skills |
|
|
97
|
+
|------|--------|--------|
|
|
98
|
+
| AI Engineer | `ai-` | ai-01 to ai-08 |
|
|
99
|
+
| Data Engineer | `de-` | de-01 to de-09 |
|
|
100
|
+
| ML Engineer | `ml-` | ml-01 to ml-09 |
|
|
101
|
+
| Data Scientist | `ds-` | ds-01 to ds-08 |
|
|
102
|
+
| Security Architect | `sa-` | sa-01 to sa-07 |
|
|
103
|
+
| System Design | `sd-` | sd-01 to sd-08 |
|
|
104
|
+
| Platform Engineer | `pe-` | pe-01 to pe-06 |
|
|
105
|
+
| Data Governance | `dg-` | dg-01 to dg-06 |
|
|
106
|
+
| DevOps | `do-` | do-01 to do-09 |
|
|
107
|
+
| MLOps | `mo-` | mo-01 to mo-09 |
|
|
108
|
+
| FinOps | `fo-` | fo-01 to fo-08 |
|
|
109
|
+
| Azure | `az-` | az-01 to az-12 |
|
|
110
|
+
| Code Review | `cr-` | cr-01 to cr-05 |
|
|
111
|
+
| Product Designer | `pd-` | pd-01 to pd-06 |
|
|
112
|
+
|
|
113
|
+
## Enterprise Mode
|
|
114
|
+
|
|
115
|
+
For production applications, use Enterprise Mode to ensure security and governance:
|
|
116
|
+
|
|
117
|
+
```bash
|
|
118
|
+
@project-starter --enterprise "Build a production API"
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
Enterprise Mode **automatically includes**:
|
|
122
|
+
- Security Architect (sa-01 to sa-07)
|
|
123
|
+
- Data Governance (dg-01 to dg-06)
|
|
124
|
+
- Code Review (cr-01 to cr-05)
|
|
125
|
+
- Compliance Automation
|
|
126
|
+
|
|
127
|
+
### Enterprise Workflow
|
|
128
|
+
```
|
|
129
|
+
Requirements → Security Assessment → Data Classification
|
|
130
|
+
↓
|
|
131
|
+
Architecture → Security Review → Governance Review
|
|
132
|
+
↓
|
|
133
|
+
Development → Code Review → Compliance Check
|
|
134
|
+
↓
|
|
135
|
+
Deployment → Security Scan → Production Approval
|
|
136
|
+
↓
|
|
137
|
+
Monitoring → Continuous Compliance
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
### Enterprise Quality Gates
|
|
141
|
+
- No critical/high vulnerabilities
|
|
142
|
+
- 80%+ code coverage
|
|
143
|
+
- All compliance controls passing
|
|
144
|
+
- Security architect sign-off
|
|
145
|
+
- Data governance sign-off
|
|
146
|
+
|
|
147
|
+
## Examples
|
|
148
|
+
|
|
149
|
+
### AI/ML Project
|
|
150
|
+
```bash
|
|
151
|
+
@orchestrator "Build a customer churn prediction model with GDPR compliance"
|
|
152
|
+
```
|
|
153
|
+
Auto-includes: sa-01 (PII), dg-01 (catalog), ml-01-05, mo-01-06
|
|
154
|
+
|
|
155
|
+
### RAG Application
|
|
156
|
+
```bash
|
|
157
|
+
@ai-engineer ai-02 "Create a RAG pipeline for internal docs"
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
### Security Review
|
|
161
|
+
```bash
|
|
162
|
+
@security-architect "Audit this codebase for security vulnerabilities"
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
### Enterprise Platform
|
|
166
|
+
```bash
|
|
167
|
+
@project-starter --enterprise "Build a customer data platform"
|
|
168
|
+
```
|
|
169
|
+
Auto-includes: ALL security + governance + compliance skills
|
|
170
|
+
|
|
171
|
+
## Integration Options
|
|
172
|
+
|
|
173
|
+
### Claude Code (Primary)
|
|
174
|
+
Skills are designed for Claude Code's `@` mention system.
|
|
175
|
+
|
|
176
|
+
### CrewAI
|
|
177
|
+
```python
|
|
178
|
+
from crewai import Agent, Task, Crew
|
|
179
|
+
|
|
180
|
+
orchestrator = Agent(
|
|
181
|
+
role="Tech Hub Orchestrator",
|
|
182
|
+
goal="Coordinate skills for optimal project execution",
|
|
183
|
+
backstory=open(".claude/skills/orchestrator.md").read()
|
|
184
|
+
)
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
### LangGraph
|
|
188
|
+
```python
|
|
189
|
+
from langgraph.graph import StateGraph
|
|
190
|
+
|
|
191
|
+
# Load skills as node definitions
|
|
192
|
+
skills = load_skills(".claude/skills/")
|
|
193
|
+
```
|
|
194
|
+
|
|
195
|
+
## Integration Options
|
|
196
|
+
|
|
197
|
+
### Claude Code (Primary)
|
|
198
|
+
Skills are designed for Claude Code's `@` mention system.
|
|
199
|
+
|
|
200
|
+
### CrewAI
|
|
201
|
+
```python
|
|
202
|
+
from crewai import Agent, Task, Crew
|
|
203
|
+
|
|
204
|
+
orchestrator = Agent(
|
|
205
|
+
role="Tech Hub Orchestrator",
|
|
206
|
+
goal="Coordinate skills for optimal project execution",
|
|
207
|
+
backstory=open(".claude/skills/orchestrator.md").read()
|
|
208
|
+
)
|
|
209
|
+
```
|
|
210
|
+
|
|
211
|
+
### LangGraph
|
|
212
|
+
```python
|
|
213
|
+
from langgraph.graph import StateGraph
|
|
214
|
+
|
|
215
|
+
# Load skills as node definitions
|
|
216
|
+
skills = load_skills(".claude/skills/")
|
|
217
|
+
```
|
|
218
|
+
|
|
219
|
+
## Repository Structure
|
|
220
|
+
|
|
221
|
+
```
|
|
222
|
+
.claude/
|
|
223
|
+
├── skills/ # Role skill files (invoke with @role-name)
|
|
224
|
+
│ ├── orchestrator.md # Main orchestrator - routes to all skills
|
|
225
|
+
│ ├── ai-engineer.md
|
|
226
|
+
│ ├── data-engineer.md
|
|
227
|
+
│ ├── security-architect.md
|
|
228
|
+
│ └── ...
|
|
229
|
+
├── roles/ # Detailed skill implementations
|
|
230
|
+
│ ├── ai-engineer/
|
|
231
|
+
│ │ └── skills/
|
|
232
|
+
│ │ ├── 01-prompt-engineering/README.md
|
|
233
|
+
│ │ ├── 02-rag-pipeline/README.md
|
|
234
|
+
│ │ └── ...
|
|
235
|
+
│ └── ...
|
|
236
|
+
└── README.md # This file
|
|
237
|
+
```
|
|
238
|
+
|
|
239
|
+
## Contributing
|
|
240
|
+
|
|
241
|
+
1. Fork the repository
|
|
242
|
+
2. Add skills to `roles/{role}/skills/{skill-id}/`
|
|
243
|
+
3. Update `skills/{role}.md`
|
|
244
|
+
4. Submit PR
|
|
245
|
+
|
|
246
|
+
For publishing instructions (maintainers only), see [../PUBLISHING.md](../PUBLISHING.md).
|
|
247
|
+
|
|
248
|
+
## License
|
|
249
|
+
|
|
250
|
+
MIT
|
package/bin/cli.js
ADDED
|
@@ -0,0 +1,241 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
const fs = require('fs');
|
|
4
|
+
const path = require('path');
|
|
5
|
+
const { execSync } = require('child_process');
|
|
6
|
+
const { installCopilotInstructions } = require('./copilot');
|
|
7
|
+
|
|
8
|
+
const SKILLS_DIR = path.join(__dirname, '..');
|
|
9
|
+
const VERSION = require('../package.json').version;
|
|
10
|
+
|
|
11
|
+
const colors = {
|
|
12
|
+
reset: '\x1b[0m',
|
|
13
|
+
bright: '\x1b[1m',
|
|
14
|
+
cyan: '\x1b[36m',
|
|
15
|
+
green: '\x1b[32m',
|
|
16
|
+
yellow: '\x1b[33m',
|
|
17
|
+
red: '\x1b[31m',
|
|
18
|
+
magenta: '\x1b[35m'
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
function print(msg, color = 'reset') {
|
|
22
|
+
console.log(`${colors[color]}${msg}${colors.reset}`);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
function printBanner() {
|
|
26
|
+
console.log(`
|
|
27
|
+
${colors.cyan}╔═══════════════════════════════════════════════════════════╗
|
|
28
|
+
║ TECH HUB SKILLS - AI Agent Skills for Claude ║
|
|
29
|
+
║ 110+ Production-Ready Skills ║
|
|
30
|
+
╚═══════════════════════════════════════════════════════════╝${colors.reset}
|
|
31
|
+
`);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
function copyDir(src, dest) {
|
|
35
|
+
if (!fs.existsSync(dest)) {
|
|
36
|
+
fs.mkdirSync(dest, { recursive: true });
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
const entries = fs.readdirSync(src, { withFileTypes: true });
|
|
40
|
+
|
|
41
|
+
for (const entry of entries) {
|
|
42
|
+
const srcPath = path.join(src, entry.name);
|
|
43
|
+
const destPath = path.join(dest, entry.name);
|
|
44
|
+
|
|
45
|
+
// Skip bin, node_modules, package.json
|
|
46
|
+
if (['bin', 'node_modules', 'package.json', 'package-lock.json'].includes(entry.name)) {
|
|
47
|
+
continue;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
if (entry.isDirectory()) {
|
|
51
|
+
copyDir(srcPath, destPath);
|
|
52
|
+
} else {
|
|
53
|
+
fs.copyFileSync(srcPath, destPath);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
function install(options = {}) {
|
|
59
|
+
const isGlobal = options.global;
|
|
60
|
+
const targetDir = isGlobal
|
|
61
|
+
? path.join(require('os').homedir(), '.claude')
|
|
62
|
+
: path.join(process.cwd(), '.claude');
|
|
63
|
+
|
|
64
|
+
print(`\n📦 Installing Tech Hub Skills to: ${targetDir}`, 'cyan');
|
|
65
|
+
|
|
66
|
+
// Copy skills and roles
|
|
67
|
+
const skillsSrc = path.join(SKILLS_DIR, 'tech_hub_skills', 'skills');
|
|
68
|
+
const rolesSrc = path.join(SKILLS_DIR, 'tech_hub_skills', 'roles');
|
|
69
|
+
const skillsDest = path.join(targetDir, 'skills');
|
|
70
|
+
const rolesDest = path.join(targetDir, 'roles');
|
|
71
|
+
|
|
72
|
+
if (fs.existsSync(skillsSrc)) {
|
|
73
|
+
print(' Copying skills...', 'yellow');
|
|
74
|
+
copyDir(skillsSrc, skillsDest);
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
if (fs.existsSync(rolesSrc)) {
|
|
78
|
+
print(' Copying roles...', 'yellow');
|
|
79
|
+
copyDir(rolesSrc, rolesDest);
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
// Install GitHub Copilot instructions if requested (project-level only)
|
|
83
|
+
if (options.copilot && !isGlobal) {
|
|
84
|
+
print('\n🤖 Installing GitHub Copilot integration...', 'cyan');
|
|
85
|
+
installCopilotInstructions({ force: options.force });
|
|
86
|
+
} else if (options.copilot && isGlobal) {
|
|
87
|
+
print('\n⚠️ Copilot integration is only available for project-level installs', 'yellow');
|
|
88
|
+
print(' (Copilot instructions must be in project .github/ directory)', 'yellow');
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
// Count installed files
|
|
92
|
+
const skillCount = fs.existsSync(skillsDest)
|
|
93
|
+
? fs.readdirSync(skillsDest).filter(f => f.endsWith('.md')).length
|
|
94
|
+
: 0;
|
|
95
|
+
|
|
96
|
+
print(`\n✓ Installation complete!`, 'green');
|
|
97
|
+
print(` Location: ${targetDir}`, 'cyan');
|
|
98
|
+
print(` Skills: ${skillCount} role files installed`, 'cyan');
|
|
99
|
+
print(` Roles: 16+ specialized agents`, 'cyan');
|
|
100
|
+
if (options.copilot && !isGlobal) {
|
|
101
|
+
print(` Copilot: .github/copilot-instructions.md`, 'cyan');
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
print(`\n${colors.bright}Next Steps:${colors.reset}`);
|
|
105
|
+
if (options.copilot && !isGlobal) {
|
|
106
|
+
print(' GitHub Copilot:');
|
|
107
|
+
print(' 1. Open VSCode with GitHub Copilot enabled');
|
|
108
|
+
print(' 2. Copilot will automatically use the instructions');
|
|
109
|
+
print(' 3. Try: // Using AI Engineer approach for RAG pipeline');
|
|
110
|
+
print('');
|
|
111
|
+
}
|
|
112
|
+
print(' Claude Code:');
|
|
113
|
+
print(' 1. Open Claude Code in your project');
|
|
114
|
+
print(' 2. Use @orchestrator to start');
|
|
115
|
+
print(' 3. Or invoke specific roles: @ai-engineer, @security-architect, etc.');
|
|
116
|
+
|
|
117
|
+
print(`\n${colors.bright}Example:${colors.reset}`);
|
|
118
|
+
if (options.copilot && !isGlobal) {
|
|
119
|
+
print(' Copilot: // Apply Security Architect best practices');
|
|
120
|
+
}
|
|
121
|
+
print(' Claude: @orchestrator "Build a customer churn prediction model"');
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
function init(options = {}) {
|
|
125
|
+
printBanner();
|
|
126
|
+
|
|
127
|
+
if (options.enterprise) {
|
|
128
|
+
print('\n🏢 ENTERPRISE MODE', 'magenta');
|
|
129
|
+
print(' Mandatory: Security Architect + Data Governance', 'yellow');
|
|
130
|
+
print('\n Use in Claude Code:', 'cyan');
|
|
131
|
+
print(' @project-starter --enterprise "Your project description"');
|
|
132
|
+
} else {
|
|
133
|
+
print('\n📦 Standard Mode', 'cyan');
|
|
134
|
+
print('\n Use in Claude Code:', 'cyan');
|
|
135
|
+
print(' @project-starter "Your project description"');
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
function list() {
|
|
140
|
+
printBanner();
|
|
141
|
+
|
|
142
|
+
const roles = [
|
|
143
|
+
{ name: 'Orchestrator', skills: 'Routes all', focus: 'Project coordination' },
|
|
144
|
+
{ name: 'AI Engineer', skills: '8', focus: 'LLMs, RAG, Agents' },
|
|
145
|
+
{ name: 'Data Engineer', skills: '9', focus: 'Pipelines, Lakehouse' },
|
|
146
|
+
{ name: 'ML Engineer', skills: '9', focus: 'Training, Serving, MLOps' },
|
|
147
|
+
{ name: 'Data Scientist', skills: '8', focus: 'Analytics, Modeling' },
|
|
148
|
+
{ name: 'Security Architect', skills: '7', focus: 'PII, IAM, Compliance' },
|
|
149
|
+
{ name: 'System Design', skills: '8', focus: 'Architecture, Scalability' },
|
|
150
|
+
{ name: 'Platform Engineer', skills: '6', focus: 'IDP, SLOs' },
|
|
151
|
+
{ name: 'Data Governance', skills: '6', focus: 'Catalog, Lineage, Quality' },
|
|
152
|
+
{ name: 'DevOps', skills: '9', focus: 'CI/CD, Containers, IaC' },
|
|
153
|
+
{ name: 'MLOps', skills: '9', focus: 'Experiments, Registry' },
|
|
154
|
+
{ name: 'FinOps', skills: '8', focus: 'Cost Optimization' },
|
|
155
|
+
{ name: 'Azure', skills: '12', focus: 'Azure Services' },
|
|
156
|
+
{ name: 'Code Review', skills: '5', focus: 'PR Automation, Quality Gates' },
|
|
157
|
+
{ name: 'Product Designer', skills: '6', focus: 'Requirements, UX' },
|
|
158
|
+
];
|
|
159
|
+
|
|
160
|
+
print('\nAvailable Roles:\n', 'bright');
|
|
161
|
+
console.log(' Role Skills Focus');
|
|
162
|
+
console.log(' ────────────────────────────────────────────────');
|
|
163
|
+
|
|
164
|
+
for (const role of roles) {
|
|
165
|
+
const name = role.name.padEnd(20);
|
|
166
|
+
const skills = role.skills.toString().padEnd(8);
|
|
167
|
+
console.log(` ${name} ${skills} ${role.focus}`);
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
print('\n Total: 110+ skills across 16+ roles', 'cyan');
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
function showHelp() {
|
|
174
|
+
printBanner();
|
|
175
|
+
console.log(`
|
|
176
|
+
${colors.bright}Usage:${colors.reset}
|
|
177
|
+
npx tech-hub-skills <command> [options]
|
|
178
|
+
|
|
179
|
+
${colors.bright}Commands:${colors.reset}
|
|
180
|
+
install Install skills to current project (Claude Code)
|
|
181
|
+
install --copilot Install with GitHub Copilot integration
|
|
182
|
+
install --global Install skills globally (~/.claude)
|
|
183
|
+
install --force Force overwrite existing installation
|
|
184
|
+
init Initialize project with guided setup
|
|
185
|
+
init --enterprise Enterprise mode with security + governance
|
|
186
|
+
list List all available roles and skills
|
|
187
|
+
help Show this help message
|
|
188
|
+
|
|
189
|
+
${colors.bright}Options:${colors.reset}
|
|
190
|
+
--copilot, -c Add GitHub Copilot instructions (.github/copilot-instructions.md)
|
|
191
|
+
--global, -g Install globally to ~/.claude (not available with --copilot)
|
|
192
|
+
--force, -f Overwrite existing files
|
|
193
|
+
--enterprise, -E Enterprise mode (for init command)
|
|
194
|
+
|
|
195
|
+
${colors.bright}Examples:${colors.reset}
|
|
196
|
+
npx tech-hub-skills install
|
|
197
|
+
npx tech-hub-skills install --copilot
|
|
198
|
+
npx tech-hub-skills install --global
|
|
199
|
+
npx tech-hub-skills init --enterprise
|
|
200
|
+
npx tech-hub-skills list
|
|
201
|
+
|
|
202
|
+
${colors.bright}After Installation:${colors.reset}
|
|
203
|
+
Claude Code: @orchestrator "Your project description"
|
|
204
|
+
GitHub Copilot: // Using AI Engineer approach for RAG pipeline
|
|
205
|
+
`);
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
// Parse arguments
|
|
209
|
+
const args = process.argv.slice(2);
|
|
210
|
+
const command = args[0];
|
|
211
|
+
const options = {
|
|
212
|
+
global: args.includes('--global') || args.includes('-g'),
|
|
213
|
+
enterprise: args.includes('--enterprise') || args.includes('-E'),
|
|
214
|
+
copilot: args.includes('--copilot') || args.includes('-c'),
|
|
215
|
+
force: args.includes('--force') || args.includes('-f')
|
|
216
|
+
};
|
|
217
|
+
|
|
218
|
+
switch (command) {
|
|
219
|
+
case 'install':
|
|
220
|
+
printBanner();
|
|
221
|
+
install(options);
|
|
222
|
+
break;
|
|
223
|
+
case 'init':
|
|
224
|
+
init(options);
|
|
225
|
+
break;
|
|
226
|
+
case 'list':
|
|
227
|
+
list();
|
|
228
|
+
break;
|
|
229
|
+
case 'help':
|
|
230
|
+
case '--help':
|
|
231
|
+
case '-h':
|
|
232
|
+
showHelp();
|
|
233
|
+
break;
|
|
234
|
+
case 'version':
|
|
235
|
+
case '--version':
|
|
236
|
+
case '-v':
|
|
237
|
+
console.log(`tech-hub-skills v${VERSION}`);
|
|
238
|
+
break;
|
|
239
|
+
default:
|
|
240
|
+
showHelp();
|
|
241
|
+
}
|
package/bin/copilot.js
ADDED
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* GitHub Copilot integration utilities
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
const fs = require('fs');
|
|
6
|
+
const path = require('path');
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Generate GitHub Copilot instructions content
|
|
10
|
+
*/
|
|
11
|
+
function generateCopilotInstructions() {
|
|
12
|
+
return `# GitHub Copilot Instructions - Tech Hub Skills
|
|
13
|
+
|
|
14
|
+
## Overview
|
|
15
|
+
This workspace uses Tech Hub Skills - 110+ production-ready AI agent skills for software engineering.
|
|
16
|
+
|
|
17
|
+
## Available Expert Roles
|
|
18
|
+
|
|
19
|
+
### Orchestrator
|
|
20
|
+
- **Focus**: Project coordination
|
|
21
|
+
- **Skills**: Routes all
|
|
22
|
+
|
|
23
|
+
### AI Engineer
|
|
24
|
+
- **Focus**: LLMs, RAG, Agents
|
|
25
|
+
- **Skills**: 8 specialized capabilities
|
|
26
|
+
|
|
27
|
+
### Data Engineer
|
|
28
|
+
- **Focus**: Pipelines, Lakehouse
|
|
29
|
+
- **Skills**: 9 specialized capabilities
|
|
30
|
+
|
|
31
|
+
### ML Engineer
|
|
32
|
+
- **Focus**: Training, Serving, MLOps
|
|
33
|
+
- **Skills**: 9 specialized capabilities
|
|
34
|
+
|
|
35
|
+
### Data Scientist
|
|
36
|
+
- **Focus**: Analytics, Modeling
|
|
37
|
+
- **Skills**: 8 specialized capabilities
|
|
38
|
+
|
|
39
|
+
### Security Architect
|
|
40
|
+
- **Focus**: PII, IAM, Compliance
|
|
41
|
+
- **Skills**: 7 specialized capabilities
|
|
42
|
+
|
|
43
|
+
### System Design
|
|
44
|
+
- **Focus**: Architecture, Scalability
|
|
45
|
+
- **Skills**: 8 specialized capabilities
|
|
46
|
+
|
|
47
|
+
### Platform Engineer
|
|
48
|
+
- **Focus**: IDP, SLOs
|
|
49
|
+
- **Skills**: 6 specialized capabilities
|
|
50
|
+
|
|
51
|
+
### Data Governance
|
|
52
|
+
- **Focus**: Catalog, Lineage, Quality
|
|
53
|
+
- **Skills**: 6 specialized capabilities
|
|
54
|
+
|
|
55
|
+
### DevOps
|
|
56
|
+
- **Focus**: CI/CD, Containers, IaC
|
|
57
|
+
- **Skills**: 9 specialized capabilities
|
|
58
|
+
|
|
59
|
+
### MLOps
|
|
60
|
+
- **Focus**: Experiments, Registry
|
|
61
|
+
- **Skills**: 9 specialized capabilities
|
|
62
|
+
|
|
63
|
+
### FinOps
|
|
64
|
+
- **Focus**: Cost Optimization
|
|
65
|
+
- **Skills**: 8 specialized capabilities
|
|
66
|
+
|
|
67
|
+
### Azure
|
|
68
|
+
- **Focus**: Azure Services
|
|
69
|
+
- **Skills**: 12 specialized capabilities
|
|
70
|
+
|
|
71
|
+
### Code Review
|
|
72
|
+
- **Focus**: PR Automation, Quality Gates
|
|
73
|
+
- **Skills**: 5 specialized capabilities
|
|
74
|
+
|
|
75
|
+
### Product Designer
|
|
76
|
+
- **Focus**: Requirements, UX
|
|
77
|
+
- **Skills**: 6 specialized capabilities
|
|
78
|
+
|
|
79
|
+
## How to Use These Skills
|
|
80
|
+
|
|
81
|
+
When working on tasks, Copilot will reference these expert roles automatically. You can also:
|
|
82
|
+
|
|
83
|
+
1. **Mention roles in comments**: \`// Using AI Engineer approach for RAG pipeline\`
|
|
84
|
+
2. **Request specific expertise**: \`# Apply Security Architect best practices\`
|
|
85
|
+
3. **Combine roles**: \`/* DevOps + FinOps: optimize CI/CD costs */\`
|
|
86
|
+
|
|
87
|
+
## Coding Standards
|
|
88
|
+
|
|
89
|
+
### Security (Security Architect)
|
|
90
|
+
- Always validate and sanitize user inputs
|
|
91
|
+
- Implement proper authentication and authorization
|
|
92
|
+
- Never hardcode secrets or credentials
|
|
93
|
+
- Use parameterized queries to prevent SQL injection
|
|
94
|
+
- Apply principle of least privilege
|
|
95
|
+
- Scan for PII before logging
|
|
96
|
+
|
|
97
|
+
### AI/ML Development (AI Engineer)
|
|
98
|
+
- Implement guardrails for LLM outputs
|
|
99
|
+
- Use prompt templates for consistency
|
|
100
|
+
- Monitor token usage and costs
|
|
101
|
+
- Implement proper error handling for API calls
|
|
102
|
+
- Cache embeddings when possible
|
|
103
|
+
- Version control prompts and models
|
|
104
|
+
|
|
105
|
+
### Data Engineering (Data Engineer)
|
|
106
|
+
- Follow medallion architecture (bronze/silver/gold)
|
|
107
|
+
- Implement idempotent pipelines
|
|
108
|
+
- Add data quality checks at each stage
|
|
109
|
+
- Use partitioning for large datasets
|
|
110
|
+
- Implement proper error handling and retries
|
|
111
|
+
- Document data lineage
|
|
112
|
+
|
|
113
|
+
### DevOps Practices
|
|
114
|
+
- Write infrastructure as code (IaC)
|
|
115
|
+
- Implement CI/CD pipelines
|
|
116
|
+
- Use containerization (Docker)
|
|
117
|
+
- Apply GitOps principles
|
|
118
|
+
- Implement monitoring and alerting
|
|
119
|
+
- Automate testing at all levels
|
|
120
|
+
|
|
121
|
+
## Project Structure
|
|
122
|
+
|
|
123
|
+
Follow these conventions:
|
|
124
|
+
- \`/src\` - Source code
|
|
125
|
+
- \`/tests\` - Test files
|
|
126
|
+
- \`/docs\` - Documentation
|
|
127
|
+
- \`/infrastructure\` - IaC templates
|
|
128
|
+
- \`/pipelines\` - CI/CD configurations
|
|
129
|
+
- \`/.github\` - GitHub workflows and configurations
|
|
130
|
+
|
|
131
|
+
## Quality Gates
|
|
132
|
+
|
|
133
|
+
All code should:
|
|
134
|
+
- ✓ Pass unit tests (>80% coverage)
|
|
135
|
+
- ✓ Pass linting and formatting
|
|
136
|
+
- ✓ Include error handling
|
|
137
|
+
- ✓ Have inline documentation
|
|
138
|
+
- ✓ Follow security best practices
|
|
139
|
+
- ✓ Be optimized for performance
|
|
140
|
+
|
|
141
|
+
## Tech Hub Skills Integration
|
|
142
|
+
|
|
143
|
+
These instructions are generated from Tech Hub Skills package.
|
|
144
|
+
To update: \`npx tech-hub-skills install --copilot\`
|
|
145
|
+
|
|
146
|
+
---
|
|
147
|
+
*Generated by Tech Hub Skills v1.0.0*
|
|
148
|
+
`;
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
/**
|
|
152
|
+
* Install GitHub Copilot instructions to project
|
|
153
|
+
*/
|
|
154
|
+
function installCopilotInstructions(options = {}) {
|
|
155
|
+
const projectDir = process.cwd();
|
|
156
|
+
const githubDir = path.join(projectDir, '.github');
|
|
157
|
+
const copilotFile = path.join(githubDir, 'copilot-instructions.md');
|
|
158
|
+
|
|
159
|
+
// Check if file exists
|
|
160
|
+
if (fs.existsSync(copilotFile) && !options.force) {
|
|
161
|
+
console.log(` ⚠️ Copilot instructions already exist at: ${copilotFile}`);
|
|
162
|
+
console.log(` Use --force to overwrite`);
|
|
163
|
+
return false;
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
// Create .github directory if needed
|
|
167
|
+
if (!fs.existsSync(githubDir)) {
|
|
168
|
+
fs.mkdirSync(githubDir, { recursive: true });
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
// Write instructions
|
|
172
|
+
const content = generateCopilotInstructions();
|
|
173
|
+
fs.writeFileSync(copilotFile, content, 'utf8');
|
|
174
|
+
|
|
175
|
+
console.log(` ✓ GitHub Copilot instructions created: ${copilotFile}`);
|
|
176
|
+
return true;
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
module.exports = {
|
|
180
|
+
generateCopilotInstructions,
|
|
181
|
+
installCopilotInstructions
|
|
182
|
+
};
|