Files
go-onlyoffice/AGENTS.md
T
eSlider 43e385ce9d feat: merge oo-cli and extend library with Calendar/CRM/subtasks/files
- Add Calendar helpers (ListCalendars/ListEvents/AddEvent/DeleteEvent)
- Add CRM helpers: contacts, opportunities, cases, CRM tasks, history notes
- Add project-task extras (ListTasks/ListAllTasks/GetTaskByID/AddTask/
  AddSubtask/UpdateTaskStatus/DeleteTask, GetProjectByID)
- Add UploadOpportunityFile (multipart) and SelfUserID caching
- Introduce Defaults struct, SetDefaults, GetEnvironmentDefaults;
  GetEnvironmentCredentials now accepts ONLYOFFICE_HOST/NAME/PASSWORD aliases
- Add public Authenticate() helper that eagerly primes the token
- Bundle Cobra CLI at cmd/oo-cli with full command surface
  (calendar, tasks, subtasks, CRM, applications-sync); CLI-only deps
  (cobra, godotenv) kept out of the library surface
- Add httptest-based unit tests for form/multipart helpers
- Docs: CHANGELOG, AGENTS, .env.example, README updates for v0.3 features

Consolidates the standalone eSlider/oo-cli tool into this canonical Go
module (see eSlider/inventar ASR-0008).

Made-with: Cursor
2026-04-24 11:30:11 +01:00

1.5 KiB

AGENTS — go-onlyoffice

Canonical Go client for OnlyOffice Workspace (Projects + Calendar + CRM) and the oo-cli command.

Topology

  • Library (root package onlyoffice) — onlyoffice.go, httpx.go, calendar.go, crm.go, tasks_extra.go, files.go. Pure stdlib + google/go-querystring; no UI, no dotenv.
  • CLI (cmd/oo-cli + internal/cli) — Cobra wrapper that loads .env via godotenv at startup. CLI-only deps (spf13/cobra, joho/godotenv) must stay out of the library surface.
  • Applications sync (internal/applications) — README/CRM bridge, consumes the library.

Rules

  • Library must never call godotenv.Load() — the CLI does that.
  • New endpoints go into the library first; CLI commands are thin wrappers.
  • No secrets in the repo; use .env (gitignored). Commit .env.example only.
  • Prefer httptest-based unit tests (see httpx_test.go); integration tests (client_test.go) auto-skip without ONLYOFFICE_URL.
  • Follow SemVer on tags; this repo is tagged at GitHub under git@github.com:eSlider/go-onlyoffice.git.