{"id":24297733,"url":"https://github.com/trycompai/comp","last_synced_at":"2026-05-22T03:15:19.159Z","repository":{"id":272661276,"uuid":"917358773","full_name":"trycompai/comp","owner":"trycompai","description":"AI Native platform to get companies compliant - Vanta \u0026 Drata Alternative","archived":false,"fork":false,"pushed_at":"2026-04-21T22:00:43.000Z","size":108375,"stargazers_count":1505,"open_issues_count":13,"forks_count":293,"subscribers_count":10,"default_branch":"main","last_synced_at":"2026-04-22T00:03:08.232Z","etag":null,"topics":["ai","audit","authjs","compliance","drata","gdpr","iso27001","nextjs","open","open-source","prisma","security","soc2","t3-stack","tailwindcss","turborepo","vanta","zod"],"latest_commit_sha":null,"homepage":"https://trycomp.ai","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/trycompai.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-01-15T20:43:05.000Z","updated_at":"2026-04-21T22:00:47.000Z","dependencies_parsed_at":"2025-01-15T22:51:24.051Z","dependency_job_id":"1f03f454-92c0-4737-b655-89b1f29b13da","html_url":"https://github.com/trycompai/comp","commit_stats":null,"previous_names":["trycompai/comp"],"tags_count":262,"template":false,"template_full_name":null,"purl":"pkg:github/trycompai/comp","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trycompai%2Fcomp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trycompai%2Fcomp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trycompai%2Fcomp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trycompai%2Fcomp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/trycompai","download_url":"https://codeload.github.com/trycompai/comp/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trycompai%2Fcomp/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32203362,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-23T20:19:26.138Z","status":"ssl_error","status_checked_at":"2026-04-23T20:19:23.520Z","response_time":53,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","audit","authjs","compliance","drata","gdpr","iso27001","nextjs","open","open-source","prisma","security","soc2","t3-stack","tailwindcss","turborepo","vanta","zod"],"created_at":"2025-01-16T20:29:16.040Z","updated_at":"2026-04-24T00:01:39.313Z","avatar_url":"https://github.com/trycompai.png","language":"TypeScript","funding_links":[],"categories":["Tools \u0026 Platforms"],"sub_categories":["Open Source Platforms"],"readme":"\u003c!-- PROJECT LOGO --\u003e\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/trycompai/comp\"\u003e\n   \u003cimg src=\"https://assets.trycomp.ai/logo.png\" alt=\"Logo\" width=\"10%\"\u003e\n  \u003c/a\u003e\n\n  \u003ch3 align=\"center\"\u003eComp AI\u003c/h3\u003e\n\n  \u003cp align=\"center\"\u003e\n    The open-source compliance platform.\n    \u003cbr /\u003e\n    \u003ca href=\"https://trycomp.ai\"\u003e\u003cstrong\u003eLearn more »\u003c/strong\u003e\u003c/a\u003e\n    \u003cbr /\u003e\n    \u003cbr /\u003e\n    \u003ca href=\"https://discord.gg/compai\"\u003eDiscord\u003c/a\u003e\n    ·\n    \u003ca href=\"https://trycomp.ai\"\u003eWebsite\u003c/a\u003e\n    ·\n    \u003ca href=\"https://trycomp.ai/docs\"\u003eDocumentation\u003c/a\u003e\n    ·\n    \u003ca href=\"https://github.com/trycompai/comp/issues\"\u003eIssues\u003c/a\u003e\n    ·\n    \u003ca href=\"https://roadmap.trycomp.ai/roadmap\"\u003eRoadmap\u003c/a\u003e\n  \u003c/p\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n   \u003ca href=\"https://www.producthunt.com/products/comp-ai-get-soc-2-iso-27001-gdpr/launches/comp-ai\"\u003e\u003cimg src=\"https://img.shields.io/badge/Product%20Hunt-%231%20Product%20of%20the%Day%23DA552E\" alt=\"Product Hunt\"\u003e\u003c/a\u003e\n   \u003ca href=\"https://github.com/trycompai/comp/stargazers\"\u003e\u003cimg src=\"https://img.shields.io/github/stars/trycompai/comp\" alt=\"Github Stars\"\u003e\u003c/a\u003e\n   \u003ca href=\"https://github.com/trycompai/comp/blob/main/LICENSE\"\u003e\u003cimg src=\"https://img.shields.io/badge/license-AGPLv3-purple\" alt=\"License\"\u003e\u003c/a\u003e\n   \u003ca href=\"https://github.com/trycompai/comp/pulse\"\u003e\u003cimg src=\"https://img.shields.io/github/commit-activity/m/trycompai/comp\" alt=\"Commits-per-month\"\u003e\u003c/a\u003e\n   \u003ca href=\"https://github.com/trycompai/comp/issues\"\u003e\u003cimg src=\"https://img.shields.io/badge/Help%20Wanted-Contribute-blue\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n## About\n\n### AI that handles compliance for you in hours.\n\nComp AI is the fastest way to get compliant with frameworks like SOC 2, ISO 27001, HIPAA and GDPR. Comp AI automates evidence collection, policy management, and control implementation while keeping you in control of your data and infrastructure.\n\n## Recognition\n\n#### [ProductHunt](https://www.producthunt.com/posts/comp-ai)\n\n\u003ca href=\"https://www.producthunt.com/posts/comp-ai?embed=true\u0026utm_source=badge-top-post-badge\u0026utm_medium=badge\u0026utm_souce=badge-comp\u0026#0045;ai\" target=\"_blank\"\u003e\u003cimg src=\"https://api.producthunt.com/widgets/embed-image/v1/top-post-badge.svg?post_id=944698\u0026theme=light\u0026period=daily\u0026t=1745500415958\" alt=\"Comp\u0026#0032;AI - The\u0026#0032;open\u0026#0032;source\u0026#0032;Vanta\u0026#0032;\u0026#0038;\u0026#0032;Drata\u0026#0032;alternative | Product Hunt\" style=\"width: 250px; height: 54px;\" width=\"250\" height=\"54\" /\u003e\u003c/a\u003e\n\n#### [Vercel](https://vercel.com/)\n\n\u003ca href=\"https://vercel.com/oss\"\u003e\n  \u003cimg alt=\"Vercel OSS Program\" src=\"https://vercel.com/oss/program-badge.svg\" /\u003e\n\u003c/a\u003e\n\n### Built With\n\n- [Next.js](https://nextjs.org/?ref=trycomp.ai)\n- [Trigger.dev](https://trigger.dev/?ref=trycomp.ai)\n- [Prisma](https://prisma.io/?ref=trycomp.ai)\n- [Tailwind CSS](https://tailwindcss.com/?ref=trycomp.ai)\n- [Upstash](https://upstash.com/?ref=trycomp.ai)\n- [Vercel](https://vercel.com/?ref=trycomp.ai)\n\n## Contact us\n\nContact our founders at hello@trycomp.ai to learn more about how we can help you achieve compliance.\n\n## Stay Up-to-Date\n\nGet access to the cloud hosted version of [Comp AI](https://trycomp.ai).\n\n## Getting Started\n\nTo get a local copy up and running, please follow these simple steps.\n\n### Prerequisites\n\nHere is what you need to be able to run Comp AI.\n\n- Node.js (Version: \u003e=20.x)\n- Bun (Version: \u003e=1.1.36)\n- Postgres (Version: \u003e=15.x)\n\n## Development\n\nTo get the project working locally with all integrations, follow these extended development steps\n\n### Setup\n\n## Add environment variables and fill them out with your credentials\n\n```sh\ncp apps/app/.env.example apps/app/.env\ncp apps/portal/.env.example apps/portal/.env\ncp packages/db/.env.example packages/db/.env\n```\n\n## Get code running locally\n\n1. Clone the repo\n\n```sh\ngit clone https://github.com/trycompai/comp.git\n```\n\n2. Navigate to the project directory\n\n```sh\ncd comp\n```\n\n3. Install dependencies using Bun\n\n```sh\nbun install\n```\n\n4. Get Database Running\n\n```sh\ncd packages/db\nbun run docker:up # Spin up docker container\nbun run db:migrate # Run migrations\n```\n\n5. Generate Prisma Types for each app\n\n```sh\ncd apps/app\nbun run db:generate\ncd ../portal\nbun run db:generate\ncd ../api\nbun run db:generate\n```\n\n6. Run all apps in parallel from the root directory\n\n```sh\nbun run dev\n```\n\n---\n\n### Environment Setup\n\nCreate the following `.env` files and fill them out with your credentials\n\n- `comp/apps/app/.env`\n- `comp/apps/portal/.env`\n- `comp/packages/db/.env`\n\nYou can copy from the `.env.example` files:\n\n### Linux / macOS\n\n```sh\ncp apps/app/.env.example apps/app/.env\ncp apps/portal/.env.example apps/portal/.env\ncp packages/db/.env.example packages/db/.env\n```\n\n### Windows (Command Prompt)\n\n```cmd\ncopy apps\\app\\.env.example apps\\app\\.env\ncopy apps\\portal\\.env.example apps\\portal\\.env\ncopy packages\\db\\.env.example packages\\db\\.env\n```\n\n### Windows (PowerShell)\n\n```powershell\nCopy-Item apps\\app\\.env.example -Destination apps\\app\\.env\nCopy-Item apps\\portal\\.env.example -Destination apps\\portal\\.env\nCopy-Item packages\\db\\.env.example -Destination packages\\db\\.env\n```\n\nAdditionally, ensure the following required environment variables are added to `.env` in `comp/apps/app/.env`:\n\n```env\nAUTH_SECRET=\"\"                  # Use `openssl rand -base64 32` to generate\nDATABASE_URL=\"postgresql://user:password@host:port/database\"\nRESEND_API_KEY=\"\" # Resend (https://resend.com/api-keys) - Resend Dashboard -\u003e API Keys\nNEXT_PUBLIC_PORTAL_URL=\"http://localhost:3002\"\nREVALIDATION_SECRET=\"\"         # Use `openssl rand -base64 32` to generate\n```\n\n\u003e ✅ Make sure you have all of these variables in your `.env` file.\n\u003e If you're copying from `.env.example`, it might be missing the last two (`NEXT_PUBLIC_PORTAL_URL` and `REVALIDATION_SECRET`), so be sure to add them manually.\n\nSome environment variables may not load correctly from `.env` — in such cases, **hard-code** the values directly in the relevant files (see Hardcoding section below).\n\n---\n\n### Cloud \u0026 Auth Configuration\n\n#### 1. Trigger.dev\n\n- Create an account on [https://cloud.trigger.dev](https://cloud.trigger.dev)\n- Create a project and copy the Project ID\n- In `comp/apps/app/trigger.config.ts`, set:\n  ```ts\n  project: 'proj_****az***ywb**ob*';\n  ```\n\n#### 2. Google OAuth\n\n- Go to [Google Cloud OAuth Console](https://console.cloud.google.com/auth/clients)\n- Create an OAuth client:\n  - Type: Web Application\n  - Name: `comp_app` # You can choose a different name if you prefer!\n- Add these **Authorized Redirect URIs**:\n\n  ```\n  http://localhost\n  http://localhost:3000\n  http://localhost:3002\n  http://localhost:3000/api/auth/callback/google\n  http://localhost:3002/api/auth/callback/google\n  http://localhost:3000/auth\n  http://localhost:3002/auth\n  ```\n\n- After creating the app, copy the `GOOGLE_ID` and `GOOGLE_SECRET`\n  - Add them to your `.env` files\n  - If that doesn’t work, hard-code them in:\n    ```\n    comp/apps/portal/src/app/lib/auth.ts\n    ```\n\n#### 3. Redis (Upstash)\n\n- Go to [https://console.upstash.com](https://console.upstash.com)\n- Create a Redis database\n- Copy the **Redis URL** and **TOKEN**\n- Add them to your `.env` file, or hard-code them if the environment variables are not being recognized in:\n  ```\n  comp/packages/kv/src/index.ts\n  ```\n\n---\n\n### Database Setup\n\nStart and initialize the PostgreSQL database using Docker:\n\n1. Start the database:\n\n   ```sh\n   cd packages/db\n   bun docker:up\n   ```\n\n2. Default credentials:\n   - Database name: `comp`\n   - Username: `postgres`\n   - Password: `postgres`\n\n3. To change the default password:\n\n   ```sql\n   ALTER USER postgres WITH PASSWORD 'new_password';\n   ```\n\n4. If you encounter the following error:\n\n   ```\n   HINT: No function matches the given name and argument types...\n   ```\n\n   Run the fix:\n\n   ```sh\n   psql \"postgresql://postgres:\u003cyour_password\u003e@localhost:5432/comp\" -f ./packages/db/prisma/functionDefinition.sql\n   ```\n\n   Expected output: `CREATE FUNCTION`\n\n   \u003e 💡 `comp` is the database name. Make sure to use the correct **port** and **database name** for your setup.\n\n5. Apply schema and seed:\n\n```sh\n # Generate Prisma client\n bun db:generate\n\n # Push the schema to the database\n bun db:push\n\n # Optional: Seed the database with initial data\n bun db:seed\n```\n\nOther useful database commands:\n\n```sh\n# Open Prisma Studio to view/edit data\nbun db:studio\n\n# Run database migrations\nbun db:migrate\n\n# Stop the database container\nbun docker:down\n\n# Remove the database container and volume\nbun docker:clean\n```\n\n---\n\n### Start Development\n\nOnce everything is configured:\n\n```sh\nbun run dev\n```\n\nOr use the Turbo repo script:\n\n```sh\nturbo dev\n```\n\n\u003e 💡 Make sure you have Turbo installed. If not, you can install it using Bun:\n\n```sh\nbun add -g turbo\n```\n\n🎉 Yay! You now have a working local instance of Comp AI! 🚀\n\n## Deployment\n\n### Docker\n\nSteps to deploy Comp AI on Docker are coming soon.\n\n### Vercel\n\nSteps to deploy Comp AI on Vercel are coming soon.\n\n## 📦 Package Publishing\n\nThis repository uses semantic-release to automatically publish packages to npm when merging to the `release` branch. The following packages are published:\n\n- `@trycompai/db` - Database utilities with Prisma client\n- `@trycompai/email` - Email templates and components\n- `@trycompai/kv` - Key-value store utilities using Upstash Redis\n- `@trycompai/ui` - UI component library with Tailwind CSS\n\n### Setup\n\n1. **NPM Token**: Add your npm token as `NPM_TOKEN` in GitHub repository secrets\n2. **Release Branch**: Create and merge PRs into the `release` branch to trigger publishing\n3. **Versioning**: Uses conventional commits for automatic version bumping\n\n### Usage\n\n```bash\n# Install a published package\nnpm install @trycompai/ui\n\n# Use in your project\nimport { Button } from '@trycompai/ui/button'\nimport { client } from '@trycompai/kv'\n```\n\n### Development\n\n```bash\n# Build all packages\nbun run build\n\n# Build specific package\nbun run -F @trycompai/ui build\n\n# Test packages locally\nbun run release:packages --dry-run\n```\n\n## Contributors\n\n\u003ca href=\"https://github.com/trycompai/comp/graphs/contributors\"\u003e\n  \u003cimg src=\"https://contrib.rocks/image?repo=trycompai/comp\" /\u003e\n\u003c/a\u003e\n\n## Repo Activity\n\n![Alt](https://repobeats.axiom.co/api/embed/1371c2fe20e274ff1e0e8d4ca225455dea609cb9.svg 'Repobeats analytics image')\n\n\u003c!-- LICENSE --\u003e\n\n## License\n\nComp AI, Inc. is a commercial open source company, which means some parts of this open source repository require a commercial license. The concept is called \"Open Core\" where the core technology (99%) is fully open source, licensed under [AGPLv3](https://opensource.org/license/agpl-v3) and the last 1% is covered under a commercial license ([\"/ee\" Enterprise Edition\"]).\n\n\u003e [!TIP]\n\u003e We work closely with the community and always invite feedback about what should be open and what is fine to be commercial. This list is not set and stone and we have moved things from commercial to open in the past. Please open a [discussion](https://github.com/trycompai/comp/discussions) if you feel like something is wrong.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftrycompai%2Fcomp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftrycompai%2Fcomp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftrycompai%2Fcomp/lists"}