Commit Graph
52 Commits
Author SHA1 Message Date
Lucas Winther a5f4dcc2ca feat(tools): add openproject_get_openapi_spec tool definition and registration 2026-09-06 19:56:34 +02:00
Lucas Winther 1039a6aa7a docs(plan): update progress ledger and mark Task 1 complete 2026-09-06 19:49:31 +02:00
Lucas Winther 69f2a95371 fix(openapi): guard suffix matching and add ambient context test 2026-09-06 19:49:13 +02:00
Lucas Winther 25fc2c9057 feat(services): implement OpenAPI specification service and in-memory caching 2026-09-06 19:40:33 +02:00
Lucas Winther 635ac88f5e docs(plan): add OpenAPI tool implementation plan 2026-09-06 19:37:56 +02:00
Lucas Winther 6e166e98b8 docs(spec): add OpenAPI tool design specification 2026-09-06 19:37:04 +02:00
Lucas Winther d9b96862fe docs: record ADR-013 (stdio hygiene) and ADR-014 (OpenAPI discovery) 2026-09-06 19:31:43 +02:00
Lucas Winther fd9697b2b7 docs(plan): update progress ledger and mark Task 4 plan steps complete 2026-09-06 19:23:18 +02:00
Lucas Winther 3d4a064593 refactor(server): add shutdown idempotency guard and test teardown blocks 2026-09-06 19:22:46 +02:00
Lucas Winther f1e84d281a feat(server): wire CLI entrypoint, live E2E tool calling, and mark Task 4 complete in TODO.md 2026-09-06 19:17:40 +02:00
Lucas Winther 8297f97228 docs(plan): update progress ledger and check off Task 3 2026-09-06 19:16:26 +02:00
Lucas Winther 4994b2c8db test(server): clean up read-only manifest filter assertions 2026-09-06 19:16:04 +02:00
Lucas Winther af2a8f3af8 feat(server): add read-only mode enforcement and execution guard tests 2026-09-06 19:14:25 +02:00
Lucas Winther d49e0fc881 feat(server): implement MCP server factory and transport lifecycle 2026-09-06 19:03:09 +02:00
Lucas Winther 3f618b2cf3 feat(tools): add execution wrapper support to tool registration 2026-09-06 18:52:22 +02:00
Lucas Winther 08eff37db0 docs: add design spec and implementation plan for MCP server assembly 2026-09-06 18:40:47 +02:00
Lucas Winther 6b8045111b fix(tools): address final code review findings on validation, concurrency, and testing 2026-09-06 18:37:21 +02:00
Lucas Winther 9bfedf8a8b docs: add OpenAPI support requirement to spec, architecture, and plan 2026-09-06 18:11:58 +02:00
Lucas Winther ebb47eb659 feat(tools): add live container tests and mark Task 3 complete in TODO.md 2026-09-06 18:10:00 +02:00
Lucas Winther 4eb17c2e5c feat(tools): add tool registry and barrel export 2026-09-06 18:04:50 +02:00
Lucas Winther 8cdca0fd83 feat(tools): implement metadata tools and registration 2026-09-06 18:01:43 +02:00
Lucas Winther ff05b48f81 feat(tools): implement query tools and registration 2026-09-06 17:54:42 +02:00
Lucas Winther e3c956f900 docs: record completion of tasks 1-3 in MCP tools plan and TODO.md 2026-09-06 02:21:45 +02:00
Lucas Winther 3910c5548f fix(tools): address review finding on heterogeneous tool registration and McpToolResponse index signature 2026-09-06 02:18:47 +02:00
Lucas Winther d9176a258c feat(tools): implement work package tools and registration 2026-09-06 01:50:58 +02:00
Lucas Winther 8ccbebe34f feat(tools): implement project tools and registration 2026-09-06 01:30:17 +02:00
Lucas Winther 43eeee2e04 fix(tools): address review findings on error codes, registerTool assertions, and strict typing 2026-09-06 01:03:40 +02:00
Lucas Winther bb321bfdbe feat(tools): add common tool utilities, types, and error formatting 2026-09-06 00:48:25 +02:00
Lucas Winther 290d9a2cc9 refactor(client): expose error hierarchy via src/client/errors.ts and add code property 2026-09-06 00:48:04 +02:00
Lucas Winther f8f9ae65a2 docs: add design spec and implementation plan for MCP tools 2026-09-06 00:45:30 +02:00
Lucas Winther a57e8ba7df fix(services): encode URI in getProject and improve test assertions 2026-09-06 00:23:58 +02:00
Lucas Winther ca22a0e109 docs: check off tasks 4-6 in domain services implementation plan 2026-09-06 00:22:20 +02:00
Lucas Winther 78ae79372c feat(services): add live container tests and mark Task 2 complete in TODO.md 2026-09-05 23:12:49 +02:00
Lucas Winther ed38e5b537 fix(services): resolve project identifier in queries/work packages and use results link 2026-09-05 23:12:46 +02:00
Lucas Winther a8e4ce9bc4 feat(services): implement metadata domain service and barrel export 2026-09-05 22:57:31 +02:00
Lucas Winther 8db5a92bc5 feat(services): implement queries domain service 2026-09-05 22:49:18 +02:00
Lucas Winther cbf676007f docs: track completion of tasks 1-3 in domain services plan and TODO.md 2026-09-05 18:22:12 +02:00
Lucas Winther b1348dbea8 feat(services): implement work packages domain service 2026-09-05 18:17:24 +02:00
Lucas Winther 6e0d3faa61 feat(services): implement projects domain service 2026-09-05 17:49:52 +02:00
Lucas Winther c50ab8989c feat(services): implement shared client resolution helper 2026-09-05 17:45:20 +02:00
Lucas Winther 86e60c9f28 chore: ignore .superpowers/ and .worktrees/ directories 2026-09-05 17:43:16 +02:00
Lucas Winther 25677e867d docs(plans): add domain services layer implementation plan 2026-09-05 17:41:52 +02:00
Lucas Winther 091791faef docs(specs): add domain services layer design specification 2026-09-05 17:37:53 +02:00
Lucas Winther f5bff8a81f feat(client): implement OpenProject REST API v3 client layer and context scoping 2026-09-05 17:26:43 +02:00
Lucas Winther 5886419b06 docs: specify request-scoped multi-user architecture and ADR-012
- Add Section 3 in docs/ARCHITECTURE.md detailing multi-user concurrency and RequestContext

