Skip to content

Commit c4bb28f

Browse files
committed
Merge branch 'mcp-protocol-2025-06-18-compliance'
2 parents d820b0f + 2cf6880 commit c4bb28f

56 files changed

Lines changed: 9124 additions & 4656 deletions

Some content is hidden

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

.eslintrc.json

Lines changed: 0 additions & 144 deletions
This file was deleted.

.prettierignore

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
# Dependencies
2+
node_modules/
3+
4+
# Build outputs (compiled code should not be formatted)
5+
dist/
6+
server/
7+
8+
# Coverage reports
9+
coverage/
10+
11+
# Package files
12+
*.dxt
13+
14+
# IDE
15+
.cursor/

CLAUDE.md

Lines changed: 30 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co
77
88
## Quick Start
99

10-
- **Primary file**: `src/bamboo-mcp.ts` (single-file MCP server)
10+
- **Primary file**: `server/index.js` (modern MCP server implementation)
1111
- **Build**: `./scripts/build.sh` (production) or `npm run build`
1212
- **Run**: `BAMBOO_API_KEY=xxx BAMBOO_SUBDOMAIN=yyy node server/index.js`
1313
- **NPX**: `BAMBOO_API_KEY=xxx BAMBOO_SUBDOMAIN=yyy npx @zuharz/bamboo-mcp-server`
@@ -31,7 +31,8 @@ This is a **BambooHR Model Context Protocol (MCP) server** - a single-file imple
3131

3232
**Production-ready, agent-optimized design:**
3333

34-
- **Modular structure**: 4 TypeScript files with clear separation of concerns
34+
- **Modern MCP architecture**: Uses latest SDK patterns with proper protocol negotiation
35+
- **Modular structure**: Compiled JavaScript with clear separation of concerns
3536
- **8 comprehensive tools**: Core HR + discovery + analytics + custom reports
3637
- **Enhanced employee search**: Supports full name queries ("Igor Zivanovic")
3738
- **Robust HTTP client**: Retry logic, rate limiting, timeout handling
@@ -53,12 +54,13 @@ npm run build # Same as ./scripts/build.sh
5354
npm run dev # Build and run (server/index.js)
5455
node server/index.js # Run the production build
5556

56-
# Testing commands
57-
npm test # Run all tests (excluding integration)
58-
npm run test:quick # Fast contract + security tests (~0.3s)
59-
npm run test:integration # Real API tests (requires credentials)
60-
npm run test:full # Everything including integration tests
61-
npm run test:watch # Watch mode for development
57+
# Optimized testing strategy
58+
npm run test:pre-commit # Fast validation (~0.2s) - contracts, security, protocol
59+
npm run test:pre-push # All non-integration tests (~0.3s)
60+
npm run test:ci # Full CI/CD validation including integration
61+
npm run test:integration # Real API tests only (requires credentials)
62+
npm run test:protocol # Protocol compliance only
63+
npm test # Default: pre-push tests
6264

6365
# Quality assurance
6466
npm run lint # Code linting with ESLint
@@ -440,29 +442,31 @@ npm run test:integration # BAD - without API credentials
440442

441443
## Testing Strategy
442444

443-
### Progressive Testing Approach
445+
### Optimized Three-Tier Testing Approach
444446

445-
The project uses a **simple, practical testing strategy** that avoids overengineering:
447+
The project uses a **performance-optimized testing strategy** designed for modern development workflows:
446448

447-
1. **Quick Tests** (`npm run test:quick`) - ~0.3 seconds
449+
1. **Pre-Commit Tests** (`npm run test:pre-commit`) - **~0.2 seconds**
448450
- Contract validation (tool response formats)
449451
- Security validations (input sanitization, API key handling)
450-
- No external dependencies
452+
- Protocol compliance (MCP 2025-06-18)
453+
- **Perfect for**: Fast feedback during development
451454

452-
2. **Standard Tests** (`npm test`) - ~0.3 seconds
453-
- All quick tests + smoke tests
455+
2. **Pre-Push Tests** (`npm run test:pre-push`) - **~0.3 seconds**
456+
- All pre-commit tests + smoke tests + tool execution
454457
- Excludes integration tests (no API calls)
455-
- Perfect for development and CI
458+
- **Perfect for**: Pre-push validation without credentials
456459

457-
3. **Integration Tests** (`npm run test:integration`) - ~10 seconds
458-
- Tests against real BambooHR API
460+
3. **CI/CD Tests** (`npm run test:ci`) - **Full validation**
461+
- Everything including real BambooHR API integration
459462
- Requires `BAMBOO_API_KEY` and `BAMBOO_SUBDOMAIN`
460-
- Enhanced with LLM response validation
461-
- **44+ comprehensive test cases** including employee search fix
463+
- **44+ comprehensive test cases** with real API validation
464+
- **Perfect for**: GitHub Actions with secrets
462465

463-
4. **Full Test Suite** (`npm run test:full`) - ~10+ seconds
464-
- Everything including integration tests
465-
- Use before major releases
466+
4. **Protocol Tests** (`npm run test:protocol`) - **Standalone compliance**
467+
- MCP protocol 2025-06-18 compliance only
468+
- Tool schema validation
469+
- **Perfect for**: Protocol version upgrades
466470

467471
### Test Helpers and Validation
468472

@@ -476,10 +480,10 @@ validateErrorResponse(); // Error format validation
476480

477481
### Development Workflow
478482

479-
1. **During development**: `npm run test:quick` (instant feedback)
480-
2. **Before commit**: `npm test` (comprehensive without API calls)
481-
3. **CI/CD pipeline**: Automated quality assurance
482-
4. **Full validation**: `npm run test:full` (when credentials available)
483+
1. **During development**: `npm run test:pre-commit` (instant feedback - 0.2s)
484+
2. **Before commit**: `npm run test:pre-push` (comprehensive without API calls - 0.3s)
485+
3. **Before push**: `npm run quality` (lint + format + typecheck)
486+
4. **CI/CD pipeline**: `npm run test:ci` (full validation with API integration)
483487

484488
## Quality Assurance & CI/CD
485489

0 commit comments

Comments
 (0)