Skip to content

auditmos/devit

Devit — AI-Powered Client Scoping Tool

An AI-powered scoping tool that interviews clients through a structured conversation, generates project specs, breaks them into tasks, and syncs with GitHub for tracking.

How It Works

  1. Admin creates a project → generates a unique shareable link
  2. Client opens the link → no login required → chats with an AI that runs a structured discovery interview
  3. AI auto-transitions through phases: discovery → requirements (PRD) → implementation plan → task breakdown
  4. Spec & tasks are generated → admin reviews and edits in the dashboard
  5. Client sees progress → approved spec and task status on their link
  6. GitHub sync → tasks become GitHub issues, status polls back automatically

Architecture

Monorepo using pnpm workspace:

Stack: TanStack Start, Hono, Better Auth, Drizzle ORM, Cloudflare Workers, Neon Postgres, Claude API.

Key Entities

  • Project — identified by unique slug for public access
  • Message — conversation history (user + assistant) per project
  • Spec — generated markdown specification
  • Task — individual work items, optionally linked to GitHub issues

Auth Model

  • Admin pages require Better Auth login
  • Client pages are fully public (slug = access)

Setup

pnpm run setup

Installs all dependencies and builds data-ops package.

Development

pnpm run dev:user-application  # TanStack Start app (port 3000)
pnpm run dev:data-service      # Hono backend service (port 8788)

Database Migrations

From packages/data-ops/ directory:

pnpm run drizzle:dev:generate  # Generate migration
pnpm run drizzle:dev:migrate   # Apply to database

Replace dev with staging or production.

Environment Variables

  • packages/data-ops/.env.dev, .env.staging, .env.production (see .env.example)
  • apps/user-application/.env files per Vite mode
  • apps/data-service/.dev.vars (local), Cloudflare dashboard (remote)

Testing

pnpm run test              # run all tests
pnpm run test:watch        # watch mode
pnpm run test:coverage     # with coverage report

Uses Vitest with workspace projects. Each package can also run tests independently via pnpm --filter <package> test.

Deployment

pnpm run deploy:staging:user-application
pnpm run deploy:staging:data-service
pnpm run deploy:production:user-application
pnpm run deploy:production:data-service

Secrets sync: bash apps/{app}/sync-secrets.sh {env}

Cloudflare Account Override

To deploy to a different CF account, copy .env.example to .env and fill in CLOUDFLARE_ACCOUNT_ID + CLOUDFLARE_API_TOKEN.

Package Docs

Each package has its own AGENTS.md with detailed structure, patterns, and workflows (CLAUDE.md symlinks to AGENTS.md).

Planning

About

No description, website, or topics provided.

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors