Commit Graph

5 Commits

Author SHA1 Message Date
Space-Banane 1b6f8b5ac4 fix: add packageManager field for pnpm/action-setup@v6
CI / Build & Test (push) Failing after 8s
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-17 22:47:31 +02:00
Space-Banane 75ecb6232c ci: add Gitea Actions workflow and unit tests
CI / Build & Test (push) Failing after 5s
- Add .gitea/workflows/ci.yml: runs build + tests on push/PR to main
- Add vitest as dev dependency
- Add src/utils.test.ts: 4 tests covering handleTool success, Error throw,
  non-Error throw, and arg passthrough
- Add src/client.test.ts: 12 tests covering URL building, Authorization header,
  query string params, Content-Type presence/absence, error handling with
  message extraction and statusText fallback, and HTTP method correctness

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-17 22:09:54 +02:00
Space-Banane a1d47d4819 fix: apply all A-J improvements across MCP server
- A: fix get_user_profile URL (/api/user/profile → /api/users/:username)
- B: fix unban_user to use DELETE /api/mod/users/:id/ban (was POST .../unban)
- C: add check_duplicates tool (GET /api/news/:id/check-duplicates)
- D: add shadowban_user tool (PATCH /api/mod/users/:id/shadowban)
- E: add create_mod_user tool (POST /api/mod/users)
- F: extract handleTool helper in utils.ts; all 37 tools now use it for
     consistent isError:true error responses visible to the AI model
- G: only send Content-Type header when request has a body
- H: support BETTERNEWS_BASE_URL env var for local dev overrides
- I: fix get_news_item_stats description (accessible by own author, not Mod/Admin only)
- J: add .describe() to page/limit/status params in list_all_tickets and list_my_tickets

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-17 22:07:21 +02:00
Space-Banane 81ac5973e6 docs: update README to include installation instructions for AI agent 2026-06-17 21:43:56 +02:00
Space-Banane 6c0a079808 feat: initialize BetterNews MCP server with core functionality
- Add .gitignore to exclude node_modules, dist, and .env files
- Create README.md with setup instructions and API key information
- Add package.json with dependencies, scripts, and project metadata
- Implement BetterNewsClient for API interactions
- Set up index.ts to initialize MCP server and register tools
- Create tools for managing news, comments, sources, users, moderation, and tickets
- Add TypeScript configuration for project compilation
2026-06-17 21:30:52 +02:00