Skip to content

CRED Way of Working โ€” Meta SOP

Version: 1.0 ยท February 2026
Owner: Tom Dwyer
Applies to: Everyone โ€” read this once before reading your role doc

Resources


The Four Mindset Shifts

These are not suggestions. If you find yourself working against any of these, stop.

1. Everyone Is Full-Stack. Full Stop.

There are no front-end engineers. No back-end engineers. No "I don't do that" engineers. Everyone builds the full feature โ€” UI, API, database โ€” end to end.

AI handles the parts you don't know. If you're stuck on something outside your comfort zone, the answer is ask Cursor, not hand it off. The only specialist roles are DE and DS โ€” data engineering and data science require domain expertise that genuinely can't be agentic-coded away. Everything else is fair game.

2. No Figma Unless Cursor Can't Build It First.

Figma is not a starting point. It is a last resort for net-new components that don't exist in Storybook and cannot be achieved by iterating with Claude.

Claude first โ†’ iterate โ†’ if genuinely blocked โ†’ then Figma.

Opening Figma before trying Claude means handoffs, review cycles, and re-implementation. Build it. Iterate it. Escalate to Figma only when you're truly stuck.

3. No Human Publishes AI Slop.

No AI-generated content meant for another human to consume gets published without manual review. Tickets, docs, PRs, Slack messages โ€” if a human will read it, a human must review it first. Read it. Trim the filler. Sharpen the language. If it reads like a machine wrote it, rewrite it until it doesn't.

4. GitHub Is the System of Record. Fix First, Document After.

Do not write documentation before you have working code. Do not create tickets for problems you can fix right now.

Fix it, then record it if it matters.

GitHub history, merged PRs, and Linear are the record of what happened. A spec that exists before the code is a story you told yourself. Build the thing. Documentation follows.


How We Work

Kanban, Not Sprints

There are no sprints. Every developer has a personal backlog managed by their PM. You pick up the next highest-priority item, work it to completion, and move on. This is a Kanban-style workflow โ€” continuous flow, not time-boxed iterations.

Pods

Work is organised into pods. Each pod has a PM, engineers, and shared access to Design and QA. Your PM runs daily/bi-weekly pod calls to keep work moving, unblock issues, and reprioritise as needed.

Merge Often, Merge Small

To prevent complex conflicts, merge smaller PRs frequently. Every merge should be protected by a feature flag so incomplete work never reaches customers. Large, long-lived branches are the enemy โ€” break work into the smallest mergeable unit and ship it behind a flag.

Deployment Cadence

Merges to the develop branch stop on Fridays. Monday to Wednesday is dedicated QA testing on a stable staging environment. Production deploys happen on Wednesday after QA sign-off. This creates a buffer to catch regressions before they hit customers.

Always Use the Top-Performing Model

Use the highest-ranked model for web development as measured by the Code Arena Leaderboard. At the time of writing, this is Claude Opus 4.6.

Check the leaderboard periodically โ€” the top model changes. Always configure Cursor to use whatever is currently #1 for code/web development. Using a weaker model when a better one is available means slower work and worse output.


Architecture Primer

The Five Repos

Repo What It Is Language
cred-web-commercial Product UI โ€” what customers see React / TypeScript
cred-api-commercial Customer-facing GraphQL API. User data, accounts, collections, Salesforce Node.js / GraphQL
cred-model-api CRED data GraphQL API. Enrichment data โ€” companies, people, brand interactions, scoring Node.js / GraphQL
cred-dbt Data transformation layer. BigQuery tables that feed cred-model-api via Postgres SQL / dbt
cred-wiki Internal architecture documentation. Always open in your Cursor workspace. Markdown

Commercial vs Model โ€” The Simple Rule

Commercial = customer data. User accounts, workspace settings, collections, Salesforce, transcripts.
Model = our data. CRED's enrichment pipeline โ€” companies, people, LinkedIn signals, brand interactions, scoring.

How Data Flows

Enrichment (CRED data):
  Sources โ†’ BigQuery (raw) โ†’ dbt (transform) โ†’ Postgres sync โ†’ cred-model-api โ”€โ”€โ”
                                                                                  โ”œโ†’ Supergraph API โ†’ cred-web-commercial
Commercial (customer data):                                                       โ”‚
  Postgres โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ†’ cred-api-commercial โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

cred-web-commercial talks to the Supergraph API (api.credplatform.com/graphql), which federates both cred-model-api and cred-api-commercial into a single GraphQL endpoint. The front-end never calls the sub-APIs directly.

When to Involve DE / DS

New data pipelines, external source integrations, scoring model changes, or significant BigQuery restructuring. Flag to Tom before any BE work in these areas.


Prerequisites โ€” Do This Before Anything Else

Complete every item below before your first piece of certified work.

1. Clone All Five Repos

git clone git@github.com:credinvest/cred-web-commercial.git
git clone git@github.com:credinvest/cred-api-commercial.git
git clone git@github.com:credinvest/cred-model-api.git
git clone git@github.com:credinvest/cred-dbt.git
git clone git@github.com:credinvest/cred-wiki.git

