# Overview

URL: https://developers.uidu.org/docs

> Build websites, server integrations and custom apps on the uidu platform.

The uidu SDK gives you typed access to everything a uidu workspace holds — its CMS, forms, events,
contacts, people, goals and more — from TypeScript, React and the terminal.

## What are you building?

<Card title="A public website" href="https://developers.uidu.org/docs/paths/public-website.md">
  A site, blog, careers page or event listing rendered from uidu, with forms that write back.
  Public token for reads, a server action for writes.
</Card>

<Card title="A server integration" href="https://developers.uidu.org/docs/paths/server-integration.md">
  An internal dashboard, a sync job, a provisioning script — reading and writing the workspace's
  private data from a server you control.
</Card>

<Card title="An app inside uidu" href="https://developers.uidu.org/docs/paths/custom-app.md">
  An app members open inside a uidu Space. It acts as the signed-in member, with no token to
  configure, and keeps its own data in Models.
</Card>

Each path is a step-by-step guide. The rest of the docs back it up:
[Foundations](https://developers.uidu.org/docs/foundations/authentication.md) explain what applies everywhere (authentication,
the data model, writes, errors), the **Domains** pages cover one area of uidu each, and
[Reference](https://developers.uidu.org/docs/reference/client.md) lists every export.

## With an AI assistant

Every page has a Markdown version — add `.md` to its URL, or use **Copy Markdown** / **Open in
Claude** at the top of the page. For an agent working on your code:

* [`/llms.txt`](/llms.txt) — the index of these docs, one line per page, linking the Markdown versions.
* [`/llms-full.txt`](/llms-full.txt) — every page in one file.
* [`/sdk-manifest.json`](/sdk-manifest.json) — every export of the SDK with its domain, auth,
  signature and CLI command, generated from the source.
* **`https://developers.uidu.org/mcp`** — the same docs as MCP tools (search, read a page, look up a
  function). See [Docs MCP server](https://developers.uidu.org/docs/tools/docs-mcp.md) to connect Claude, ChatGPT or Cursor.

## Packages

| Package            | What it is                                                                              | Reference                                           |
| ------------------ | --------------------------------------------------------------------------------------- | --------------------------------------------------- |
| `@uidu/client`     | Typed GraphQL client. Framework-agnostic, server-first, no React dependency.            | 177 exports — [reference](https://developers.uidu.org/docs/reference/client.md)   |
| `@uidu/react`      | React provider, hooks and components on top of @uidu/client.                            | 14 exports — [reference](https://developers.uidu.org/docs/reference/react.md)     |
| `@uidu/app-bridge` | The browser half of a custom app running inside uidu: handshake + session token.        | 8 exports — [reference](https://developers.uidu.org/docs/reference/app-bridge.md) |
| `@uidu/cli`        | The `uidu` command: read and author a workspace from the terminal, built for AI agents. | 32 entities — [commands](https://developers.uidu.org/docs/tools/cli/commands.md)  |
| `create-uidu-app`  | Scaffolds a new uidu-powered app.                                                       | `npx create-uidu-app`                               |
| `@uidu/skills`     | Agent skills (Claude Code, Cursor…) for building on uidu.                               | `npx skills add uidu-org/api.js`                    |

## What the SDK covers

Every domain `@uidu/client` can read or write, generated from the source. Each links to its guide;
the [client reference](https://developers.uidu.org/docs/reference/client.md) lists every function with its auth and CLI command.
What the platform can do that the SDK doesn't cover yet is on the [Roadmap](https://developers.uidu.org/docs/reference/roadmap.md).

* [Client & utilities](https://developers.uidu.org/docs/foundations/data-model.md) — `createClient`, `fromBridge`, `normalizeFieldValueContent`, `normalizeFieldValuesAttributes`, `paginate`
* [CMS — Sites](https://developers.uidu.org/docs/domains/cms.md) · CLI: `sites` — `createSite`, `getPageBySlug`, `getSingletonBlock`, `getSite`, `getSiteByDomain`, `listSitePages`
* [CMS — Projects (legacy)](https://developers.uidu.org/docs/domains/cms.md) · CLI: `projects` — `createFieldValue`, `createPage`, `createPageBlock`, `createProject`, `getPage`, `getTemplate`, `listPages`, `listProjects`
* [Stories](https://developers.uidu.org/docs/domains/stories.md) · CLI: `stories` — `createStory`, `getStory`, `listStories`, `updateStory`
* [Help center](https://developers.uidu.org/docs/domains/help-center.md) · CLI: `channel` — `createChannel`, `deleteChannel`, `getChannel`, `listChannels`, `updateChannel`
* [Knowledge base](https://developers.uidu.org/docs/domains/kb.md) · CLI: `kb-collections`, `kb-articles` — `createKbArticle`, `createKbCollection`, `deleteKbArticle`, `deleteKbCollection`, `getKbArticle`, `getKbCollection`, `listKbArticles`, `listKbCollections`, `updateKbArticle`, `updateKbCollection`
* [Search](https://developers.uidu.org/docs/domains/search.md) — `search`
* [Forms](https://developers.uidu.org/docs/domains/forms.md) · CLI: `forms` — `createForm`, `createFormResponse`, `deleteForm`, `getForm`, `listForms`, `updateForm`, `updateFormResponse`
* [Events](https://developers.uidu.org/docs/domains/events.md) · CLI: `events`, `attendances` — `createAttendance`, `createEvent`, `getEvent`, `listEvents`, `updateEvent`
* [Donations](https://developers.uidu.org/docs/domains/donations.md) · CLI: `donations` — `createDonation`, `createDonationCampaign`, `deleteDonationCampaign`, `getDonationCampaign`, `listDonationCampaigns`, `updateDonationCampaign`
* [Courses](https://developers.uidu.org/docs/domains/courses.md) · CLI: `courses` — `createCourse`, `deleteCourse`, `getCourse`, `getEnrollment`, `getLecture`, `listCourses`, `listEnrollments`, `listLectures`, `updateCourse`
* [Calls](https://developers.uidu.org/docs/domains/calls.md) · CLI: `calls` — `getCall`, `listCalls`
* [Jobs & applications](https://developers.uidu.org/docs/domains/jobs.md) · CLI: `jobs`, `applications` — `completeApplication`, `createApplication`, `getJob`, `listApplications`, `listJobs`, `updateApplication`
* [Contacts & deals](https://developers.uidu.org/docs/domains/contacts.md) · reads need Bearer · CLI: `contacts`, `deals` — `createContact`, `createDeal`, `deleteContact`, `getContact`, `getDeal`, `listContacts`, `listDeals`, `updateDeal`
* [Campaigns](https://developers.uidu.org/docs/domains/campaigns.md) · reads need Bearer · CLI: `campaigns` — `getCampaign`, `listCampaigns`, `listEmailCampaigns`
* [People (HR)](https://developers.uidu.org/docs/domains/people.md) · reads need Bearer · CLI: `employees`, `employments`, `offices`, `roles`, `ccnls`, `time-clocks`, `compensations`, `benefits`, `benefit-enrollments` — `contractEvents`, `createBenefit`, `createBenefitEnrollment`, `createCcnl`, `createCompensation`, `createEmployee`, `createEmployment`, `createTimeClock`, `deleteCompensation`, `deleteEmployment`, `getEmployee`, `listCcnls`, `listCircles`, `listEmployees`, `listEmploymentHistory`, `listKinds`, `listOffices`, `listRoles`, `terminateEmployment`, `updateCompensation`, `updateEmployee`, `updateEmployment`, `weekStartFor`
* [Goals (OKRs)](https://developers.uidu.org/docs/domains/goals.md) · reads need Bearer · CLI: `goals`, `timeframes` — `getGoal`, `goalProgress`, `goalTimeElapsed`, `goalValue`, `isGoalBehind`, `listGoals`, `listTimeframes`, `toGoalRaw`, `updateGoal`
* [Spaces, tasks & notes](https://developers.uidu.org/docs/domains/workspace.md) · CLI: `tasks`, `notes`, `spaces` — `createNote`, `createSpace`, `createTask`, `deleteNote`, `deleteSpace`, `deleteTask`, `updateNote`, `updateSpace`, `updateTask`
* [Bookings & calendars](https://developers.uidu.org/docs/domains/bookings.md) · reads need Bearer · CLI: `bookings` — `getBooking`, `getCalendar`, `getCalendarEvent`, `listBookings`, `listCalendarEvents`, `listCalendars`
* [Models (custom data)](https://developers.uidu.org/docs/domains/models.md) · reads need Bearer — `createField`, `createFieldOption`, `createModel`, `createModelItem`, `deleteField`, `deleteFieldOption`, `deleteFieldValue`, `deleteModelItem`, `ensureModel`, `getModel`, `getModelItem`, `listModelItems`, `listModels`, `toFieldValuesAttributes`, `updateField`, `updateFieldOption`, `updateFieldValue`, `updateModel`, `updateModelItem`
* [Provisioning & actions](https://developers.uidu.org/docs/foundations/writes.md) — `createWorkspace`, `executeAction`, `generateWorkspaceApiCredentials`
