Commit Graph

6 Commits

Author SHA1 Message Date
bea 84c5bdd90e refactor: modularize codebase — Step 0 structural refactoring
Extract monolithic index.ts (~600 lines) into focused modules:
- src/types.ts — shared TypeScript interfaces (FileMetadata, QuotaInfo, etc.)
- src/utils.ts — path, mime detection, formatting helpers
- src/client.ts — NextcloudClient wrapping axios with WebDAV primitives
- src/webdav.ts — XML builders + parsers (scaffolding for file tools)
- src/tools/index.ts — ToolModule interface + auto registry
- src/tools/calendar.ts — extracted calendar tools
- src/tools/tasks.ts — extracted task tools
- src/tools/notes.ts — extracted note tools
- src/tools/email.ts — extracted email tools
- src/tools/files.ts — empty scaffolding for upcoming file management tools

src/index.ts reduced to ~50 lines: config, client instantiation, module registration, MCP setup.

Zero regression on existing tools. Verified: list_calendars, get_notes, create_note, get_note_content all functional.
2026-05-11 13:43:36 +02:00
bea d308d8375e Add ncmcp.mjs CLI wrapper 2026-05-11 02:38:22 +02:00
bea dd32492831 fix build 2026-03-09 17:03:25 +01:00
bea f114308447 update caldav 2026-03-09 16:57:33 +01:00
Jules Grinnell 7da30ae044 Clean git move from play 2025-11-23 16:44:05 +01:00
Jules f0331de014 Initial commit 2025-11-23 16:35:57 +01:00