| Dimension | Shared | Only in A | Only in B | Overlap |
|---|---|---|---|---|
| Sections | 0 | 42 | 9 | 0% |
| Commands | 0 | 11 | 0 | 0% |
| Section tags | 1 | 10 | 3 | 7% |
What each file covers
Sections
0 shared · 42 only in A · 9 only in B- − Megarepo - AI Setup Repository
- − Repository Overview
- − Current Repository State
- − Working Effectively
- − Initial Repository Exploration
- − Always start by understanding the current repository state
- − When Source Code is Added
- − Check for package.json first
- − If package.json exists, install dependencies
- − NEVER CANCEL: npm install typically takes 2-5 minutes. Set timeout to 10+ minutes.
- − Common build commands (verify these exist in package.json first)
- − NEVER CANCEL: Build may take 5-45 minutes depending on project size. Set timeout to 60+ minutes.
- − Common test commands
- − NEVER CANCEL: Tests may take 5-15 minutes. Set timeout to 30+ minutes.
- − Common development server
- − Check for linting configuration
- − Run linting if configured
- − Run formatting if configured
- − Run type checking if TypeScript
- − Repository Structure Expectations
- − Validation Requirements
- − Before Making Changes
- − After Making Changes
- − Common Commands Reference
- − Repository Information
- − View current files
- − Check git status
- − View repository structure
- − When Package.json Exists
- − View available scripts
- − Install dependencies
- − TIMEOUT: 10+ minutes
- − Common development commands (check package.json first)
- − File Locations and Navigation
- − Current Key Files
- − Expected Important Locations (when populated)
- − AI Development Guidelines
- − Troubleshooting
- − Repository Appears Empty
- − Build Failures
- − Development Server Issues
- − Critical Reminders
- + Advanced AI Testing Patterns
- + AI-Specific Testing Approaches
- + 1. AI Service Mocking
- + 2. Integration Testing Patterns
- + 3. Performance Testing
- + 4. End-to-End Testing
- + 5. Error Scenario Testing
- + 6. Data Quality Testing
- + 7. Accessibility Testing
Commands
0 shared · 11 only in A · 0 only in B- − git status
- − npm install
- − npm run build
- − npm test
- − npm run dev
- − npm run lint
- − npm run format
- − npm run type-check
- − npm run start
- − npm run test
- − git branch -a
Section tags
1 shared · 10 only in A · 3 only in B- − setup
- − build
- − lint-format
- − architecture
- − types
- − git-pr
- − security
- − dependencies
- − do-not
- − agent-behaviour
- + code-style
- + testing-strategy
- + performance
- test
Line diff
HerringtonDarkholme/megarepo · .github/copilot-instructions.md
@@ −1 @@
1# Megarepo - AI Setup Repository
2
3**ALWAYS follow these instructions first and only fallback to additional search and context gathering if the information here is incomplete or found to be in error.**
4
5## Repository Overview
6
7Megarepo is currently a minimal repository template designed for AI-related projects. The repository contains basic setup files and is configured for Node.js/Next.js development based on the .gitignore patterns.
8
9## Current Repository State
10
11**IMPORTANT**: This repository is currently in a minimal state with only basic setup files:
12- README.md (basic project description)
13- LICENSE (MIT license)
14- .gitignore (configured for Node.js/Next.js projects)
15
16**DO NOT attempt to build, test, or run code** - there is no source code or build system present yet.
17
18## Working Effectively
19
20### Initial Repository Exploration
21```bash
22# Always start by understanding the current repository state
23ls -la
24git status
25find . -type f -name "*.json" -o -name "*.js" -o -name "*.ts" -o -name "*.md"
26```
27
28### When Source Code is Added
29
30The repository is pre-configured for Node.js/Next.js development. When source code is added, follow these patterns:
31
32#### Node.js/Next.js Project Setup
33```bash
34# Check for package.json first
35ls package.json
36
37# If package.json exists, install dependencies
38npm install
39# NEVER CANCEL: npm install typically takes 2-5 minutes. Set timeout to 10+ minutes.
40
41# Common build commands (verify these exist in package.json first)
42npm run build
43# NEVER CANCEL: Build may take 5-45 minutes depending on project size. Set timeout to 60+ minutes.
44
45# Common test commands
46npm test
47# NEVER CANCEL: Tests may take 5-15 minutes. Set timeout to 30+ minutes.
48
49# Common development server
50npm run dev
51```
52
53#### Pre-commit Validation
54When source code exists, always run these before committing:
55```bash
56# Check for linting configuration
57ls .eslintrc* eslint.config.* .prettierrc*
58
59# Run linting if configured
60npm run lint
61
62# Run formatting if configured
63npm run format
64
65# Run type checking if TypeScript
66npm run type-check
67```
68
69## Repository Structure Expectations
70
71Based on the .gitignore configuration, expect the following when the repository is populated:
72
73```
74.
75├── README.md # Project documentation
76├── LICENSE # MIT license
77├── .gitignore # Node.js/Next.js ignore patterns
78├── package.json # Node.js dependencies and scripts
79├── package-lock.json # Dependency lockfile
80├── next.config.js # Next.js configuration (if Next.js)
81├── tsconfig.json # TypeScript configuration (if TypeScript)
82├── .eslintrc.* # ESLint configuration
83├── .prettierrc # Prettier configuration
84├── src/ # Source code directory
85│ ├── pages/ # Next.js pages (if Next.js)
86│ ├── components/ # React components
87│ └── utils/ # Utility functions
88├── public/ # Static assets
89├── .next/ # Next.js build output (ignored)
90├── build/ # Build output (ignored)
91└── node_modules/ # Dependencies (ignored)
92```
93
94## Validation Requirements
95
96### Before Making Changes
971. **Always check current repository state first**:
98 ```bash
99 git status
100 ls -la
101 cat package.json # Only if it exists
102 ```
103
1042. **Verify build system exists before attempting builds**:
105 ```bash
106 # Check for package.json before running npm commands
107 test -f package.json && echo "Node.js project detected" || echo "No package.json found"
108 ```
109
110### After Making Changes
1111. **When source code is present, always validate**:
112 ```bash
113 # Install dependencies if package.json exists
114 test -f package.json && npm install
115
116 # Build if build script exists
117 test -f package.json && npm run build
118
119 # Test if test script exists
120 test -f package.json && npm test
121
122 # Lint if lint script exists
123 test -f package.json && npm run lint
124 ```
125
1262. **Manual validation scenarios when application exists**:
127 - Start the development server and verify it loads
128 - Test basic functionality by navigating through the application
129 - Verify any API endpoints respond correctly
130 - Check console for errors
131
132## Common Commands Reference
133
134### Repository Information
135```bash
136# View current files
137ls -la
138
139# Check git status
140git status
141
142# View repository structure
143tree . -a -I 'node_modules|.git' # If tree is available (use -a to show hidden files)
144find . -type f -not -path "./.git/*" -not -path "./node_modules/*" | sort
145```
146
147### When Package.json Exists
148```bash
149# View available scripts
150cat package.json | grep -A 20 '"scripts"'
151
152# Install dependencies
153npm install
154# TIMEOUT: 10+ minutes
155
156# Common development commands (check package.json first)
157npm run dev # Development server
158npm run build # Production build
159npm run start # Start production server
160npm run test # Run tests
161npm run lint # Run linter
162npm run format # Format code
163```
164
165## File Locations and Navigation
166
167### Current Key Files
168- `/README.md` - Project overview and setup instructions
169- `/LICENSE` - MIT license terms
170- `/.gitignore` - Git ignore patterns (Node.js/Next.js focused)
171
172### Expected Important Locations (when populated)
173- `/src/` - Main source code directory
174- `/src/pages/` - Next.js pages (if Next.js project)
175- `/src/components/` - React components
176- `/public/` - Static assets and files
177- `/package.json` - Project configuration and dependencies
178- `/next.config.js` - Next.js configuration
179- `/tsconfig.json` - TypeScript configuration
180
181## AI Development Guidelines
182
183Since this is an AI setup repository:
184
1851. **Always verify AI-related dependencies** when they are added:
186 ```bash
187 # Common AI packages to look for
188 grep -E "(openai|langchain|tensorflow|pytorch|huggingface)" package.json
189 ```
190
1912. **Environment variables for AI services**:
192 ```bash
193 # Check for environment configuration
194 ls .env* || echo "No environment files found"
195 ```
196
1973. **API key management**:
198 - Never commit API keys
199 - Always use environment variables
200 - Check .env.example for required variables
201
202## Troubleshooting
203
204### Repository Appears Empty
205- This is expected in the current state
206- Check git branch: `git branch -a`
207- Look for other branches that might contain code
208
209### Build Failures
210- First verify package.json exists: `ls package.json`
211- Clear dependencies and reinstall: `rm -rf node_modules package-lock.json && npm install`
212- Check Node.js version compatibility in package.json
213
214### Development Server Issues
215- Verify port availability (typically 3000 for Next.js)
216- Check for environment variable requirements
217- Review console output for specific error messages
218
219## Critical Reminders
220
221- **NEVER CANCEL builds or long-running commands** - they may take 45+ minutes
222- **ALWAYS validate commands work** before assuming functionality exists
223- **CHECK for package.json** before running npm commands
224- **SET APPROPRIATE TIMEOUTS** - builds: 60+ minutes, tests: 30+ minutes
225- **VERIFY repository state** before attempting any operations
HerringtonDarkholme/megarepo · .cursor/rules/testing-advanced.mdc
@@ +1 @@
1---
2description: "Advanced testing patterns for AI applications including mocking, integration tests, and performance monitoring"
3globs: ["**/*.test.*", "**/*.spec.*", "tests/**/*", "__tests__/**/*"]
4alwaysApply: false
5---
6
7# Advanced AI Testing Patterns
8
9Comprehensive testing strategies for AI-powered applications.
10
11## AI-Specific Testing Approaches
12
13### 1. AI Service Mocking
14```typescript
15// Mock AI service responses for consistent testing
16const mockAIService = {
17 complete: jest.fn(),
18 stream: jest.fn(),
19 embed: jest.fn()
20};
21
22beforeEach(() => {
23 mockAIService.complete.mockResolvedValue({
24 content: 'Mocked AI response',
25 usage: { prompt_tokens: 10, completion_tokens: 20 }
26 });
27});
28```
29
30### 2. Integration Testing Patterns
31```typescript
32describe('AI Integration Tests', () => {
33 it('handles real AI service responses', async () => {
34 // Use test API keys for integration tests
35 // Test with actual AI services in staging
36 // Validate response formats and data
37 // Handle rate limiting and timeouts
38 });
39
40 it('gracefully handles AI service outages', async () => {
41 // Test failure scenarios
42 // Validate fallback behaviors
43 // Ensure user experience remains smooth
44 });
45});
46```
47
48### 3. Performance Testing
49- Monitor AI response times
50- Test under concurrent load
51- Measure token usage and costs
52- Validate memory usage patterns
53
54### 4. End-to-End Testing
55```typescript
56// Test complete AI workflows
57describe('AI Chat Flow', () => {
58 it('completes full conversation cycle', async () => {
59 // Send user message
60 // Receive AI response
61 // Validate UI updates
62 // Test conversation history
63 });
64});
65```
66
67### 5. Error Scenario Testing
68- Test API rate limit handling
69- Validate quota exceeded scenarios
70- Test network failure recovery
71- Verify error message display
72
73### 6. Data Quality Testing
74- Validate AI response formats
75- Test prompt injection prevention
76- Verify content filtering
77- Check for appropriate responses
78
79### 7. Accessibility Testing
80- Test screen reader compatibility
81- Validate keyboard navigation
82- Check color contrast compliance
83- Test with assistive technologies
@@ −1 +1 @@
1−# Megarepo - AI Setup Repository
1+---
2+description: "Advanced testing patterns for AI applications including mocking, integration tests, and performance monitoring"
3+globs: ["**/*.test.*", "**/*.spec.*", "tests/**/*", "__tests__/**/*"]
4+alwaysApply: false
5+---
26
3−**ALWAYS follow these instructions first and only fallback to additional search and context gathering if the information here is incomplete or found to be in error.**
7+# Advanced AI Testing Patterns
48
5−## Repository Overview
9+Comprehensive testing strategies for AI-powered applications.
610
7−Megarepo is currently a minimal repository template designed for AI-related projects. The repository contains basic setup files and is configured for Node.js/Next.js development based on the .gitignore patterns.
11+## AI-Specific Testing Approaches
812
9−## Current Repository State
13+### 1. AI Service Mocking
14+```typescript
15+// Mock AI service responses for consistent testing
16+const mockAIService = {
17+ complete: jest.fn(),
18+ stream: jest.fn(),
19+ embed: jest.fn()
20+};
1021
11−**IMPORTANT**: This repository is currently in a minimal state with only basic setup files:
12−- README.md (basic project description)
13−- LICENSE (MIT license)
14−- .gitignore (configured for Node.js/Next.js projects)
15−
16−**DO NOT attempt to build, test, or run code** - there is no source code or build system present yet.
17−
18−## Working Effectively
19−
20−### Initial Repository Exploration
21−```bash
22−# Always start by understanding the current repository state
23−ls -la
24−git status
25−find . -type f -name "*.json" -o -name "*.js" -o -name "*.ts" -o -name "*.md"
22+beforeEach(() => {
23+ mockAIService.complete.mockResolvedValue({
24+ content: 'Mocked AI response',
25+ usage: { prompt_tokens: 10, completion_tokens: 20 }
26+ });
27+});
2628 ```
2729
28−### When Source Code is Added
29−
30−The repository is pre-configured for Node.js/Next.js development. When source code is added, follow these patterns:
31−
32−#### Node.js/Next.js Project Setup
33−```bash
34−# Check for package.json first
35−ls package.json
36−
37−# If package.json exists, install dependencies
38−npm install
39−# NEVER CANCEL: npm install typically takes 2-5 minutes. Set timeout to 10+ minutes.
40−
41−# Common build commands (verify these exist in package.json first)
42−npm run build
43−# NEVER CANCEL: Build may take 5-45 minutes depending on project size. Set timeout to 60+ minutes.
44−
45−# Common test commands
46−npm test
47−# NEVER CANCEL: Tests may take 5-15 minutes. Set timeout to 30+ minutes.
48−
49−# Common development server
50−npm run dev
30+### 2. Integration Testing Patterns
31+```typescript
32+describe('AI Integration Tests', () => {
33+ it('handles real AI service responses', async () => {
34+ // Use test API keys for integration tests
35+ // Test with actual AI services in staging
36+ // Validate response formats and data
37+ // Handle rate limiting and timeouts
38+ });
39+
40+ it('gracefully handles AI service outages', async () => {
41+ // Test failure scenarios
42+ // Validate fallback behaviors
43+ // Ensure user experience remains smooth
44+ });
45+});
5146 ```
5247
53−#### Pre-commit Validation
54−When source code exists, always run these before committing:
55−```bash
56−# Check for linting configuration
57−ls .eslintrc* eslint.config.* .prettierrc*
48+### 3. Performance Testing
49+- Monitor AI response times
50+- Test under concurrent load
51+- Measure token usage and costs
52+- Validate memory usage patterns
5853
59−# Run linting if configured
60−npm run lint
61−
62−# Run formatting if configured
63−npm run format
64−
65−# Run type checking if TypeScript
66−npm run type-check
54+### 4. End-to-End Testing
55+```typescript
56+// Test complete AI workflows
57+describe('AI Chat Flow', () => {
58+ it('completes full conversation cycle', async () => {
59+ // Send user message
60+ // Receive AI response
61+ // Validate UI updates
62+ // Test conversation history
63+ });
64+});
6765 ```
6866
69−## Repository Structure Expectations
67+### 5. Error Scenario Testing
68+- Test API rate limit handling
69+- Validate quota exceeded scenarios
70+- Test network failure recovery
71+- Verify error message display
7072
71−Based on the .gitignore configuration, expect the following when the repository is populated:
73+### 6. Data Quality Testing
74+- Validate AI response formats
75+- Test prompt injection prevention
76+- Verify content filtering
77+- Check for appropriate responses
7278
73−```
74−.
75−├── README.md # Project documentation
76−├── LICENSE # MIT license
77−├── .gitignore # Node.js/Next.js ignore patterns
78−├── package.json # Node.js dependencies and scripts
79−├── package-lock.json # Dependency lockfile
80−├── next.config.js # Next.js configuration (if Next.js)
81−├── tsconfig.json # TypeScript configuration (if TypeScript)
82−├── .eslintrc.* # ESLint configuration
83−├── .prettierrc # Prettier configuration
84−├── src/ # Source code directory
85−│ ├── pages/ # Next.js pages (if Next.js)
86−│ ├── components/ # React components
87−│ └── utils/ # Utility functions
88−├── public/ # Static assets
89−├── .next/ # Next.js build output (ignored)
90−├── build/ # Build output (ignored)
91−└── node_modules/ # Dependencies (ignored)
92−```
93−
94−## Validation Requirements
95−
96−### Before Making Changes
97−1. **Always check current repository state first**:
98− ```bash
99− git status
100− ls -la
101− cat package.json # Only if it exists
102− ```
103−
104−2. **Verify build system exists before attempting builds**:
105− ```bash
106− # Check for package.json before running npm commands
107− test -f package.json && echo "Node.js project detected" || echo "No package.json found"
108− ```
109−
110−### After Making Changes
111−1. **When source code is present, always validate**:
112− ```bash
113− # Install dependencies if package.json exists
114− test -f package.json && npm install
115−
116− # Build if build script exists
117− test -f package.json && npm run build
118−
119− # Test if test script exists
120− test -f package.json && npm test
121−
122− # Lint if lint script exists
123− test -f package.json && npm run lint
124− ```
125−
126−2. **Manual validation scenarios when application exists**:
127− - Start the development server and verify it loads
128− - Test basic functionality by navigating through the application
129− - Verify any API endpoints respond correctly
130− - Check console for errors
131−
132−## Common Commands Reference
133−
134−### Repository Information
135−```bash
136−# View current files
137−ls -la
138−
139−# Check git status
140−git status
141−
142−# View repository structure
143−tree . -a -I 'node_modules|.git' # If tree is available (use -a to show hidden files)
144−find . -type f -not -path "./.git/*" -not -path "./node_modules/*" | sort
145−```
146−
147−### When Package.json Exists
148−```bash
149−# View available scripts
150−cat package.json | grep -A 20 '"scripts"'
151−
152−# Install dependencies
153−npm install
154−# TIMEOUT: 10+ minutes
155−
156−# Common development commands (check package.json first)
157−npm run dev # Development server
158−npm run build # Production build
159−npm run start # Start production server
160−npm run test # Run tests
161−npm run lint # Run linter
162−npm run format # Format code
163−```
164−
165−## File Locations and Navigation
166−
167−### Current Key Files
168−- `/README.md` - Project overview and setup instructions
169−- `/LICENSE` - MIT license terms
170−- `/.gitignore` - Git ignore patterns (Node.js/Next.js focused)
171−
172−### Expected Important Locations (when populated)
173−- `/src/` - Main source code directory
174−- `/src/pages/` - Next.js pages (if Next.js project)
175−- `/src/components/` - React components
176−- `/public/` - Static assets and files
177−- `/package.json` - Project configuration and dependencies
178−- `/next.config.js` - Next.js configuration
179−- `/tsconfig.json` - TypeScript configuration
180−
181−## AI Development Guidelines
182−
183−Since this is an AI setup repository:
184−
185−1. **Always verify AI-related dependencies** when they are added:
186− ```bash
187− # Common AI packages to look for
188− grep -E "(openai|langchain|tensorflow|pytorch|huggingface)" package.json
189− ```
190−
191−2. **Environment variables for AI services**:
192− ```bash
193− # Check for environment configuration
194− ls .env* || echo "No environment files found"
195− ```
196−
197−3. **API key management**:
198− - Never commit API keys
199− - Always use environment variables
200− - Check .env.example for required variables
201−
202−## Troubleshooting
203−
204−### Repository Appears Empty
205−- This is expected in the current state
206−- Check git branch: `git branch -a`
207−- Look for other branches that might contain code
208−
209−### Build Failures
210−- First verify package.json exists: `ls package.json`
211−- Clear dependencies and reinstall: `rm -rf node_modules package-lock.json && npm install`
212−- Check Node.js version compatibility in package.json
213−
214−### Development Server Issues
215−- Verify port availability (typically 3000 for Next.js)
216−- Check for environment variable requirements
217−- Review console output for specific error messages
218−
219−## Critical Reminders
220−
221−- **NEVER CANCEL builds or long-running commands** - they may take 45+ minutes
222−- **ALWAYS validate commands work** before assuming functionality exists
223−- **CHECK for package.json** before running npm commands
224−- **SET APPROPRIATE TIMEOUTS** - builds: 60+ minutes, tests: 30+ minutes
225−- **VERIFY repository state** before attempting any operations
79+### 7. Accessibility Testing
80+- Test screen reader compatibility
81+- Validate keyboard navigation
82+- Check color contrast compliance
83+- Test with assistive technologies
