CLAUDE.md · genspark-ai/genoffice
CLAUDE.md from genspark-ai/genoffice: 61 lines covering Theming rules (mandatory), Build gotchas, UI strings (i18n).
Template by genspark-ai
Chalk Labs
Need help deploying CLAUDE.md · genspark-ai/genoffice?
Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.
Install
Works with Claude Code. Read the repository before you give any tool access to your data.
curl -fsSL https://raw.githubusercontent.com/genspark-ai/genoffice/main/CLAUDE.md -o CLAUDE.md
Read it and adapt it to your project before use.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: prompt-engineering
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
What's in it
A CLAUDE.md file: project memory Claude Code loads at the start of every session.
- For
- Claude Code
- Length
- 61 lines
- File
CLAUDE.md
Sections
- Theming rules (mandatory)
- Build gotchas
- UI strings (i18n)
First lines (shown under the repo's Apache-2.0 license)
# CLAUDE.md Guidance for AI agents and human contributors working in this repo. ## Theming rules (mandatory) The suite supports light / dark / system UI themes. The switching mechanism is a `data-theme` attribute on `<html>` plus CSS custom properties defined once in `packages/ui/src/tokens.css` (light defaults in `:root`, overrides in `[data-theme='dark']`, and a `prefers-color-scheme` media-query fallback for system mode). 1. **UI chrome colors must use semantic tokens.** Never write raw `#hex` / `rgb()` in renderer CSS rules or chrome-related inline styles — reference `var(--surface)`, `var(--text)`, `var(--hover)`, etc. from `packages/ui/src/tokens.css`. Raw values are allowed only on custom-property definition lines (`--x: #...;` — token, accent, or app-scoped variable definitions). CI enforces this for new/changed renderer CSS lines (`tools/check-theme-colors.mjs`). 2. **Every new token gets both values.** Adding a token means adding it to all three blocks in `tokens.css` (light, dark, system-dark fallback). 3. **Accent colors stay per-app.** Each app defines `--accent` / `--accent-dark` / `--accent-soft` (and its dark-adjusted values) in its own `styles.css`. Shared rules reference `var(--accent)` and inherit the app's brand color. 4. **Document content is never re-authored by the theme.** Page surfaces, cell fills, slide content, PDF page bitmaps, export/print stylesheets, chart palettes, highlight color maps, stamps, and WordArt presets are document data: they stay hardcoded, must not reference chrome tokens, and every save/export/print path must produce identical output in both themes. A Word/Excel-style _dark page_ (Sheets via Univer's `darkMode`, Docs via `apps/docs/src/renderer/editor/dark-page.ts`) is a display-time remap only: the authored color stays the real declaration, the remapped twin lives in a screen-only `--dk-*` / `.page-dark` layer, and print/export never see it. 5. **Canvas-drawn UI affordances go through a constants table.** Konva/canvas editing chrome (selection frames, guides, handles) reads from the app's canvas color table (e.g. `canvas-colors.ts`) keyed by the current theme — no inline hex in draw calls. ## Build gotchas - App main-process code (`apps/*/src/main`) is compiled into the **shell** build. After changing it, rebuild the shell or the change silently does not run. - In dev mode, preload changes require a rebuild — a stale preload leaves the renderer blank. - Workspace packages listed in an app's `dependencies` must also be added to the `externalizeDepsPlugin` `exclude` list, or the packaged app crashes on launch. - `useI18n()`'s `t` is not referentially stable; never put it in a hook dependency array. Store the key and translate at render time. ## UI strings (i18n) - Large dictionaries are sharded per locale: `i18n/strings-<domain>.ts` is a thin aggregator over `i18n/<domain>/<lang>.ts` (one file per language, `zh` defines the key set). Add a new key to `zh.ts` and to every sibling shard; the `satisfies Record<keyof typeof zh, string>` on each shard turns a missing or extra key into a type error. Never grow the aggregator back into a single 19-locale object.
Signals
- Stars
- 10,724
- Forks
- 1,440
- Open issues
- 65
- Last commit (this folder)
- Sep 6, 2026 (1 month ago)
- Last release
- Oct 22, 2026 (8 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- Apache-2.0
- Repository
- github.com/genspark-ai/genoffice
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
Done for you
Rather not set it up yourself?
Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.
See how we build AI agents →Read the case studies
Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.
- launches shipped
- 50+
- launches shipped
- media placements
- 500+
- media placements
- founders on every account
- 2
- founders on every account
Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block
Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.
Get CLAUDE.md · genspark-ai/genoffice running in your business
Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.
Cite this page
CLAUDE.md · genspark-ai/genoffice. Agent Mart. https://agentmart.dev/templates/genspark-ai-genoffice-claude-md (last updated 2026-10-24)