From 1561073c78a4c0e693a91cad2501e522320d1855 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 7 Aug 2026 15:38:18 +0000 Subject: [PATCH 1/2] chore: release release --- .github/.release-please-manifest.json | 2 +- CHANGELOG.md | 7 +++++++ package.json | 2 +- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/.github/.release-please-manifest.json b/.github/.release-please-manifest.json index cddbaefb..c9510618 100644 --- a/.github/.release-please-manifest.json +++ b/.github/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "1.1.0" + ".": "1.2.0" } diff --git a/CHANGELOG.md b/CHANGELOG.md index 0fa2ed91..e2dea4a3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,12 @@ # Changelog +## [1.2.0](https://github.com/trycompai/crm/compare/v1.1.0...v1.2.0) (2026-08-07) + + +### Features + +* **api:** add microsoft sign-in and outlook mailbox sync ([#73](https://github.com/trycompai/crm/issues/73)) ([2a0062f](https://github.com/trycompai/crm/commit/2a0062fb76ffdaa5bbbb3848a5573b8b53cd0036)) + ## [1.1.0](https://github.com/trycompai/crm/compare/v1.0.0...v1.1.0) (2026-08-06) diff --git a/package.json b/package.json index 58f50e8b..bd61fd43 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "crm", "private": true, "license": "MIT", - "version": "1.1.0", + "version": "1.2.0", "scripts": { "prepare": "git rev-parse --git-dir >/dev/null 2>&1 && git config core.hooksPath .githooks || true", "build": "turbo run build", From 4a34dfcc619e42fb38a2780e516a08de1dd0c3d1 Mon Sep 17 00:00:00 2001 From: Vikas Date: Sat, 8 Aug 2026 16:45:58 +0530 Subject: [PATCH 2/2] docs: propose a one-click self-host option in the README --- adrs/one-click-self-host.md | 54 +++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 adrs/one-click-self-host.md diff --git a/adrs/one-click-self-host.md b/adrs/one-click-self-host.md new file mode 100644 index 00000000..bd95a6d3 --- /dev/null +++ b/adrs/one-click-self-host.md @@ -0,0 +1,54 @@ +# A one-click self-host option in the README + +## What I'd like to change + +Add a "Deploy on InstaPods" button to the README, near Quick start or in Deploying, next to the +existing Vercel path. One line of markdown; it links to a page that provisions the whole stack. + +## Why the current options leave a gap + +Quick start assumes Bun, Docker and a terminal. Deploying assumes three Vercel deployments plus a +managed Postgres. Both are reasonable, and neither helps somebody who wants to *try* the CRM before +deciding whether to run it — the agent is the interesting part, and you cannot see it work from the +README. + +The thing that made us notice is in your own copy. `.env.example` says Context "is the one key that +is asked for rather than configured: it lives in a row, the onboarding asks for it, and Settings → +General changes it afterwards, because a self-hoster's admin cannot redeploy to set an environment +variable." That is exactly the friction we build for. On a pod, environment variables are an edit +box and a restart, so a self-hoster's admin *can* change one without redeploying. + +## What we did already, so you can judge it rather than take our word + +We packaged the CRM as a one-click app on InstaPods and it is live: + +https://app.instapods.com/dashboard/pods/create?app=crm + +It builds from source at a pinned commit, runs all four processes on one machine — PostgreSQL 17, +the Nest API on Bun, the Next app, and the eve agent — behind one hostname with HTTPS. The Next +catch-all routes already proxy `/api/*` and `/eve/v1/*`, so nothing needed a second domain. Each pod +generates its own `BETTER_AUTH_SECRET` and `AGENT_BRIDGE_SECRET` at first boot, `ALLOWED_SIGN_IN` +starts locked to the deploying user's own address rather than open, and the agent stays stopped +until someone supplies `AI_GATEWAY_API_KEY`, per the rule in your `AGENTS.md` that a missing key +removes a capability instead of throwing. + +Two things worth saying plainly. Sign-in is Google-only, so there is a five-minute stop in the Google +Cloud console after deploying — the OAuth client has to name the pod's own callback URL, which cannot +exist before the pod does. We show that URL and walk through it rather than letting people discover +it. And we track your `main`, not a tag, since there are no releases to pin to. + +## What it would break + +Nothing in the codebase — it is a README line and an image. The cost is editorial: it puts a vendor's +name in your README, and if our page is wrong or our hosting is down it reflects on you. Fair +objections. If you would rather not, that is a completely reasonable answer and the app stays +available either way. + +## The offer + +If you do want it, we pay 20% of the recurring revenue from anyone who signs up through your link, +for as long as they stay. We would put your referral code in the URL so it is attributed to you +rather than to us. No exclusivity, and nothing changes about the licence or the code. + +Either way, we would rather you told us the page is wrong than left it wrong. Contact is +vikas@instapods.com.