chore: import Slate platform snapshot (origin/main) · Dapta-Tech/dapta-forms@1d1b1b2 · GitHub
Skip to content

Commit 1d1b1b2

Browse files
feggome1claude
andcommitted
chore: import Slate platform snapshot (origin/main)
Byte-for-byte export of dapta-calendars-slate origin/main as the starting point for Dapta Forms (codename Quill). No modifications yet. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Signed-off-by: Felipe Gomez <felipe@daptatech.com>
0 parents  commit 1d1b1b2

333 files changed

Lines changed: 40776 additions & 0 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

‎.changeset/README.md‎

Lines changed: 7 additions & 0 deletions

‎.changeset/config.json‎

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
{
2+
"$schema": "https://unpkg.com/@changesets/config@3.0.0/schema.json",
3+
"changelog": "@changesets/cli/changelog",
4+
"commit": false,
5+
"fixed": [],
6+
"linked": [],
7+
"access": "public",
8+
"baseBranch": "main",
9+
"updateInternalDependencies": "patch",
10+
"ignore": ["@slate/web", "@slate/api"]
11+
}

‎.dockerignore‎

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
node_modules
2+
**/node_modules
3+
.git
4+
.turbo
5+
**/.turbo
6+
**/dist
7+
**/.next
8+
.data
9+
*.db
10+
*.db-*
11+
.env
12+
.env.*
13+
!.env.example
14+
deploy
15+
.design-shots
16+
coverage

‎.env.example‎

