Tether
Tether answers calls and chats, books real appointments into your Google Calendar, and texts you what it cannot handle.
翻译准备中
Find out what you and your business partner are actually agreeing to. Each of you answers on your own, you see where your expectations differ, and you build a shared brief to take to your lawyer.
翻译准备中
商业GitHub @justfinethanku在线运营者未确认
试用过了吗? 点一下就好,无需登录。
尚未收集仓库信息。
尚未检测到更新。GitHub 发布版本后会显示在这里。
制作者的介绍仅有上面的一句话。 更多详情请阅读仓库 README。 仓库 README ↗
正在加载完整 README。
查看完整 README ↗Agree on the partnership before you commit to it. For two business partners or co-owners.
Human Alignment is a Next.js 16 (^16.4.3) and React 19 (^19.3.1) web application. Two business partners each answer on their own, an AI comparison shows where their expectations differ, and they build a shared brief to review with a lawyer. The public site is that conversation before legal drafting. A lawyer still drafts the operating agreement from the brief.
Think independently. Align collectively. Decide confidently.
The public site (/, /example, /pricing) speaks to two business partners or co-owners facing a real commitment:
anthropic/claude-sonnet-4.6 (AI_MODELS.SONNET in app/lib/ai-config.ts). Each route sends the prompt row's model slug through resolveModel().^16.4.3 (App Router), React ^19.3.1 (package.json)defaultTheme="light" in app/layout.tsx).supabase/migrations.ai 5.0.222) through OpenRouter (@openrouter/ai-sdk-provider). Primary model: anthropic/claude-sonnet-4.6. @ai-sdk/anthropic is not a dependency.OPEN_ROUTER_API_KEY) for AI generationgit clone https://github.com/justfinethanku/align-the-humans.git
cd align-the-humans
npm install
cp .env.example .env.local
Edit .env.local and add your credentials:
NEXT_PUBLIC_SUPABASE_URL: Your Supabase project URLNEXT_PUBLIC_SUPABASE_ANON_KEY: Your Supabase anon keySUPABASE_SERVICE_ROLE_KEY: Your Supabase service role key (server-only)INVITE_TOKEN_SECRET: Random secret used to encrypt invite tokens before storage (any strong string)OPEN_ROUTER_API_KEY: OpenRouter API key for AI generation. The app reads this name first and falls back to OPENROUTER_API_KEY when it is unset.RESEND_API_KEY: Resend API key for transactional email (invites and auth mail)SUPABASE_AUTH_HOOK_SECRET: Standard Webhooks secret (v1,whsec_...) that verifies the Supabase Send Email hook at /api/auth/emailOPS_ALERT_EMAIL: Optional comma-separated inbox for auth-hook 401/500s and rejected Resend sends. When unset, those failures are logged and no alert is sent.AI_GATEWAY_API_KEY: Vercel AI Gateway key used only for the admin model-discovery list, not for generation (optional for local dev)npm run dev
The application requires a Supabase database with the following tables:
profiles - User accounts and metadataalignments - Main alignment sessionsalignment_participants - Links users to alignmentsalignment_responses - Individual answers to questionsalignment_analyses - AI analysis resultsalignment_signatures - Digital signatures for agreementspartners - Partner relationshipstemplates - Pre-configured alignment question setsThe current schema is the SQL in supabase/migrations. Apply those files to the Supabase project. plan_a.md is an older specification.
/app
├── (auth)/ # Authentication pages (login, signup)
├── dashboard/ # User dashboard
├── alignment/ # Alignment workflow pages
│ ├── new/ # Create new alignment
│ └── [id]/ # Alignment-specific pages
│ ├── clarity/ # Define alignment scope
│ ├── questions/ # Answer questions
│ ├── analysis/ # View AI analysis
│ ├── resolution/ # Resolve conflicts
│ └── document/ # Final agreement
├── api/ # API routes
│ └── alignment/ # Alignment-related endpoints
├── lib/ # Shared utilities
└── components/ # Reusable React components
/changelog/ # Development session logs
/scrapbook/ # Design assets and copy guidelines
/design-system/ # Reusable Tailwind utilities
npm run dev - Start development servernpm run build - Build for productionnpm run start - Run production buildnpm run lint - Run ESLintnpm run type-check - TypeScript checknpm test - node --test for the auth email hook, partner search, rate limit, ops alerts, AI reply recovery, and API error messages (the test script in package.json)npm run test:e2e - Playwright core journey on a local Supabase stack (node tests/e2e/run.mjs; needs Docker)docs/testing-runbook.md for the current two-partner journey and the automated checks. E2E_TEST_PLAN.md has been removed.docs/CODEBASE_AUDIT.md is a dated snapshot kept for history. Its findings have not been rechecked since.docs/deploy.md for how main and pull requests reach Vercel, how to compare supabase/migrations with the database, and how to roll back a deploy or a migration.supabase/migrationsplan_a.md is an older implementation spec. For current behavior, read the code and supabase/migrations.scrapbook/website copy/philosophy_copy.md for messaging strategy/changelog/ for development historyThis GitHub repository is public: https://github.com/justfinethanku/align-the-humans
Open an issue or a pull request.
Proprietary - All rights reserved
For issues or questions, please open an issue on GitHub.
Built with structure. Designed for collaboration. Made for decisions that matter.