Skip to content

Commit 122cb9a

Browse files
committed
Add changelog-driven release announcements
1 parent de4ac97 commit 122cb9a

21 files changed

Lines changed: 1587 additions & 43 deletions

.github/workflows/release.yml

Lines changed: 33 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,13 @@ on:
44
push:
55
branches:
66
- main
7-
workflow_dispatch: {}
7+
workflow_dispatch:
8+
inputs:
9+
announcement_dry_run:
10+
description: "Generate release announcement copy without publishing to Discord or X"
11+
required: false
12+
default: false
13+
type: boolean
814

915
concurrency:
1016
group: ${{ github.workflow }}-${{ github.ref }}
@@ -232,3 +238,29 @@ jobs:
232238
}
233239
}
234240
}
241+
242+
- name: Announce widget release
243+
if: steps.browser_package.outputs.published == 'true'
244+
continue-on-error: true
245+
env:
246+
ANNOUNCEMENT_CHANGELOG_BASE_URL: ${{ vars.ANNOUNCEMENT_CHANGELOG_BASE_URL }}
247+
BROWSER_VERSION: ${{ steps.browser_package.outputs.version }}
248+
DISCORD_RELEASE_WEBHOOK_URL: ${{ secrets.DISCORD_RELEASE_WEBHOOK_URL }}
249+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
250+
REPOSITORY: ${{ github.repository }}
251+
X_ACCESS_TOKEN: ${{ secrets.X_ACCESS_TOKEN }}
252+
X_ACCESS_TOKEN_SECRET: ${{ secrets.X_ACCESS_TOKEN_SECRET }}
253+
X_API_KEY: ${{ secrets.X_API_KEY }}
254+
X_API_SECRET: ${{ secrets.X_API_SECRET }}
255+
shell: bash
256+
run: |
257+
args=(
258+
--version "${BROWSER_VERSION}"
259+
--repo "${REPOSITORY}"
260+
)
261+
262+
if [[ "${{ github.event_name }}" == "workflow_dispatch" && "${{ inputs.announcement_dry_run }}" == "true" ]]; then
263+
args+=(--dry-run)
264+
fi
265+
266+
bun run packages/release/src/announce-widget-release.ts "${args[@]}"

apps/facehash-landing/tsconfig.tsbuildinfo

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

apps/web/content/changelog/2026-04-20-v0.2.0.mdx

Lines changed: 62 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -4,38 +4,68 @@ description: "Script tag embeds, automatic shadcn theming, and AI knowledge clar
44
tiny-excerpt: "Script embeds and AI clarification"
55
date: "2026-04-20"
66
author: "Cossistant Team"
7+
discord-announcement: |
8+
Cossistant v0.2.0 is live.
9+
You can now ship the widget with a simple script tag, inherit shadcn theming automatically, and let the AI ask for clarification when knowledge is missing.
10+
Read the full changelog: https://cossistant.com/changelog/2026-04-20-v0.2.0
11+
x-announcement: |
12+
Cossistant v0.2.0 is out: script tag embeds, automatic shadcn theming, and AI clarification when knowledge is missing.
13+
https://cossistant.com/changelog/2026-04-20-v0.2.0
714
---
815

916
Major improvements to widget flexibility with script tag embeds, automatic theme detection, and smarter AI knowledge handling.
1017

18+
<ScreenshotFrame
19+
backgroundColor="bg-background-300"
20+
backgroundImageSrc=""
21+
items={[
22+
{
23+
alt: "Clarify knowledge gaps",
24+
browserUrl: "https://cossistant.com",
25+
legend: "Clarify knowledge gaps",
26+
src: "https://cdn.cossistant.com/changelog/2026-04-20.png",
27+
type: "browser",
28+
},
29+
30+
]}
31+
type="browser"
32+
/>
33+
1134
### Highlights
1235

1336
- <HighlightLine variant="new">
14-
**Script tag embeds**: Install Cossistant via CDN without React using a simple script tag.
37+
**Script tag embeds**: Install Cossistant via CDN without React using a
38+
simple script tag.
1539
</HighlightLine>
1640
- <HighlightLine variant="new">
17-
**Auto shadcn detection**: Widget automatically inherits your shadcn theme variables.
41+
**Auto shadcn detection**: Widget automatically inherits your shadcn theme
42+
variables.
1843
</HighlightLine>
1944
- <HighlightLine variant="new">
20-
**Knowledge clarification**: AI asks for clarification when it spots knowledge gaps.
45+
**Knowledge clarification**: AI asks for clarification when it spots
46+
knowledge gaps.
2147
</HighlightLine>
2248

2349
### Support Widget
2450

2551
- <HighlightLine variant="new">
26-
**Browser package**: New `@cossistant/browser` package for non-React apps via script tag.
52+
**Browser package**: New `@cossistant/browser` package for non-React apps
53+
via script tag.
2754
</HighlightLine>
2855
- <HighlightLine variant="updated">
29-
**Theme detection**: Automatically detects and uses shadcn CSS variables when present.
56+
**Theme detection**: Automatically detects and uses shadcn CSS variables
57+
when present.
3058
</HighlightLine>
3159
- <HighlightLine variant="updated">
32-
**Modular core**: Refactored widget architecture for better customization and reusability.
60+
**Modular core**: Refactored widget architecture for better customization
61+
and reusability.
3362
</HighlightLine>
3463

3564
### Dashboard
3665

3766
- <HighlightLine variant="new">
38-
**Knowledge clarification requests**: Review and respond to AI knowledge gap requests.
67+
**Knowledge clarification requests**: Review and respond to AI knowledge gap
68+
requests.
3969
</HighlightLine>
4070
- <HighlightLine variant="new">
4171
**Visitor geolocation**: Enhanced visitor detail pages with location data.
@@ -47,7 +77,8 @@ Major improvements to widget flexibility with script tag embeds, automatic theme
4777
### Bug Fixes & Improvements
4878

4979
- <HighlightLine variant="fixed">
50-
**AI reliability**: More consistent AI agent responses with improved error handling.
80+
**AI reliability**: More consistent AI agent responses with improved error
81+
handling.
5182
</HighlightLine>
5283
- <HighlightLine variant="fixed">
5384
**Vite support**: Better compatibility with Vite-based projects.
@@ -62,13 +93,28 @@ Major improvements to widget flexibility with script tag embeds, automatic theme
6293
npm install @cossistant/react@0.2.0 @cossistant/next@0.2.0
6394
```
6495

65-
### Example
96+
### Use Cossistant with a script tag
97+
98+
Perfect to use outside of React, with Vue, or in tools like Framer and Webflow.
99+
You can point to a specific version for predictable upgrades, or use `latest`
100+
to always load the newest release.
66101

67102
```html showLineNumbers
68-
<!-- Script tag embed (no React required) -->
69-
<script
70-
src="https://cdn.cossistant.com/widget/v0.2.0/cossistant.min.js"
71-
data-project-id="your-project-id"
72-
data-theme="auto"
73-
></script>
74-
```
103+
<!-- Pin to a specific version -->
104+
<script async src="https://cdn.cossistant.com/widget/0.2.0/loader.js"></script>
105+
<script>
106+
window.Cossistant.init({
107+
publicKey: "pk_live_...",
108+
});
109+
</script>
110+
```
111+
112+
```html showLineNumbers
113+
<!-- Or always use the latest release -->
114+
<script async src="https://cdn.cossistant.com/widget/latest/loader.js"></script>
115+
<script>
116+
window.Cossistant.init({
117+
publicKey: "pk_live_...",
118+
});
119+
</script>
120+
```

apps/web/source.config.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,8 @@ export const changelog = defineCollections({
123123
version: z.string().optional(),
124124
description: z.string(),
125125
"tiny-excerpt": z.string().optional(),
126+
"discord-announcement": z.string().optional(),
127+
"x-announcement": z.string().optional(),
126128
date: z.string(),
127129
author: z.string(),
128130
}),

apps/web/src/lib/seo-content.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,8 @@ type ChangelogFrontmatter = {
5454
date: string;
5555
author: string;
5656
"tiny-excerpt"?: string;
57+
"discord-announcement"?: string;
58+
"x-announcement"?: string;
5759
};
5860

5961
type BlogTagRegistryEntry = {

bun.lock

Lines changed: 20 additions & 7 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

findings.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,11 @@
3232
- `/Users/anthonyriera/code/cossistant-monorepo/README.md`
3333
- `/Users/anthonyriera/code/cossistant-monorepo/apps/web/content/docs/(root)/what.mdx`
3434
- `/Users/anthonyriera/code/cossistant-monorepo/apps/web/content/docs/support-component/index.mdx`
35+
- Cossistant's default fast path is the `<Support />` component, and the widget can be styled through Tailwind-friendly support styles and stable styling hooks
36+
- Source:
37+
- `/Users/anthonyriera/code/cossistant-monorepo/apps/web/content/docs/support-component/index.mdx`
38+
- `/Users/anthonyriera/code/cossistant-monorepo/apps/web/content/docs/quickstart/react.mdx`
39+
- `/Users/anthonyriera/code/cossistant-monorepo/packages/react/README.md`
3540
- Tinybird is explicitly used for:
3641
- inbox analytics
3742
- live visitor presence
@@ -111,6 +116,7 @@
111116
| Cossistant is open source and code-first | `/README.md` and `/apps/web/content/blog/introducing-cossistant.mdx` | verified |
112117
| Cossistant is API-driven and provides backend infrastructure | `/README.md` | verified |
113118
| Cossistant offers headless support primitives and custom builds | `/apps/web/content/docs/(root)/what.mdx` and `/apps/web/content/docs/support-component/index.mdx` | verified |
119+
| Cossistant ships with a `<Support />` component and can be styled with Tailwind or used in more headless ways | `/apps/web/content/docs/support-component/index.mdx`, `/apps/web/content/docs/quickstart/react.mdx`, and `/packages/react/README.md` | verified |
114120
| Tinybird powers inbox analytics and live visitor presence | `/apps/web/content/docs/self-host/analytics.mdx` | verified |
115121
| Tinybird endpoints include inbox analytics, online now, visitor presence, and geo presence locations | `/tinybird/README.md` | verified |
116122
| Frontend Tinybird access uses short-lived JWTs scoped by website and pipe | `/apps/api/src/lib/tinybird-jwt.ts` | verified |

packages/release/package.json

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,15 @@
99
"dependencies": {
1010
"@dotenvx/dotenvx": "^1.51.2",
1111
"@openrouter/ai-sdk-provider": "^2.5.1",
12+
"@xdevplatform/xdk": "^0.5.0",
1213
"ai": "^6.0.154",
1314
"commander": "^14.0.0",
1415
"execa": "^9.6.0",
1516
"fs-extra": "^11.3.1",
1617
"kleur": "^4.1.5",
1718
"ora": "^8.2.0",
1819
"prompts": "^2.4.2",
20+
"yaml": "^2.8.3",
1921
"zod": "^3.24.1"
2022
},
2123
"devDependencies": {
@@ -26,6 +28,7 @@
2628
},
2729
"scripts": {
2830
"release": "bun run src/index.ts",
29-
"check-types": "tsc --noEmit --project tsconfig.json"
31+
"check-types": "tsc --noEmit --project tsconfig.json",
32+
"test": "bun test src"
3033
}
3134
}

0 commit comments

Comments
 (0)