Open all five as a Cursor Workspace (File โ†’ Add Folder to Workspace for each). cred-wiki must be in every session โ€” this is not optional.

Using Git Worktrees

Use git worktrees to run localhost on multiple branches simultaneously. This lets you compare branches, test a feature while reviewing another PR, or keep develop running while building on a feature branch.

# Create a worktree for a branch (from inside any repo)
git worktree add ../web-commercial-feature-branch feature/my-feature

# List active worktrees
git worktree list

# Remove a worktree when done
git worktree remove ../web-commercial-feature-branch

Each worktree is a separate folder with its own branch checked out. Open each in its own Cursor window and run localhost on different ports to compare side by side.

2. Install Local Tools

Tool Purpose Install
Cursor AI IDE โ€” primary coding environment cursor.sh
Docker Desktop Required for cred-api-commercial and cred-model-api locally docker.com
DB Beaver (Community) Postgres desktop client dbeaver.io
1Password Secrets management โ€” .env files, DB credentials, 2FA Team signup
Node.js (LTS) Required for cred-web-commercial nodejs.org

3. Configure .env Files โ€” Every Repo

Every repo requires a correctly populated .env at its root. This is the most common reason local environments fail.

  1. 1Password โ†’ search repo name โ†’ download .env โ†’ place in repo root
  2. If download fails: ask Alex to share in Slack, copy it, ask Alex to delete the message immediately
  3. Verify every key variable is non-empty before starting the server
Repo Variables to Check
cred-model-api API_TOKEN, Postgres host/port/password, Elasticsearch node
cred-api-commercial Database connection string, Salesforce credentials
cred-web-commercial API endpoint URLs (cred-model-api + cred-api-commercial)
cred-dbt BigQuery project ID and credentials

Never commit .env files to GitHub. They are in .gitignore โ€” do not override this.

4. Install MCPs in Cursor

Open Cursor Settings โ†’ MCP and install and enable the following:

MCP Purpose Enable State
bigquery Agent reads schemas, runs SQL, creates jobs Enabled โ€” 9 tools
dbt Agent triggers builds, checks status, switches branches Enabled โ€” 46 tools. โš ๏ธ Select BigQuery model project only during auth
figma Agent reads component specs Installed โ€” disable during BE-only work
gcloud Agent runs GCP jobs directly Enabled โ€” 1 tool
gcp-observability Agent reads workflow logs and execution status Enabled โ€” 13 tools
gcp-storage Agent reads GCP storage and job config Enabled โ€” 17 tools
github Agent reads PRs, fixes conflicts, opens PRs Enabled โ€” 40 tools, 2 prompts
linear Agent creates and updates tickets Enabled โ€” 39 tools
vercel Agent reads build/deploy errors Enabled โ€” 12 tools, 12 prompts
circleci Agent reads CI pipeline status, build logs, and test results Enabled

โš ๏ธ GCP permissions required first: Text Alex with your Google email and ask for Cloud Workflows Viewer + Cloud Scheduler Job Runner before your first session.

Tool limit: If Cursor complains about too many tools, disable MCPs not in use. Expected behaviour.

5. Install Cursor Skills

Add the following skills to Cursor so the agent has the right context for design and product work. Run this prompt in Cursor:

/create-skill Help me create this skill for Cursor: 
@frontend-design-SKILL.md @product-self-knowledge-SKILL.md
Skill Purpose
frontend-design Generates distinctive, production-grade frontend interfaces that avoid generic AI aesthetics. Covers typography, colour, motion, spatial composition, and visual details.
product-self-knowledge Ensures accurate answers about Anthropic products (Claude API, Claude Code, Claude.ai) by routing to official docs instead of guessing.

Download the skill files from 1Password under Cursor Skills and place them in your Downloads folder before running the prompt.

6. DBT Account Setup

Credentials in 1Password under DBT dev account. Log in at cloud.getdbt.com. Use 1Password for 2FA. One person logged in at a time โ€” coordinate with the team.

โš ๏ธ First login requires one-time BigQuery credential linking. Message Alex if you see a credential error.

7. Confirm Permissions

Tool What You Need Who Grants It
GitHub Write access to all five repos Cherry
Linear Member + ability to create issues Cherry
BigQuery BigQuery Data Viewer + BigQuery Job User Alex
GCP Cloud Scheduler Cloud Scheduler Job Runner Alex
GCP Workflows Cloud Workflows Viewer Alex
DBT Cloud Shared dev account (1Password) Cherry
Vercel Member of CRED Investments org Cherry
Figma Member of CRED workspace Cherry
PostHog Member of CRED project Cherry
1Password Self-serve signup Self-serve

8. Certification

Complete the enablement session (planning, FE, BE, API) before working independently. Contact Tom to book.


Role SOPs

Once prerequisites are done, go to your role doc: