Stringly-Typed

Every PR is a chance to ship off-brand copy.
Catch it automatically.

AI-powered brand voice checks in your GitHub workflow. Catch tone violations before they merge.

Star|Demo Repo|MIT License|Free & Open Source
stringly-typed
github-actionsbotcommented 2 minutes ago

🎯Stringly-Typed Results

Failed: Found 15 critical issue(s)

Issues Found

LineContentIssueSuggestion
6ERROR: Persistence layer failed to commit trans...Technical jargon, unfriendly tone"Something went wrong. Please try again."
9The user's session has been successfully authen...Passive voice, refers to "the user""You're signed in!"
18WARNING: THIS ACTION CANNOT BE UNDONE. ALL DATA...Aggressive caps, threatening tone"Are you sure? This can't be undone."

🎯Posted byStringly-Typed

How It Works

Add one workflow file. Define your brand voice. Every PR gets checked automatically.

1. Add workflow
stringly-typed.yml
# .github/workflows/stringly-typed.yml
name: Stringly-Typed
on: [push, pull_request]
jobs:
brand-check:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: ddnetters/stringly-typed@v1
env:
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
with:
files: 'src/**/*.{ts,tsx}'
checker: 'brand_style'
style-guide-file: 'STYLE_GUIDE.md'
2. Get feedback
ST
stringly-typedbot
Passed12/12 strings valid
All strings match your brand voice
Consistent terminology throughout
Active voice used correctly

Get Started in 2 Minutes

Two files. That's all you need. Define your brand voice, add the workflow, done.

# Brand Voice
## Tone
- Use active voice, not passive
- Be friendly but professional
- Keep sentences under 20 words
## Terminology
- Say "customers" not "users"
- Say "Select" not "Click"
- Say "dashboard" not "admin panel"
## Avoid
- Jargon and buzzwords
- Exclamation marks (except celebrations)
- ALL CAPS for emphasis
1Add STYLE_GUIDE.md to your repo
2Add workflow to .github/workflows/
Push and you're done!