Skip to main content
Glama
CLAUDE.md2.25 kB
You have a .asana folder, with numbered entries for your todo list, progress and implementation documentation. YOU MUST check this, and keep it updated as you work. ``` 01-todo.md # Detailed todo list 02-progress.md # Progress report ``` ## Project Management - Use `uv` for Python package management and running tools (NEVER pip) - Add packages: `uv add package_name` - Remove packages: `uv remove package_name` - Running Python tools: `uv run <tool>` - Run single test: `uv run pytest tests/path_to_test.py::TestClass::test_method -v` - Type checking: `uv run pyright .` - Linting: `uv run ruff check .` - Run formatter: `uv run ruff format .` - Async testing: use anyio, not asyncio ## Code Style - Use type hints for function signatures - Functions must be small and focused - Error handling: Use try/except with specific exceptions - Document functions with docstrings (include "why" not just "what") - Use f-strings for string formatting - Max line length: 88 characters - Program in the spirit of A Philosophy of Software Design by John Ousterhout. - Explicit None checks for Optional types - YOU MUST add regression tests when your encounter a bug. This should be the first thing you do when you are told about a bug. ### Coding Guidelines * **Testing:** * Write code that is easy to test. * Tests are an integral part of the development process. * Start with failing tests and then write code to make them pass (Test-Driven Development principles). * Unit tests should be next to the functionality they test. So in the src/blog/main.py file. * Integration tests should be placed in the tests directory. * AVOID mocks, unless they are requested. * **Performance:** * Optimize for readability first. * Performance optimization should only be considered when explicitly required or requested. * **Iterative Development:** * Start with the minimum viable solution. * Continuously question if a feature or solution is truly necessary. * Build incrementally based on actual needs, not hypothetical future requirements. * **Type Annotations:** Type annotations are **required** in our codebase. This helps with code readability, maintainability, and early error detection.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/samefarrar/mcp-ankiconnect'

If you have feedback or need assistance with the MCP directory API, please join our Discord server