Lines changed: 138 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,138 @@
1+
# ---------------------------------------------------------------------------
2+
# Calendars — example environment
3+
# Copy to .env and adjust. A bare clone runs with NOTHING set here:
4+
# SQLite file DB, log-only email, local dev auth. Zero infrastructure needed.
5+
# ---------------------------------------------------------------------------
6+
7+
# --- Database -------------------------------------------------------------
8+
# Unset -> SQLite at ./.data/dev.db (the default, zero-infra clone-and-run)
9+
# file:… -> SQLite file
10+
# A PostgreSQL connection URL selects Postgres in production. Keep credentials in `.env`.
11+
# DATABASE_URL=file:./.data/dev.db
12+
# DATABASE_URL=
13+
14+
# --- API server -----------------------------------------------------------
15+
# Port the NestJS API listens on (default 4000).
16+
API_PORT=4000
17+
# Public base URL of the web app, used to build manage/booking links.
18+
PUBLIC_APP_URL=http://localhost:3000
19+
20+
# --- Web app --------------------------------------------------------------
21+
# Where the web app reaches the API from the server (RSC fetch). Default:
22+
# http://localhost:4000
23+
NEXT_PUBLIC_API_URL=http://localhost:4000
24+
25+
# The web mirrors the API's AUTH_PROVIDER to pick the right login UX (email form
26+
# vs WorkOS redirect). Same values as the API's AUTH_PROVIDER. Unset -> local.
27+
# AUTH_PROVIDER=local
28+
#
29+
# Signs/verifies the httpOnly `slate_session` cookie (server-only — never
30+
# NEXT_PUBLIC_*). Unset in a bare fork = unsigned dev cookie; SET it for any
31+
# real deployment so the session can't be forged.
32+
# WEB_SESSION_SECRET=replace-with-a-long-random-string
33+
#
34+
# WorkOS provider only: base URL of the upstream IAM identity service that fronts
35+
# WorkOS AuthKit and mints the platform JWT. The web calls it for the login URL,
36+
# and redirects through its logout. Server-only; never a secret itself.
37+
# IAM_BASE_URL=https://iam.example.internal
38+
39+
# --- Growth loop / branding (public pages) ---------------------------------
40+
# When a signup destination is configured, public pages carry a discreet
41+
# "Made with Dapta Calendars" footer badge and a secondary signup line on the
42+
# booking-confirmed screen. Open-core: unset (the bare-fork default) renders
43+
# neither — no upstream branding is forced on forks; the upstream cloud
44+
# deployment sets its own signup URL.
45+
# NEXT_PUBLIC_SIGNUP_URL=https://app.your-cloud.example
46+
#
47+
# Every badge/CTA link carries the UTM scheme
48+
# utm_source=dapta-calendars
49+
# utm_medium=badge | confirmation (which surface was clicked)
50+
# utm_campaign=made-with-dapta
51+
# utm_content=<accountCode> (attribution only — already public in the page URL)
52+
#
53+
# Set to hide badge + CTA even when a signup URL is configured (1|true|yes).
54+
# NEXT_PUBLIC_HIDE_BADGE=1
55+
56+
# --- Email / notifications ------------------------------------------------
57+
# Provider selector. Unset or "log-only" -> emails are logged, not sent
58+
# (a bare fork still runs booking flows end-to-end).
59+
# log-only | noop | smtp | http
60+
EMAIL_PROVIDER=log-only
61+
MAIL_FROM_EMAIL=bookings@example.com
62+
MAIL_FROM_NAME=Calendars
63+
64+
# SMTP adapter (EMAIL_PROVIDER=smtp)
65+
# SMTP_HOST=smtp.example.com
66+
# SMTP_PORT=587
67+
# SMTP_SECURE=false
68+
# SMTP_USER=
69+
# SMTP_PASS=
70+
71+
# HTTP mailer adapter (EMAIL_PROVIDER=http) — POSTs each message to an external
72+
# email service. Wire it to any send endpoint; no provider is hardcoded.
73+
# EMAIL_HTTP_ENDPOINT=https://email.example.com/api/send
74+
#
75+
# Wire/profile:
76+
# generic — provider-agnostic JSON body + optional Bearer auth (default)
77+
# transactional-v1 — managed transactional contract + HMAC service auth
78+
# EMAIL_HTTP_PROFILE=generic
79+
# transactional-v1 requires the endpoint path `/api/internal/email/send`.
80+
#
81+
# generic profile: Bearer token.
82+
# EMAIL_HTTP_TOKEN=
83+
#
84+
# transactional-v1 profile: a stable client id plus a server-only signing
85+
# secret loaded from the deployment secret manager. The secret is never sent.
86+
# EMAIL_HTTP_CLIENT_ID=calendars
87+
# EMAIL_HTTP_SIGNING_SECRET=
88+
# EMAIL_HTTP_CATEGORY=lifecycle
89+
90+
# --- Auth (dashboard only; public booking pages are always open) ----------
91+
# Unset -> local dev auth stub (a fork logs in without any external provider).
92+
# AUTH_PROVIDER=local
93+
#
94+
# DEV ONLY: with AUTH_PROVIDER=local, log in as a specific email instead of the
95+
# first seeded demo account. The stub resolves the member with this email and
96+
# JIT-creates a fresh account+member if none exists. (A request may also carry
97+
# `x-slate-email`, which overrides this.) Ignored in production.
98+
# DEV_LOGIN_EMAIL=you@example.com
99+
#
100+
# DEV ONLY: strict local auth. When true, a request with no identity (no
101+
# impersonation headers, no x-slate-email) returns 401 instead of falling back
102+
# to the seeded account — giving local dev a real "logged out" state so the web
103+
# login/logout flow can bounce to sign-in. Default false = always logged in.
104+
# AUTH_LOCAL_STRICT=false
105+
#
106+
# AUTH_PROVIDER=workos validates a host session token minted by an upstream
107+
# identity service: an HS256 JWT (claims: sub, account_id, email, name) signed
108+
# with a shared secret. The SAME validation runs in local dev and remote because
109+
# the secret is symmetric — nothing environment-specific to fetch. Selecting
110+
# `workos` without JWT_SECRET fails loud (never falls back to the insecure stub).
111+
# JWT_ISSUER / JWT_AUDIENCE are enforced only when set.
112+
# AUTH_PROVIDER=workos
113+
# JWT_SECRET=replace-with-your-shared-signing-secret
114+
# JWT_ISSUER=your-identity-issuer
115+
# JWT_AUDIENCE=your-platform-audience
116+
#
117+
# Offline dev: mint a token that this provider will accept (no identity server):
118+
# pnpm --filter @slate/api auth:mint -- --account acct_dev --sub user_dev
119+
# then call the API with `Authorization: Bearer <token>`.
120+
121+
# --- Calendar (external free-busy + event write-out) ----------------------
122+
# disabled (default) -> no external calendar: slots subtract only local busy and
123+
# no events are written out (clone-and-run needs nothing here). `external`
124+
# selects the generic-HTTP ExternalCalendarProvider.
125+
# CALENDAR_PROVIDER=disabled
126+
#
127+
# external needs a backend. Two ways:
128+
# (a) Self-host / any REST calendar service implementing the /v1 contract:
129+
# set the base URL + a static bearer; the committed GenericRestWire is used.
130+
# CALENDAR_PROVIDER=external
131+
# CALENDAR_API_BASE_URL=https://your-calendar-service.example
132+
# CALENDAR_API_TOKEN=replace-with-a-bearer-token
133+
# (b) A real integration platform: point at a PRIVATE overlay module (gitignored,
134+
# e.g. under deploy/) that supplies the JWT authority + vendor request mapping.
135+
# The base URL / signing secret stay in this .env or deploy config — never here.
136+
# CALENDAR_PROVIDER=external
137+
# CALENDAR_BACKEND_MODULE=/abs/path/to/deploy/calendar/backend.js
138+
# CALENDAR_HTTP_TIMEOUT_MS=30000

