# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.

# dependencies
/node_modules
/.pnp
.pnp.*
.yarn/*
!.yarn/patches
!.yarn/plugins
!.yarn/releases
!.yarn/versions

# testing
/coverage

# next.js
/.next/
/out/

# production
/build

# misc
.DS_Store
*.pem
nul

# debug
npm-debug.log*
yarn-debug.log*
yarn-error.log*
.pnpm-debug.log*

# env files (can opt-in for committing if needed)
.env*
!.env.example
!.env.docker.example

# vercel
.vercel

# typescript
*.tsbuildinfo
next-env.d.ts

# supabase temp files
supabase/.temp/

# claude local settings
.claude/settings.local.json
.claude/scheduled_tasks.lock

# swarm audit reports (generated by /swarm)
.swarm/

# compliance scan output (SARIF / dossier / PR comment)
.compliance-reports/

# generated service worker (built from public/sw.template.js by
# scripts/inject-public-branding.mjs: runs via predev/prebuild)
/public/sw.js

# dev docs (internal reference, not published): EXCEPT the iXBRL taxonomy
# sources and the official Bolagsverket example, which CI needs: the committed
# lib/bokslut/ixbrl/taxonomy/generated/ registry is regenerated from them by
# `npm run taxonomy:check` (core-build.yml) and the golden test pins against
# the example document.
/dev_docs/*

# Extension registry (auto-generated but defaults are committed)
# Run `npm run setup:extensions` to regenerate after changing extensions.config.json
# The empty defaults in lib/extensions/_generated/ are committed so core compiles
# out of the box without running the generator.
supabase/.branches/

# Local-only SIE test fixtures: may contain real/scrubbed company data, never commit
tests/fixtures/sie/

# Local-only DESTRUCTIVE duplicate-cleanup tooling: one-off, run by hand against
# real räkenskapsinformation. Deliberately NOT committed so it can never run in
# CI/cron and so its logic isn't mistaken for a supported product feature.
scripts/delete-duplicate-transactions.ts

# Diagnostic/cleanup tooling under /scripts is tracked, but the DATA those
# scripts read or emit (ledger dumps, reconciliation exports) is real customer
# räkenskapsinformation: never commit it. Keep the .ts/.sql tooling, ignore the data.
scripts/*.csv

# Local-only DESTRUCTIVE support tool: reopens a closed räkenskapsår by deleting
# only its bokslut layer (dispositioner + closing entry + next-year IB). Run by
# hand against real räkenskapsinformation; bypasses BFL immutability triggers, so
# it must never live in the repo / CI / cron.
scripts/reopen-bokslut.sql

.claude/plans/write-up-a-plan-streamed-fiddle.md
/ingaende-balanser-test.csv
.agents
.codex
# PostHog wizard scratch: vendor reference docs downloaded by
# `npx @posthog/wizard`, useful locally (and for `wizard audit`) but not
# part of the app. The integration itself lives in lib/analytics/ and
# instrumentation-client.ts.
.posthog/
