-
Notifications
You must be signed in to change notification settings - Fork 1
✨ Complete GitHub Copilot configuration with automated validation and comprehensive repository fixes #23
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
✨ Complete GitHub Copilot configuration with automated validation and comprehensive repository fixes #23
Changes from all commits
22c5b75
d0de798
a98a364
401768b
663c5eb
692ffbc
de699d0
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,18 @@ | ||
| # Development Environment Variables | ||
| # Copy this file to .env.local and update values as needed | ||
|
|
||
| # Next.js Configuration | ||
| NEXT_TELEMETRY_DISABLED=1 | ||
|
|
||
| # GitHub Configuration (for development) | ||
| # GITHUB_TOKEN=your_github_token_here | ||
|
|
||
| # API URLs (for future integrations) | ||
| # API_BASE_URL=http://localhost:3000/api | ||
|
|
||
| # Feature Flags (for future use) | ||
| # ENABLE_ANALYTICS=false | ||
| # ENABLE_ERROR_REPORTING=false | ||
|
|
||
| # Database Configuration (for future use) | ||
| # DATABASE_URL=postgresql://username:password@localhost:5432/codestorm_hub |
| Original file line number | Diff line number | Diff line change | ||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| @@ -0,0 +1,158 @@ | ||||||||||||||||||||||||||||||||||||
| name: Copilot Configuration Validation | ||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||
| on: | ||||||||||||||||||||||||||||||||||||
| push: | ||||||||||||||||||||||||||||||||||||
| branches: [ "main", "develop" ] | ||||||||||||||||||||||||||||||||||||
| paths: | ||||||||||||||||||||||||||||||||||||
| - '.github/copilot-instructions.md' | ||||||||||||||||||||||||||||||||||||
| - '.copilot/**' | ||||||||||||||||||||||||||||||||||||
| - '.github/copilot-mcp.json' | ||||||||||||||||||||||||||||||||||||
| pull_request: | ||||||||||||||||||||||||||||||||||||
| branches: [ "main" ] | ||||||||||||||||||||||||||||||||||||
| paths: | ||||||||||||||||||||||||||||||||||||
| - '.github/copilot-instructions.md' | ||||||||||||||||||||||||||||||||||||
| - '.copilot/**' | ||||||||||||||||||||||||||||||||||||
| - '.github/copilot-mcp.json' | ||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||
| jobs: | ||||||||||||||||||||||||||||||||||||
| validate-copilot-config: | ||||||||||||||||||||||||||||||||||||
| runs-on: ubuntu-latest | ||||||||||||||||||||||||||||||||||||
| name: Validate Copilot Configuration | ||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||
| steps: | ||||||||||||||||||||||||||||||||||||
| - name: Checkout | ||||||||||||||||||||||||||||||||||||
| uses: actions/checkout@v4 | ||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||
| - name: Setup Node.js | ||||||||||||||||||||||||||||||||||||
| uses: actions/setup-node@v4 | ||||||||||||||||||||||||||||||||||||
| with: | ||||||||||||||||||||||||||||||||||||
| node-version: 20 | ||||||||||||||||||||||||||||||||||||
| cache: 'npm' | ||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||
| - name: Install dependencies | ||||||||||||||||||||||||||||||||||||
| run: npm ci | ||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||
| - name: Validate configuration files exist | ||||||||||||||||||||||||||||||||||||
| run: | | ||||||||||||||||||||||||||||||||||||
| echo "Checking for required Copilot configuration files..." | ||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||
| # Check for repository instructions | ||||||||||||||||||||||||||||||||||||
| if [ ! -f ".github/copilot-instructions.md" ]; then | ||||||||||||||||||||||||||||||||||||
| echo "❌ Missing .github/copilot-instructions.md" | ||||||||||||||||||||||||||||||||||||
| exit 1 | ||||||||||||||||||||||||||||||||||||
| else | ||||||||||||||||||||||||||||||||||||
| echo "✅ Found .github/copilot-instructions.md" | ||||||||||||||||||||||||||||||||||||
| fi | ||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||
| # Check for custom instructions | ||||||||||||||||||||||||||||||||||||
| if [ ! -f ".copilot/instructions.md" ]; then | ||||||||||||||||||||||||||||||||||||
| echo "❌ Missing .copilot/instructions.md" | ||||||||||||||||||||||||||||||||||||
| exit 1 | ||||||||||||||||||||||||||||||||||||
| else | ||||||||||||||||||||||||||||||||||||
| echo "✅ Found .copilot/instructions.md" | ||||||||||||||||||||||||||||||||||||
| fi | ||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||
| # Check for development environment config | ||||||||||||||||||||||||||||||||||||
| if [ ! -f ".copilot/dev-environment.yml" ]; then | ||||||||||||||||||||||||||||||||||||
| echo "❌ Missing .copilot/dev-environment.yml" | ||||||||||||||||||||||||||||||||||||
| exit 1 | ||||||||||||||||||||||||||||||||||||
| else | ||||||||||||||||||||||||||||||||||||
| echo "✅ Found .copilot/dev-environment.yml" | ||||||||||||||||||||||||||||||||||||
| fi | ||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||
| # Check for MCP configuration | ||||||||||||||||||||||||||||||||||||
| if [ ! -f ".github/copilot-mcp.json" ]; then | ||||||||||||||||||||||||||||||||||||
| echo "❌ Missing .github/copilot-mcp.json" | ||||||||||||||||||||||||||||||||||||
| exit 1 | ||||||||||||||||||||||||||||||||||||
| else | ||||||||||||||||||||||||||||||||||||
| echo "✅ Found .github/copilot-mcp.json" | ||||||||||||||||||||||||||||||||||||
| fi | ||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||
| - name: Validate JSON configuration files | ||||||||||||||||||||||||||||||||||||
| run: | | ||||||||||||||||||||||||||||||||||||
| echo "Validating JSON configuration files..." | ||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||
| # Validate MCP configuration JSON | ||||||||||||||||||||||||||||||||||||
| if ! jq . .github/copilot-mcp.json > /dev/null; then | ||||||||||||||||||||||||||||||||||||
| echo "❌ Invalid JSON in .github/copilot-mcp.json" | ||||||||||||||||||||||||||||||||||||
| exit 1 | ||||||||||||||||||||||||||||||||||||
| else | ||||||||||||||||||||||||||||||||||||
| echo "✅ Valid JSON in .github/copilot-mcp.json" | ||||||||||||||||||||||||||||||||||||
| fi | ||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||
| - name: Validate YAML configuration files | ||||||||||||||||||||||||||||||||||||
| run: | | ||||||||||||||||||||||||||||||||||||
| echo "Validating YAML configuration files..." | ||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||
| # Install yq for YAML validation (Python version via pip) | ||||||||||||||||||||||||||||||||||||
| sudo apt-get update | ||||||||||||||||||||||||||||||||||||
| sudo apt-get install -y python3-pip | ||||||||||||||||||||||||||||||||||||
| pip3 install --user yq | ||||||||||||||||||||||||||||||||||||
| export PATH="$HOME/.local/bin:$PATH" | ||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||
|
Comment on lines
+83
to
+92
|
||||||||||||||||||||||||||||||||||||
| - name: Validate YAML configuration files | |
| run: | | |
| echo "Validating YAML configuration files..." | |
| # Install yq for YAML validation (Python version via pip) | |
| sudo apt-get update | |
| sudo apt-get install -y python3-pip | |
| pip3 install --user yq | |
| export PATH="$HOME/.local/bin:$PATH" | |
| - name: Setup yq | |
| uses: mikefarah/yq@master | |
| - name: Validate YAML configuration files | |
| run: | | |
| echo "Validating YAML configuration files..." | |
Copilot
AI
Sep 29, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The build step lacks error context. Consider adding error handling to provide clearer feedback when the build fails, such as npm run build || { echo '❌ Build failed'; exit 1; }
| npm run build | |
| npm run build || { echo '❌ Build failed'; exit 1; } |
Copilot
AI
Sep 29, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The lint step lacks error context. Consider adding error handling to provide clearer feedback when linting fails, such as npm run lint || { echo '❌ Linting failed'; exit 1; }
| npm run lint | |
| npm run lint || { echo '❌ Linting failed'; exit 1; } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Running apt-get update is unnecessary since the GitHub runner already has up-to-date package lists, and this adds significant execution time to the workflow.