Impulse AI Docs
Intern dokumentasjon
skipLink.label

Daglig arbeidsflyt

Denne guiden dekker den daglige arbeidsflyten fra morgensjekk til feature-utvikling, PR-opprettelse og release.

Start hver dag med en rask sjekk av prosjektets tilstand.

Terminal window
# 1. Hent siste endringer
cd ~/GitHub/im
git pull origin main
# 2. Sjekk deploy-status (CI, staging, produksjon)
gh run list --limit 5
# 3. Sjekk at lokale tjenester kjorer
pnpm docker:start
# 4. Start utvikling med Doppler (hemmeligheter injisert)
doppler run -- pnpm dev

Feature-utvikling

heading.anchorLabel

1. Opprett branch

heading.anchorLabel

Bruk navnekonvensjonen feature/, fix/ eller refactor/:

Terminal window
# Ny feature
git checkout -b feature/check-in-improvements
# Bugfix
git checkout -b fix/session-timeout-crash
# Refaktorering
git checkout -b refactor/insights-store-cleanup
PrefiksBruk
feature/Ny funksjonalitet
fix/Bugfix
refactor/Kodestruktur-endring uten ny funksjonalitet
chore/Bygg, avhengigheter, konfig
docs/Dokumentasjon

2. Kode og test

heading.anchorLabel
Terminal window
# Kjor API-server isolert
doppler run -- pnpm --filter api dev
# Type-sjekk alt
pnpm type-check
# Kjor tester
pnpm test
# KMP quick compile check (13s vs 3+ min full build)
cd apps/mobile-kmp && ./gradlew :shared:compileKotlinIosSimulatorArm64

Folg Conventional Commits-formatet:

Terminal window
# Se hva som er endret
git diff
git status
# Stage spesifikke filer (unnga `git add .`)
git add apps/api/src/routes/check-ins/create.ts
git add packages/shared/src/types/check-ins.ts
# Commit med konvensjonelt format
git commit -m "feat(api): add check-in conversion endpoint"

Commit-meldingsformat

heading.anchorLabel
<type>(<scope>): <beskrivelse>
[valgfri body]
TypeBeskrivelse
featNy feature
fixBugfix
buildBygg-system, avhengigheter
choreVedlikehold, opprydding
docsDokumentasjon
refactorKodestruktur uten funksjonell endring
testLegge til eller fikse tester
perfYtelsesoptimalisering

Scope er valgfritt, men anbefalt: api, ios, android, shared, db, docs.

Eksempler:

Terminal window
git commit -m "feat(ios): add haptic feedback to session completion"
git commit -m "fix(api): handle null classification in impulse create"
git commit -m "build: upgrade turbo to 2.3.3"
git commit -m "chore(db): remove deprecated ai_workload_status column"
git commit -m "docs: update API endpoint reference"

4. Push og CI

heading.anchorLabel
Terminal window
# Push til remote
git push -u origin feature/check-in-improvements

CI kjorer automatisk pa push:

  • Detect changes — finner hvilke deler av monorepo-et som er endret
  • Database — migrasjoner + typesjekk (kun ved packages/database/-endringer)
  • API — type-check + lint + test (kun ved apps/api/-endringer)
  • iOS/Android — KMP compile check (kun ved apps/mobile-kmp/-endringer)
Terminal window
# Sjekk CI-status
gh run list --branch feature/check-in-improvements

PR-arbeidsflyt

heading.anchorLabel
Terminal window
# Opprett PR mot main
gh pr create --title "feat(api): add check-in conversion" --body "## Summary
- Add POST /check-ins/:id/convert endpoint
- Convert check-in assessment to impulse
## Test plan
- [ ] Test conversion with contraction check-in
- [ ] Test conversion with expansion check-in
- [ ] Verify impulse classification matches"

Review og merge

heading.anchorLabel
Terminal window
# Se PR-status
gh pr status
# Se PR-kommentarer
gh pr view <pr-number>
# Merge nar klar (squash-merge er standard)
gh pr merge <pr-number> --squash

Release-arbeidsflyt

heading.anchorLabel

Staging (automatisk)

heading.anchorLabel

Alle push til main deployer DB+API automatisk til staging:

  • API deployes via Railway (overvaker main branch)
  • Database-migrasjoner kjores mot staging-Supabase

Produksjon — DB + API

heading.anchorLabel

Promoter staging til production nar du er fornoyd med staging:

Terminal window
# Via Claude Code (anbefalt):
/deploy-prod
# Eller manuelt:
git push origin main:production

Railway production overvaker production-branchen og deployer automatisk. DB-migrasjoner kjores mot produksjons-Supabase.

iOS-release (separat syklus)

heading.anchorLabel

iOS har sin egen release-syklus, uavhengig av DB+API:

Terminal window
# 1. Bump versjon og opprett git tag
/release ios patch
# eller: cd apps/mobile-kmp/iosApp && bundle exec fastlane ios bump type:patch
# 2. Git tag v* trigger TestFlight-bygg automatisk
# 3. Etter TestFlight-testing, promoter til App Store
/promote
# eller: bundle exec fastlane ios promote

Vanlige Claude Code-kommandoer

heading.anchorLabel
KommandoBeskrivelse
git statusSe utrackede og endrede filer
git diffSe stage/unstage-endringer
pnpm type-checkType-sjekk hele monorepo-et
pnpm testKjor alle tester
pnpm --filter api devStart kun API-serveren
pnpm db:resetNullstill lokal database
pnpm db:typesGenerer TypeScript-typer fra skjema
gh pr createOpprett pull request
gh run listSe CI-kjoringshistorikk
Terminal window
# Se feillogger
gh run view <run-id> --log-failed
# Kjor de samme sjekkene lokalt
pnpm type-check
pnpm lint
pnpm test

Database-endringer ikke reflektert

heading.anchorLabel
Terminal window
# Nullstill lokal database og kjor alle migrasjoner pa nytt
pnpm db:reset
# Generer typer pa nytt
pnpm db:types

KMP-kompileringsfeil

heading.anchorLabel
Terminal window
# Rens og bygg pa nytt
cd apps/mobile-kmp
./gradlew clean
./gradlew :shared:compileKotlinIosSimulatorArm64