‎.gitattributes‎

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# Normalize line endings
2+
* text=auto eol=lf
3+
4+
# Binary assets
5+
*.png binary
6+
*.jpg binary
7+
*.jpeg binary
8+
*.gif binary
9+
*.ico binary
10+
*.woff binary
11+
*.woff2 binary
12+
13+
# Lockfile — keep diffs collapsed in reviews
14+
pnpm-lock.yaml linguist-generated=true -diff
15+
16+
# Generated migrations are code, keep them reviewable
17+
packages/db/migrations/** linguist-generated=false

‎.github/CODEOWNERS‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# Default owners — every PR needs a review from a code owner before merge.
2+
* @feggome1
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
---
2+
name: Bug report
3+
about: Report something that isn't working
4+
title: 'bug: '
5+
labels: bug
6+
---
7+
8+
## Description
9+
10+
A clear description of the bug.
11+
12+
## Steps to reproduce
13+
14+
1. …
15+
2. …
16+
17+
## Expected behavior
18+
19+
What you expected to happen.
20+
21+
## Actual behavior
22+
23+
What actually happened (include error output / logs).
24+
25+
## Environment
26+
27+
- OS:
28+
- Node version:
29+
- pnpm version:
30+
- Database (SQLite default / Postgres):
31+
- Commit / version:
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
---
2+
name: Feature request
3+
about: Suggest an idea or improvement
4+
title: 'feat: '
5+
labels: enhancement
6+
---
7+
8+
## Problem
9+
10+
What problem are you trying to solve? What's the use case?
11+
12+
## Proposed solution
13+
14+
What you'd like to see.
15+
16+
## Alternatives considered
17+
18+
Any alternative approaches you've thought about.
19+
20+
## Additional context
21+
22+
Anything else that helps (mockups, links, prior art).

‎.github/PULL_REQUEST_TEMPLATE.md‎

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
## What & why
2+
3+
Describe the change and the motivation.
4+
5+
Closes #
6+
7+
## Checklist
8+
9+
- [ ] Conventional Commit title (`feat:`, `fix:`, `docs:`, …)
10+
- [ ] Commits are DCO-signed (`git commit -s`)
11+
- [ ] `pnpm typecheck && pnpm lint && pnpm test` pass locally
12+
- [ ] Added/updated tests for the change
13+
- [ ] Added a changeset if a package's behavior changed (`pnpm changeset`)
14+
- [ ] No secrets, internal hosts, or vendor names added (publish-gate clean)
15+
- [ ] Docs updated if needed

‎.github/dependabot.yml‎

Lines changed: 23 additions & 0 deletions

0 commit comments

Comments
 (0)