Which Files to Share
When you use a chat-style AI tool, you have to paste the right files in for the model to do useful work. Too few files and it's guessing; too many and you burn context on irrelevant code. This page tells you exactly which files to share for common customization tasks.
If you're using an agent-style tool (Claude Code, Cursor, Windsurf), you mostly don't need this page — the tool reads the repo itself. Skip to Example Modifications.
The universal rule
Always start with CLAUDE.md. It's the repo's configuration
file for AI tools. Without it, every suggestion starts from
generic-web-app assumptions instead of ARK-specific ones.
After CLAUDE.md, share the files that the task actually touches.
Use the per-product maps below to figure out what those are.
Reading the file maps
Each product's README.md has a "File Map" table that covers the full repo. The tables here are a simplified view oriented around tasks — "I want to do X, which files matter?"
For the complete per-file reference, open README.md in your
product repo and use that.
Track (CRM) — task-to-file map
Change branding (colors, fonts, logo)
src/theme.css— design tokenspublic/logo.svg— the logosrc/components/Brand.tsx— the wordmark componenttailwind.config.ts— if you're adding new Tailwind colors
Add a field to contacts or companies
supabase/schema.sql— to see the current column list (don't edit, but share for context)supabase/migrations/— you'll add a new migration heresrc/features/contacts/ContactForm.tsxsrc/features/contacts/ContactDetail.tsxsrc/features/contacts/types.ts
For companies: replace contacts/ with companies/ throughout.
Change board or stage behavior
src/features/boards/— entire directorysrc/features/boards/stage-colors.ts— stage color definitionssrc/features/deals/DealCard.tsx— how deals render on the boardsupabase/schema.sql— theboards,stages,dealstables
Add a new automation action
src/features/automations/actions.ts— action registrysrc/features/automations/action-forms/— UI forms per actionsupabase/functions/track-automation-runner/— the runner Edge FunctionCLAUDE.md— automation conventions are called out here
Add an integration (Slack, webhook, etc.)
src/features/integrations/— existing integration patternssupabase/functions/— outbound calls usually go through an Edge Function for secret safetysrc/lib/notify.ts— if you're adding a notification channel, follow this pattern
Rename or relabel UI text
src/i18n/strings.ts— centralized display labels- No migration needed — labels are UI-only
Comms — task-to-file map
Change branding or theme
src/theme.csspublic/logo.svgsrc/components/Brand.tsx
Add a message type
src/features/messages/types.tssrc/features/messages/MessageRenderer.tsx— dispatches on typesupabase/schema.sql—messagestable schemasupabase/migrations/— new column if you're adding one
Modify channel permissions
src/features/channels/permissions.tssupabase/schema.sql—channel_membersRLS policiesCLAUDE.md— permission conventions
Add a notification trigger
src/features/notifications/triggers.tssupabase/functions/comms-notify/— the notification sendersrc/lib/notify.ts
Customize the Docs View (Ink integration)
src/features/docs-view/— entire directory- Requires Ink's schema to be present (see multi-product setup)
Customize the Tasks View (Track integration)
src/features/tasks-view/— entire directory- Requires Track's schema to be present
Pulse (Standups) — task-to-file map
Change branding or theme
src/theme.csspublic/logo.svg
Change standup question logic
src/features/standups/questions.tssrc/features/standups/StandupForm.tsxsupabase/schema.sql—standup_questionstable
Modify the Slack integration
src/features/integrations/slack/— entire directorysupabase/functions/pulse-slack-webhook/- Environment:
SLACK_*keys in Vercel
Add a new poll type
src/features/polls/types.tssrc/features/polls/PollRenderer.tsxsrc/features/polls/PollForm.tsxsupabase/schema.sql—polls,poll_optionstables
Customize reminder timing
src/features/reminders/supabase/functions/pulse-reminder-sender/— the cron job that sends reminders
Ink (Documents) — task-to-file map
Change branding or theme
src/theme.csspublic/logo.svg
Add a block type to the editor
src/features/editor/blocks/— existing block implementationssrc/features/editor/BlockRegistry.tssrc/features/editor/Editor.tsx— the Tiptap/Slate-based editorsupabase/schema.sql—blockstable (content is JSONB)
Change sharing or permissions
src/features/sharing/supabase/schema.sql—space_members,document_sharesRLSCLAUDE.md— sharing rules are called out
Customize the tag / organization UI
src/features/tags/src/features/documents/DocumentSidebar.tsx
Add a document template
src/features/templates/src/features/templates/registry.ts
Cross-product: shared files
Every ARK product includes these. When a task affects them, share the ARK product's version, not any other product's.
| File | What it does |
|---|---|
CLAUDE.md | AI conventions and guardrails |
README.md | Human-facing file map and quickstart |
src/lib/supabase.js (or .ts) | Supabase client — rarely needs edits |
src/lib/license.js | License validation — don't edit |
src/theme.css | Design tokens |
src/App.tsx (or equivalent) | App root, routing, providers |
supabase/schema.sql | Full schema — share for context, edit via migrations |
package.json | Dependencies and scripts |
.env.example | The env var template |
When in doubt, share less
It's tempting to paste the whole repo in. Don't. Large, irrelevant file dumps dilute the model's attention and produce worse answers.
A good rule of thumb:
- 1–3 files: for targeted changes (a single bug fix, a styling tweak, adding one column)
- 4–7 files: for small features (new field end-to-end)
- 8+ files: you're probably describing the task too broadly — split it into sub-tasks
If the model says "I need to see X to answer correctly," paste X. If it doesn't ask, assume what you gave was enough.
Using the README file maps directly
Every product's README.md in the repo has a more detailed file
map than this page. If a task falls outside the common categories
above:
- Open
README.mdin the product repo. - Find the "File Map" or "Project Structure" section.
- Identify the directory most related to your task.
- Share every file in that directory (or enough to cover the change).
- Also share
CLAUDE.mdand any file the first set of files imports from heavily.
Where to go next
- Example Modifications — walkthroughs with explicit file lists for each example
- Best Practices — prompting habits for getting reliable output