{"id":22916390,"url":"https://github.com/omgreenfield/omg-tamper-monkey","last_synced_at":"2026-05-07T01:35:57.539Z","repository":{"id":249755833,"uuid":"832450390","full_name":"omgreenfield/omg-tamper-monkey","owner":"omgreenfield","description":"A collection of TamperMonkey scripts to add Chrome hotkeys to ChatGPT and other websites.","archived":false,"fork":false,"pushed_at":"2024-12-13T18:27:52.000Z","size":14,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-01T12:50:49.965Z","etag":null,"topics":["chatgpt","github","tampermonkey"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/omgreenfield.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"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}},"created_at":"2024-07-23T03:55:39.000Z","updated_at":"2024-12-13T18:27:55.000Z","dependencies_parsed_at":"2025-02-07T07:38:06.916Z","dependency_job_id":null,"html_url":"https://github.com/omgreenfield/omg-tamper-monkey","commit_stats":null,"previous_names":["omgreenfield/omg-tamper-monkey"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/omgreenfield/omg-tamper-monkey","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/omgreenfield%2Fomg-tamper-monkey","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/omgreenfield%2Fomg-tamper-monkey/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/omgreenfield%2Fomg-tamper-monkey/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/omgreenfield%2Fomg-tamper-monkey/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/omgreenfield","download_url":"https://codeload.github.com/omgreenfield/omg-tamper-monkey/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/omgreenfield%2Fomg-tamper-monkey/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262402473,"owners_count":23305657,"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":["chatgpt","github","tampermonkey"],"created_at":"2024-12-14T06:12:40.606Z","updated_at":"2026-05-07T01:35:52.506Z","avatar_url":"https://github.com/omgreenfield.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# OMG Tampermonkey\n\n- [Tampermonkey](#tampermonkey)\n- [User scripts](#user-scripts)\n  - [`util.js`](#utiljs)\n  - [`chat_gpt_hotkeys.js`](#chat_gpt_hotkeysjs)\n  - [`github_hotkeys.js`](#github_hotkeysjs)\n\n## Tampermonkey\n\n[Tampermonkey](https://www.tampermonkey.net/) is a browser extension used to add custom JavaScript to pages that match a filter you specify.\n\nAlthough `Tampermonkey` is one word, I decided to separate `tamper` and `monkey` in the repo name.\n\n## User scripts\n\nThe scripts in this repo add hotkeys to pages I used frequently, e.g. ChatGPT and GitHub.\n\nRather than the typical `YYYY-MM-DD` date format, I use `MM_DD_YYYY` because I use it other personal documents and I have a hotstring for it (via [AutoHotkey](https://autohotkey.com/) for Windows, [Keyboard Maestro](https://www.keyboardmaestro.com/) for Mac).\n\n### `util.js`\n\nRather than using a library like lodash or jQuery, I include only the functions necessary to accomplish tasks I need: locating elements and registering hotkeys\n\nBecause other user scripts use these functions, I include the `@run-at document-start` directive while others use `@run-at document-end`.\n\nThe other user scripts below:\n\n1. Define functions for each custom action\n2. Call `window.registerHotkeys` to associate a key combination with each function\n\n### `chat_gpt_hotkeys.js`\n\nAdds hotkeys to `https://chatgpt.com/*` including:\n\n- Focus chat textarea\n- Start new chat\n- Edit last message\n- Submit/cancel edited message\n- Toggle sidebar\n- Scroll to top/bottom\n\n### `github_hotkeys.js`\n\nAdds hotkeys to `https://github.com/*/pull/*` (i.e. pull requests) including:\n\n- Navigate to Conversation\n- Navigate to Commits\n- Navigate to Checks\n- Navigate to Files\n- Edit PR title\n- Edit PR body\n- (WIP) Cancel editing\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fomgreenfield%2Fomg-tamper-monkey","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fomgreenfield%2Fomg-tamper-monkey","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fomgreenfield%2Fomg-tamper-monkey/lists"}