{"id":15711073,"url":"https://github.com/hrai/auto-capitalise-sentence","last_synced_at":"2026-01-06T04:14:05.214Z","repository":{"id":38319977,"uuid":"194344393","full_name":"hrai/auto-capitalise-sentence","owner":"hrai","description":"Firefox/Google Chrome/Microsoft Edge (chromium) add-on to automatically capitalise the first letter of a sentence while typing.","archived":false,"fork":false,"pushed_at":"2025-04-21T10:44:46.000Z","size":9637,"stargazers_count":6,"open_issues_count":0,"forks_count":3,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-05-08T16:58:18.259Z","etag":null,"topics":["add-on","browser-extension","case-converter","chrome-extension","chromium","chromium-extension","firefox","firefox-addon","firefox-extension","google-chrome-extension","javascript","microsoft-edge","microsoft-edge-extension","mozilla-firefox","mozilla-firefox-addon"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hrai.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":["hrai"]}},"created_at":"2019-06-28T23:35:19.000Z","updated_at":"2025-04-17T04:21:08.000Z","dependencies_parsed_at":"2023-02-18T07:30:50.912Z","dependency_job_id":"1fe15cc4-20ce-4804-a6dd-b5f7e8398561","html_url":"https://github.com/hrai/auto-capitalise-sentence","commit_stats":{"total_commits":464,"total_committers":6,"mean_commits":77.33333333333333,"dds":0.6120689655172413,"last_synced_commit":"f3c724a8e8e0f5dabac648e3a7e45c7ea6305737"},"previous_names":[],"tags_count":157,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hrai%2Fauto-capitalise-sentence","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hrai%2Fauto-capitalise-sentence/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hrai%2Fauto-capitalise-sentence/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hrai%2Fauto-capitalise-sentence/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hrai","download_url":"https://codeload.github.com/hrai/auto-capitalise-sentence/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253112071,"owners_count":21856070,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["add-on","browser-extension","case-converter","chrome-extension","chromium","chromium-extension","firefox","firefox-addon","firefox-extension","google-chrome-extension","javascript","microsoft-edge","microsoft-edge-extension","mozilla-firefox","mozilla-firefox-addon"],"created_at":"2024-10-03T21:11:33.100Z","updated_at":"2026-01-06T04:14:05.210Z","avatar_url":"https://github.com/hrai.png","language":"JavaScript","funding_links":["https://github.com/sponsors/hrai"],"categories":[],"sub_categories":[],"readme":"# What is this extension?\n\nFirefox/Microsoft Edge Chromium add-on to automatically capitalise words while typing.\n\n## Features\n\n- Capitalise the first letter of a sentence.\n- Capitalise the word `I`.\n- Capitalise common [names](src/name-constants.js#L1)\n- Capitalise common [locations/places](src/location-constants.js#L1)\n- Capitalise common [abbreviations/acronyms](src/acronym-constants.js#L1)\n- Capitalise constants such as [days](src/constants.js#L6), [months](src/constants.js#L16)\n- Add apostrophe to common [English words](src/constants.js#L27)\n- Capitalise custom words\n- Optional Sentence Case mode (preserve internal word casing while capitalising sentence starts and standalone \"I\")\n- Per-field debounced processing to reduce performance impact (configurable delay)\n\n### Processing Modes\n\n**Word Case Mode (Default):**\n- Immediate capitalization as you type\n- Real-time feedback for most features\n- Optimized for responsive typing experience\n\n**Sentence Case Mode:**\n- All capitalization waits for the debounce delay (default: 5 seconds)  \n- No immediate processing - preserves exact typing flow\n- Comprehensive sentence structure analysis after timeout\n- Ideal for complex editing scenarios or when you prefer uninterrupted typing\n\n## Configuration/Settings\n\nThere are 4 sections to configure the extension.\n\n- Excluded websites: If you don't want the words to be auto-capitalised, you can add the website's name in the textarea and save it.\n\n  ![excluded-websites](imgs/excluded-websites.png)\n\n- Included words: If you want to capitalise some custom words, you can add them here.\n\n  ![included-words](imgs/included-words.png)\n\n- Excluded words: If you want to exclude words from being auto-capitalised, you can add the words in the textarea and save it.\n\n  ![excluded-words](imgs/excluded-words.png)\n\n- Enable/disable features: If you don't want any of the features provided by this extension, you can disable it here.\n\n  ![features](imgs/features.png)\n\n### Debounce Delay Configuration\n\nConfigure how long the extension waits after your last keystroke before performing capitalization processing.\n\n**Defaults:**\n- Default delay: 5000 ms (5 seconds)\n- Range: 0 – 60000 ms\n\n**Behavior by Mode:**\n\n**Word Case Mode:**\n- Most features apply immediately (no delay)\n- Debounce only affects complex sentence processing\n- Setting delay to 0 disables debouncing entirely\n\n**Sentence Case Mode:**  \n- ALL capitalization waits for the full debounce delay\n- No immediate processing regardless of delay setting\n- Comprehensive analysis runs only after timeout expires\n\n**General Behavior:**\n- Sliding window: each new keystroke resets the timer\n- Each editable field gets its own independent timer\n- Lower delays increase responsiveness but may impact performance\n\n**Recommendations:**\n- **Word Case**: 1000–3000 ms for balanced performance\n- **Sentence Case**: 3000–5000 ms for optimal typing flow  \n- **Complex editors**: 5000+ ms to avoid interruptions during long typing sessions\n\nTo change it, open the extension popup settings and update the Debounce Delay (ms) field. The change applies immediately to all newly observed inputs.\n\n## Add-on download links\n\n- [Chrome](https://chrome.google.com/webstore/detail/auto-capitalise-sentence/ibihgblnfolhldgjbikghldfhkgknlpa?hl=en-GB)\n- [Firefox](https://addons.mozilla.org/en-US/firefox/addon/auto-capitalise-sentence/)\n- [Microsoft Edge](https://microsoftedge.microsoft.com/addons/detail/auto-capitalise-sentence/ifebcbphlfoifeajpbecncpgjflpbann)\n\n## Exceptions\n\nCertain sites reset the text change so this extension will not work on them.\n\n- Reddit\n- WhatsApp Web\n- Facebook Messenger\n- Discord\n\n\n## How to contribute?\n\n### Sponsor\n\n- [Donate/Sponsor](https://github.com/sponsors/hrai) the project\n\n### Raise issues\n\n- Please feel free to raise issues on the GitHub issues page: [Issue Tracker](https://github.com/hrai/auto-capitalise-extension/issues)\n- PRs are welcome! :)\n\n## Developer notes\n\n- Running tests: this project uses Jest. From the repository root run `npm test` to execute the full test suite.\n- Recent tests required a small content-script guard and a cached snapshot persistence fix. If you import `src/content.js` into a non-extension environment (such as unit tests), ensure `webextension-polyfill` is mocked or available; the code now safely guards `browser.storage` access.\n- Branches: the repo historically used `master` as the primary branch; a `main` branch now exists and mirrors `master` for users who expect `main`.\n\nIf you plan to run tests locally, make sure dependencies are installed with Yarn:\n\n```bash\nyarn install\n```\n\nThen run the test suite:\n\n```bash\nyarn test\n```\n\nIf you see failures related to webextension APIs, the tests expect `webextension-polyfill` to be mocked (see `test/*` for examples).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhrai%2Fauto-capitalise-sentence","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhrai%2Fauto-capitalise-sentence","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhrai%2Fauto-capitalise-sentence/lists"}