diff --git a/.claude/settings.json.example b/.claude/settings.json.example new file mode 100644 index 000000000..114989534 --- /dev/null +++ b/.claude/settings.json.example @@ -0,0 +1,19 @@ +{ + "permissions": { + "allow": [], + "deny": [] + }, + "env": { + "__comment": "Environment variables for MCP servers. Override in .claude/settings.local.json with actual values.", + "GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" + }, + "enabledMcpjsonServers": [ + "context7", + "sequential-thinking", + "github", + "fetch", + "playwright", + "ide" + ], + "enableAllProjectMcpServers": true + } \ No newline at end of file diff --git a/.mcp.json b/.mcp.json new file mode 100644 index 000000000..8eceaf9ea --- /dev/null +++ b/.mcp.json @@ -0,0 +1,34 @@ +{ + "mcpServers": { + "context7": { + "type": "http", + "url": "https://mcp.context7.com/mcp" + }, + "sequential-thinking": { + "type": "stdio", + "command": "npx", + "args": ["-y", "@modelcontextprotocol/server-sequential-thinking"], + "env": {} + }, + "github": { + "type": "stdio", + "command": "npx", + "args": ["-y", "@modelcontextprotocol/server-github"], + "env": { + "GITHUB_PERSONAL_ACCESS_TOKEN": "${GITHUB_PERSONAL_ACCESS_TOKEN}" + } + }, + "fetch": { + "type": "stdio", + "command": "uvx", + "args": ["mcp-server-fetch"], + "env": {} + }, + "playwright": { + "type": "stdio", + "command": "npx", + "args": ["-y", "@playwright/mcp@latest"], + "env": {} + } + } + } \ No newline at end of file diff --git a/CLAUDE.md b/CLAUDE.md index fd437d7bf..1b649ca9a 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -86,3 +86,4 @@ pnpm test # Run Jest tests ## Project-Specific Conventions - All async tasks use Celery with Redis as broker +- **Internationalization**: Frontend supports multiple languages with English (`web/i18n/en-US/`) as the source. All user-facing text must use i18n keys, no hardcoded strings. Edit corresponding module files in `en-US/` directory for translations.