Skip to content

Commit 6fb5fd5

Browse files
feat: Create IntelliTect Plugins v1 with github pages
0 parents  commit 6fb5fd5

41 files changed

Lines changed: 15474 additions & 0 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

‎.github/plugin/marketplace.json‎

Lines changed: 102 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,102 @@
1+
{
2+
"name": "IntelliPlugins",
3+
"owner": {
4+
"name": "IntelliTect-dev",
5+
"email": "dan.olvera@intellitect.com"
6+
},
7+
"metadata": {
8+
"description": "Curated Copilot plugins for enterprise C# development, Coalesce framework, and Vue 3 with Vuetify. Designed to support SOLID principles, best practices, and architectural excellence.",
9+
"version": "1.0.0",
10+
"homepage": "https://intelliplugins.github.io",
11+
"repository": "https://github.com/IntelliTect-dev/IntelliPlugins",
12+
"license": "MIT"
13+
},
14+
"plugins": [
15+
{
16+
"name": "solid-principles",
17+
"displayName": "SOLID Principles & Architecture",
18+
"description": "Enterprise-grade guidance on SOLID principles, architecture patterns, and code quality for maintainable C# projects.",
19+
"version": "1.0.0",
20+
"category": "Enterprise",
21+
"source": "./plugins/solid-principles",
22+
"keywords": [
23+
"SOLID",
24+
"architecture",
25+
"enterprise",
26+
"design-patterns",
27+
"best-practices"
28+
]
29+
},
30+
{
31+
"name": "testing-essentials",
32+
"displayName": "Testing Essentials",
33+
"description": "Comprehensive testing best practices including unit testing strategies, test naming conventions, and mock frameworks.",
34+
"version": "1.0.0",
35+
"category": "Enterprise",
36+
"source": "./plugins/testing-essentials",
37+
"keywords": ["testing", "unit-tests", "TDD", "best-practices", "xUnit"]
38+
},
39+
{
40+
"name": "csharp-best-practices",
41+
"displayName": "C# Best Practices",
42+
"description": "C#-specific language patterns, naming conventions, error handling, dependency injection, and async best practices.",
43+
"version": "1.0.0",
44+
"category": "Language",
45+
"source": "./plugins/csharp-best-practices",
46+
"keywords": [
47+
"csharp",
48+
"C#",
49+
"patterns",
50+
"best-practices",
51+
".NET",
52+
"async"
53+
]
54+
},
55+
{
56+
"name": "coalesce-accelerator",
57+
"displayName": "Coalesce Accelerator",
58+
"description": "Streamline full-stack Coalesce framework development with code generation, data binding, and EF Core migration workflows.",
59+
"version": "1.0.0",
60+
"category": "Framework",
61+
"source": "./plugins/coalesce-accelerator",
62+
"keywords": [
63+
"Coalesce",
64+
"code-generation",
65+
"EF-Core",
66+
"data-binding",
67+
"full-stack"
68+
]
69+
},
70+
{
71+
"name": "vuetify-components",
72+
"displayName": "Vuetify Components & Patterns",
73+
"description": "Vue 3 and Vuetify best practices for building professional UI components with accessibility and UX consistency.",
74+
"version": "1.0.0",
75+
"category": "Framework",
76+
"source": "./plugins/vuetify-components",
77+
"keywords": [
78+
"Vuetify",
79+
"Vue3",
80+
"components",
81+
"UX",
82+
"accessibility",
83+
"CSS"
84+
]
85+
},
86+
{
87+
"name": "enterprise-bug-fixing",
88+
"displayName": "Enterprise Bug Fixing Workflow",
89+
"description": "Structured bug resolution workflow with test-first approach, Azure DevOps integration, and comprehensive validation.",
90+
"version": "1.0.0",
91+
"category": "Specialized",
92+
"source": "./plugins/enterprise-bug-fixing",
93+
"keywords": [
94+
"bug-fixing",
95+
"testing",
96+
"Azure-DevOps",
97+
"workflow",
98+
"quality-assurance"
99+
]
100+
}
101+
]
102+
}

