MCPcopy Index your code
hub / github.com/utterance/utterances

github.com/utterance/utterances @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
78 symbols 159 edges 21 files 0 documented · 0% updated 23mo ago★ 9,676146 open issues
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

utterances 🔮

A lightweight comments widget built on GitHub issues. Use GitHub issues for blog comments, wiki pages and more!

  • Open source. 🙌
  • No tracking, no ads, always free. 📡🚫
  • No lock-in. All data stored in GitHub issues. 🔓
  • Styled with Primer, the css toolkit that powers GitHub. 💅
  • Dark theme. 🌘
  • Lightweight. Vanilla TypeScript. No font downloads, JavaScript frameworks or polyfills for evergreen browsers. 🐦🌲

how it works

When Utterances loads, the GitHub issue search API is used to find the issue associated with the page based on url, pathname or title. If we cannot find an issue that matches the page, no problem, utterances-bot will automatically create an issue the first time someone comments.

To comment, users must authorize the utterances app to post on their behalf using the GitHub OAuth flow. Alternatively, users can comment on the GitHub issue directly.

configuration

sites using utterances

Are you using utterances? Add the utterances topic on your repo!

try it out 👇👇👇

Extension points exported contracts — how you extend this code

ResizeMessage (Interface)
(no doc)
src/measure.ts
IssueSearchResponse (Interface)
(no doc)
src/github.ts
RepoConfig (Interface)
(no doc)
src/repo-config.ts
User (Interface)
(no doc)
src/github.ts
Reactions (Interface)
(no doc)
src/github.ts
Reaction (Interface)
(no doc)
src/github.ts
Issue (Interface)
(no doc)
src/github.ts

Core symbols most depended-on inside this repo

githubRequest
called by 9
src/github.ts
githubFetch
called by 9
src/github.ts
scheduleMeasure
called by 8
src/measure.ts
makeConfigScriptAttribute
called by 7
src/configuration-component.ts
loadCommentsPage
called by 4
src/github.ts
remove
called by 3
src/timeline-component.ts
renderCount
called by 3
src/timeline-component.ts
outputConfig
called by 3
src/configuration-component.ts

Shape

Function 43
Method 18
Interface 9
Class 8

Languages

TypeScript100%

Modules by API surface

src/github.ts22 symbols
src/timeline-component.ts10 symbols
src/utterances.ts8 symbols
src/new-comment-component.ts8 symbols
src/configuration-component.ts7 symbols
src/reactions.ts6 symbols
src/comment-component.ts5 symbols
src/measure.ts4 symbols
src/repo-config.ts2 symbols
src/oauth.ts2 symbols
src/time-ago.ts1 symbols
src/theme.ts1 symbols

Dependencies from manifests, versioned

@parcel/packager-raw-url2.3.1 · 1×
@parcel/packager-xml2.3.1 · 1×
@parcel/transformer-sass2.3.1 · 1×
@parcel/transformer-typescript-tsc2.3.1 · 1×
@parcel/transformer-webmanifest2.3.1 · 1×
@parcel/transformer-xml2.3.1 · 1×
@primer/css15.2.0 · 1×
autoprefixer10.4.2 · 1×
gh-pages3.2.3 · 1×
github-syntax-dark0.5.0 · 1×
github-syntax-light0.5.0 · 1×
parcel2.3.1 · 1×

For agents

$ claude mcp add utterances \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact