FeaturesTemplatesShowcaseTownie
AI
BlogDocsPricing
Log inSign up
charmaine

charmaine

AI-Change-Logs

Val Town Weekly Change Logs
Public
Like
AI-Change-Logs
Home
Code
7
.vtignore
README.md
config.ts
C
gh-to-discord.tsx
index.html
process-commits.tsx
H
server.tsx
Branches
1
Pull requests
Remixes
History
Environment variables
2
Val Town is a collaborative website to build and scale JavaScript apps.
Deploy APIs, crons, & store data – all from the browser, and deployed in milliseconds.
Sign up now
Code
/
README.md
Code
/
README.md
Search
9/2/2025
Viewing readonly version of main branch: v24
View latest version
README.md

GitHub to Discord Changelog Notifier

A val that automatically fetches GitHub commits from multiple repositories and posts formatted changelog updates to Discord. It categorizes commits based on conventional commit messages ie. feat:, fix: etc., and uses AI to generate user-friendly summaries.

Example: Screenshot 2025-05-24 at 6.12.40 PM.png

Configuration

Repository Setup

The repositories to monitor are configured directly in the code in process-commits.tsx. Update the REPOS array to add or modify repositories:

const REPOS = [ { owner: "steel-dev", name: "steel-browser", branch: "main" }, { owner: "steel-dev", name: "steel-api", branch: "develop" }, { owner: "steel-dev", name: "steel-docs", branch: "main" }, ];

Each repo configuration includes:

  • owner: GitHub repository owner/organization
  • name: Repository name
  • branch: Specific branch to monitor (e.g., "main", "develop", "staging")

Environment Variables

Before you can run the cron or try out the playground, you must add the following Environment Variables (via left sidebar of this val):

  • GITHUB_TOKEN:
    • For public repos, or personal repos: Go to GitHub Personal Access Tokens → Generate new token (classic) → Select repo scope
    • For org-owned repos: Go to GitHub Personal Access Tokens → Resource Owner → Select the org the repo belongs to → read access to Contents. You will need approval from the org admin.
  • DISCORD_WEBHOOK_URL: In your Discord server → Server Settings → Integrations → Webhooks → New Webhook → Copy Webhook URL

How to use

  • gh-to-discord.tsx is a cron that runs automatically based on your configured schedule, fetching commits since the last run

  • playground.tsx You can also manually test this val using the playground.tsx HTTP endpoint.

Here's an Example Playground with the steel repo.

Key Features

Multi-Repository Support

  • Monitor multiple repositories simultaneously
  • Support for different branches per repository
  • Single unified changelog combining all repositories
  • Each commit shows which repository it came from: [repo-name] commit message

Commit Categorization

The bot automatically categorizes commits into the following sections (feel free to add more!):

  • ✨ New Features (feat:)
  • 🐛 Bug Fixes (fix:)
  • ⚙️ Chores & Maintenance (chore:)
  • 📋 Other Updates (uncategorized commits)

Customizing AI Summaries

Each commit message is processed by GPT to generate a more user-friendly message.

You can modify the GPT prompt in the generateUserFocusedSummary() function in process-commits.tsx. You can paste in examples of past changelogs to help the LLM understand your desired tone.

FeaturesVersion controlCode intelligenceCLI
Use cases
TeamsAI agentsSlackGTM
ExploreDocsShowcaseTemplatesNewestTrendingAPI examplesNPM packages
PricingNewsletterBlogAboutCareersBrandhi@val.townStatus
X (Twitter)
Discord community
GitHub discussions
YouTube channel
Bluesky
Terms of usePrivacy policyAbuse contact
© 2025 Val Town, Inc.