‎.github/workflows/build-docs.yml‎

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
name: Build and Deploy Documentation
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
paths:
8+
- 'docs/**'
9+
- 'plugins/**'
10+
- 'scripts/**'
11+
- '.github/workflows/build-docs.yml'
12+
13+
permissions:
14+
actions: read
15+
pages: write
16+
id-token: write
17+
18+
concurrency:
19+
group: "pages"
20+
cancel-in-progress: false
21+
22+
jobs:
23+
build-and-deploy:
24+
environment:
25+
name: github-pages
26+
url: ${{ steps.deployment.outputs.page_url }}
27+
runs-on: ubuntu-latest
28+
steps:
29+
- name: Checkout
30+
uses: actions/checkout@v4
31+
32+
- name: Setup .NET
33+
uses: actions/setup-dotnet@v4
34+
with:
35+
dotnet-version: '8.x'
36+
37+
- name: Install DocFX
38+
run: dotnet tool install -g docfx
39+
40+
- name: Generate Plugin Documentation
41+
run: pwsh scripts/generate-plugin-docs.ps1
42+
43+
- name: Build Documentation
44+
working-directory: ./docs
45+
run: docfx docfx.json
46+
47+
- name: Upload artifact
48+
uses: actions/upload-pages-artifact@v2
49+
with:
50+
path: './docs/_site'
51+
52+
- name: Deploy to GitHub Pages
53+
id: deployment
54+
uses: actions/deploy-pages@v2
Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
name: Validate Plugins
2+
3+
on:
4+
pull_request:
5+
paths:
6+
- 'plugins/**'
7+
- '.github/plugin/marketplace.json'
8+
- '.github/workflows/validate-plugins.yml'
9+
push:
10+
branches:
11+
- main
12+
paths:
13+
- 'plugins/**'
14+
- '.github/plugin/marketplace.json'
15+
16+
jobs:
17+
validate-json:
18+
runs-on: ubuntu-latest
19+
steps:
20+
- name: Checkout
21+
uses: actions/checkout@v4
22+
23+
- name: Validate .github/plugin/marketplace.json
24+
run: |
25+
python -m json.tool .github/plugin/marketplace.json > /dev/null
26+
echo "✓ .github/plugin/marketplace.json is valid JSON"
27+
28+
- name: Validate all plugin.json files
29+
run: |
30+
for file in $(find plugins -name "plugin.json"); do
31+
python -m json.tool "$file" > /dev/null
32+
echo "✓ $file is valid JSON"
33+
done
34+
35+
- name: Check required fields
36+
run: |
37+
python3 << 'EOF'
38+
import json
39+
import glob
40+
41+
required_fields = ["name", "displayName", "description", "version", "publisher"]
42+
43+
for plugin_file in glob.glob("plugins/**/plugin.json", recursive=True):
44+
with open(plugin_file, 'r') as f:
45+
plugin = json.load(f)
46+
47+
for field in required_fields:
48+
if field not in plugin:
49+
print(f"❌ {plugin_file}: Missing required field '{field}'")
50+
exit(1)
51+
52+
print(f"✓ {plugin_file}: All required fields present")
53+
54+
print("\n✓ All validations passed!")
55+
EOF
56+
57+
- name: Validate plugin names are unique
58+
run: |
59+
python3 << 'EOF'
60+
import json
61+
import glob
62+
63+
names = {}
64+
for plugin_file in glob.glob("plugins/**/plugin.json", recursive=True):
65+
with open(plugin_file, 'r') as f:
66+
plugin = json.load(f)
67+
68+
name = plugin.get("name")
69+
if name in names:
70+
print(f"❌ Duplicate plugin name '{name}' in {plugin_file} and {names[name]}")
71+
exit(1)
72+
names[name] = plugin_file
73+
74+
print("✓ All plugin names are unique")
75+
EOF

‎.gitignore‎

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
# DocFX build output
2+
_site/
3+
.docfx.json.user
4+
5+
# Generated plugin documentation (source of truth is plugins/)
6+
docs/plugins/
7+
8+
# IDE
9+
.vscode/
10+
.idea/
11+
*.swp
12+
*.swo
13+
*~
14+
.DS_Store
15+
16+
# Build artifacts
17+
bin/
18+
obj/
19+
*.dll
20+
*.exe
21+
dist/
22+
build/
23+
24+
# Dependencies
25+
node_modules/
26+
packages/
27+
.nuget/
28+
29+
# Test results
30+
TestResults/
31+
*.trx
32+
coverage/
33+
34+
# Temporary files
35+
*.tmp
36+
*.log
37+
*.cache
38+
39+
# dotnet
40+
.dotnet/
41+
.vs/
42+
43+
# Session/state
44+
.copilot/session-state/
45+
46+
/docs/plugins/

‎LICENSE‎

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
MIT License
2+
3+
Copyright (c) 2024 IntelliTect
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.

0 commit comments

Comments
 (0)