mirror of
https://github.com/anultravioletaurora/Jellify.git
synced 2025-12-18 03:34:40 -06:00
57 lines
1.7 KiB
JavaScript
57 lines
1.7 KiB
JavaScript
import { writeFileSync } from 'fs'
|
|
import { OpenAI } from 'openai'
|
|
|
|
const openai = new OpenAI({
|
|
apiKey: process.env.OPENAI_API_KEY,
|
|
})
|
|
|
|
async function main() {
|
|
const commitMessages = process.argv[2]
|
|
|
|
if (!commitMessages) {
|
|
console.error('❌ Missing commit messages')
|
|
process.exit(1)
|
|
}
|
|
|
|
const response = await openai.chat.completions.create({
|
|
model: 'gpt-5',
|
|
messages: [
|
|
{
|
|
role: 'system',
|
|
content:
|
|
'You are a React Native developer named Violet that is writing concise and friendly mobile app release notes from commit messages.',
|
|
},
|
|
{
|
|
role: 'system',
|
|
content:
|
|
'You are writing release notes for a mobile app called Jellify. The app is a music player that allows you to play music from your Jellyfin media server and stream music from the internet.',
|
|
},
|
|
{
|
|
role: 'system',
|
|
content:
|
|
'Release notes should be concise and helpful to any user of the app - regardless of their technical knowledge. Highlight things that an average user would care about.',
|
|
},
|
|
{
|
|
role: 'system',
|
|
content:
|
|
'Release notes should be written in a way that is easy to understand and follow, and engaging and entertaining to read.',
|
|
},
|
|
{
|
|
role: 'system',
|
|
content:
|
|
'Do not include emojis in the release notes. Do not include emojis at all.',
|
|
},
|
|
{
|
|
role: 'user',
|
|
content: `Write a release summary based on these commit messages:\n${commitMessages}. I'm a user of the app and I want to know what will be different in the app after I update.`,
|
|
},
|
|
],
|
|
})
|
|
|
|
const releaseNotes = response.choices[0].message.content.trim()
|
|
writeFileSync('release_notes.txt', releaseNotes, 'utf8')
|
|
console.log('✅ Release notes written to release_notes.txt')
|
|
}
|
|
|
|
main()
|