- Add ADR-012 in docs/DECISIONS.md establishing RequestContext pattern over global state

- Update AGENTS.md mandating stateless services and context propagation

- Update docs/TODO.md with src/context.ts implementation task
2026-09-05 16:53:42 +02:00
Lucas Winther 7029ca296a docs: add read-only mode specification, architecture, and ADR
- Specify OPENPROJECT_READ_ONLY and --read-only in docs/ARCHITECTURE.md

- Add ADR-011 in docs/DECISIONS.md for tool manifest filtering and execution guards

- Update docs/TODO.md with read-only implementation tasks

- Update README.md, AGENTS.md, and .env.example with read-only configuration reference
2026-09-05 16:50:53 +02:00
Lucas Winther 11a57c25b7 docs: add docs/TODO.md and enforce check-in policy in AGENTS.md
- Track completed work, upcoming Phase 1 tasks, and backlog

- Establish strict agent policy to never proceed automatically without checking in

- Link docs/TODO.md in AGENTS.md and README.md
2026-09-05 16:43:13 +02:00
Lucas Winther 4251c03e42 docs: adapt project guidelines, architecture, and ADRs for Bun
- Update AGENTS.md, CLAUDE.md, and GEMINI.md with Bun workflow rules and bun:test

- Update docs/ARCHITECTURE.md with Bun runtime layer and lockfile

- Add ADR-010 in docs/DECISIONS.md superseding ADR-001 with Bun adoption

- Update README.md with Bun prerequisites, installation, and run instructions
2026-09-05 16:36:00 +02:00
Lucas Winther 003737d927 feat: initialize TypeScript MCP project with Bun
- Configure package.json and tsconfig.json using Bun bundler settings

- Install @modelcontextprotocol/sdk and zod

- Add src/index.ts entry stub and tests/smoke.test.ts using bun:test

- Update .gitignore to exclude .bun/
2026-09-05 16:35:49 +02:00
Lucas Winther 27c7e9a8b9 docs: update README with quickstart and record OpenProject 17 ADR
- Expand README.md with overview, documentation links, docker quickstart, and configuration

- Add ADR-009 in docs/DECISIONS.md documenting decision to target OpenProject 17
2026-09-05 16:32:05 +02:00
Lucas Winther 105a954e54 feat: add OpenProject 17 docker compose stack and test data seeder
- Configure OpenProject 17 with PostgreSQL 17 and Memcached

- Add scripts/seed-test-data.rb for test project, work packages, and API key generation

- Add scripts/seed.sh to orchestrate container health check and seed execution

- Add scripts/start.sh and scripts/stop.sh stack lifecycle helpers

- Provide .env.example with defaults
2026-09-05 16:31:15 +02:00
Lucas Winther e70e329e9d docs: add agent guidelines, architecture specs, and decision records
- Add AGENTS.md defining coding standards, security, and workflows

- Add GEMINI.md and CLAUDE.md referencing AGENTS.md

- Add docs/ARCHITECTURE.md detailing MCP server design and OpenProject API integration

- Add docs/DECISIONS.md with initial ADRs (stack, transport, auth, scoping)

- Add .gitignore for Node.js and secrets protection
2026-09-05 15:39:29 +02:00