Files
zerobyte/AGENTS.md
Nico 7a3932f969 feat: OIDC (#564)
* feat: oidc

feat: organization switcher

refactor: org context

feat: invitations

GLM

* feat: link current account

* refactor: own page for sso registration

* feat: per-user account management

* refactor: code style

* refactor: user existing check

* refactor: restrict provider configuration to super admins only

* refactor: cleanup / pr review

* chore: fix lint issues

* chore: pr feedbacks

* test(e2e): automated tests for OIDC

* fix: check url first for sso provider identification

* fix: prevent oidc provider to be named "credential"
2026-02-27 23:13:54 +01:00

1.7 KiB

Important instructions

  • Never create migration files manually. Always use the provided command to generate migrations
  • If you realize an automated migration is incorrect, make sure to remove all the associated entries from the _journal.json and the newly created files located in app/drizzle/ before re-generating the migration
  • The dev server is running at http://localhost:3000. Username is admin and password is password
  • The repo is https://github.com/nicotsx/zerobyte
  • If you need to run a specific restic command on a repository, you can open and use the dev panel with Meta+Shift+D

Project Overview

Zerobyte is a backup automation tool built on top of Restic that provides a web interface for scheduling, managing, and monitoring encrypted backups. It supports multiple volume backends (NFS, SMB, WebDAV, SFTP, local directories) and repository backends (S3, Azure, GCS, local, and rclone-based storage).

Type Checking

# Run type checking and generate React Router types
bun run tsc

Testing

# Run all tests
bun run test

# Run a specific test file
bunx dotenv-cli -e .env.test -- bun test --preload ./app/test/setup.ts path/to/test.ts

Building

# Build for production
bun run build

Database Migrations

# Generate new migration from schema changes
bun gen:migrations

# Generate a custom empty migration
bunx drizzle-kit generate --custom --name=fix-timestamps-to-ms

API Client Generation

bun run gen:api-client

Code Quality

# Format
bunx oxfmt format --write <path>

# Lint
bun run lint

Invalidation

The frontend has an automatic invalidation setup which runs after every mutation. Do not implement any invalidation logic in the frontend.