@@ -22,7 +22,7 @@ make install # Install dependencies and pre-commit hooks
2222
2323# Code quality
2424make lint # Run ruff linting
25- make lint-fix # Auto-fix linting issues
25+ make lint-fix # Auto-fix linting issues
2626make mypy # Run type checking
2727
2828# Testing
@@ -64,17 +64,20 @@ make mcp-inspector # Run MCP server inspector for debugging
6464### OpenAPI Specifications
6565
6666All tool definitions are generated from OpenAPI specs in ` stackone_ai/oas/ ` :
67+
6768- ` core.json ` , ` ats.json ` , ` crm.json ` , ` documents.json ` , ` hris.json ` , ` iam.json ` , ` lms.json ` , ` marketing.json `
6869
6970## Key Development Patterns
7071
7172### Tool Filtering
73+
7274``` python
7375# Use glob patterns for tool selection
7476tools = StackOneToolSet(include_tools = [" hris_*" , " !hris_create_*" ])
7577```
7678
7779### Authentication
80+
7881``` python
7982# Uses environment variables or direct configuration
8083toolset = StackOneToolSet(
@@ -84,11 +87,13 @@ toolset = StackOneToolSet(
8487```
8588
8689### Type Safety
90+
8791- Full type annotations required (Python 3.11+)
8892- Strict mypy configuration
8993- Use generics for better IDE support
9094
9195### Testing
96+
9297- Snapshot testing for tool parsing (` tests/snapshots/ ` )
9398- Async tests use ` pytest-asyncio `
9499- Example validation: See @./.cursor/rules/examples-standards
@@ -105,16 +110,19 @@ toolset = StackOneToolSet(
105110## Common Tasks
106111
107112### Adding New SaaS Integration
113+
1081141 . Add OpenAPI spec to ` stackone_ai/oas/ `
1091152 . Parser automatically converts to tool definitions
1101163 . Test with ` make test-tools `
111117
112118### Modifying Tool Behavior
119+
113120- Core execution logic in ` StackOneTool.execute() ` method
114121- HTTP configuration via ` ExecuteConfig ` class
115122- Response handling in ` _process_response() `
116123
117124### Updating Documentation
125+
118126- Examples requirements: See @./.cursor/rules/examples-standards
119127- Run ` make docs-serve ` to preview changes
120128- MkDocs config in ` mkdocs.yml `
0 commit comments