{"id":30657342,"url":"https://github.com/ow-mods/ow-mod-db","last_synced_at":"2025-10-28T17:44:06.277Z","repository":{"id":37209171,"uuid":"262337469","full_name":"ow-mods/ow-mod-db","owner":"ow-mods","description":"Self-updating database of Outer Wilds mods","archived":false,"fork":false,"pushed_at":"2025-08-30T14:59:01.000Z","size":186049,"stargazers_count":13,"open_issues_count":8,"forks_count":26,"subscribers_count":0,"default_branch":"source","last_synced_at":"2025-08-30T15:06:41.699Z","etag":null,"topics":["github-actions","outer-wilds"],"latest_commit_sha":null,"homepage":"https://outerwildsmods.com","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ow-mods.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2020-05-08T13:57:37.000Z","updated_at":"2025-08-19T20:42:22.000Z","dependencies_parsed_at":"2023-12-28T07:41:17.036Z","dependency_job_id":"123686c3-3666-4059-88f3-b164ce7439e5","html_url":"https://github.com/ow-mods/ow-mod-db","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ow-mods/ow-mod-db","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ow-mods%2Fow-mod-db","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ow-mods%2Fow-mod-db/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ow-mods%2Fow-mod-db/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ow-mods%2Fow-mod-db/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ow-mods","download_url":"https://codeload.github.com/ow-mods/ow-mod-db/tar.gz/refs/heads/source","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ow-mods%2Fow-mod-db/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":272971552,"owners_count":25024100,"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","status":"online","status_checked_at":"2025-08-31T02:00:09.071Z","response_time":79,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["github-actions","outer-wilds"],"created_at":"2025-08-31T11:13:13.894Z","updated_at":"2025-10-05T03:05:04.789Z","avatar_url":"https://github.com/ow-mods.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Outer Wilds Mod Database\n\nUses the mod list in [`mods.json` of the `source`](https://github.com/ow-mods/ow-mod-db/blob/source/mods.json) branch, fetches the required data for each mod. That data is then added to [`database.json` in the `master` branch](https://ow-mods.github.io/ow-mod-db/database.json). The process happens automatically every once in a while.\n\nThe database is deployed to GitHub Pages, since GitHub aggressively caches direct access to the raw file in the repo. So if you want to read from the database, you should use this URL: https://ow-mods.github.io/ow-mod-db/database.json\n\n## [Click here to add your mod to the database](https://github.com/ow-mods/ow-mod-db/issues/new?labels=add-mod\u0026template=add-mod.yml\u0026title=%5BYour+mod+name+here%5D)\n\nOr, if you want, you can [edit the mod list yourself and open a PR](https://github.com/ow-mods/outer-wilds-mod-db/edit/source/mods.json)\n\n## How it works\n\nGitHub Actions are used to periodically update the database. Check the [Update Releases workflow](https://github.com/ow-mods/ow-mod-db/blob/source/.github/workflows/update-releases.yml) and the [TypeScript code](https://github.com/ow-mods/ow-mod-db/tree/source/scripts) that fetches the data about each mod and generates the database.\n\n## Repository secrets\n\nIf you fork this repository, you'll need to add a few secrets for everything to work.\n\n### `GH_TOKEN`\n\nGitHub token with repo permissions. Format:\n\n```\nghp_XXX\n```\n\n### `GH_USER`\n\nUser name that owns GH_TOKEN\n\n### `DISCORD_HOOK_URL`\n\nDiscord web hook URL where all the notifications are sent. Format:\n\n```\nhttps://discord.com/api/webhooks/XXX/YYY\n```\n\n### `DISCORD_MOD_HOOK_URLS`\n\nJSON object where keys are the uniqueName of a mod, and the values are the Discord hook urls of the channel where update notifications should be sent to. Format:\n\n```json\n{\n  \"uniqueNameA\": \"https://discord.com/api/webhooks/XXX/YYY\",\n  \"uniqueNameB\": \"https://discord.com/api/webhooks/WWW/ZZZ\"\n}\n```\n\n### DISCORD_MOD_UPDATE_ROLE_ID\n\nID for the Discord role to ping when there's a mod update.\n\n### DISCORD_NEW_MOD_ROLE_ID\n\nID for the Discord role to ping when there's a new mod added to the database.\n\n### GOOGLE_SERVICE_ACCOUNT\n\nBase64-encoded JSON object. Credentials of a Google service account with permissions to get the outerwildsmods.com view counts from google analytics. JSON format (before base64 encoding):\n\n```json\n{\n  \"type\": \"service_account\",\n  \"project_id\": \"XXX\",\n  \"private_key_id\": \"XXX\",\n  \"private_key\": \"XXX\",\n  \"client_email\": \"XXX\",\n  \"client_id\": \"XXX\",\n  \"auth_uri\": \"https://accounts.google.com/o/oauth2/auth\",\n  \"token_uri\": \"https://oauth2.googleapis.com/token\",\n  \"auth_provider_x509_cert_url\": \"https://www.googleapis.com/oauth2/v1/certs\",\n  \"client_x509_cert_url\": \"XXX\"\n}\n```\n\nThe Google service account is created on [Google Cloud](https://console.cloud.google.com). Specifically, you need to create the credentials on [APIs and Services -\u003e Google Analytics Data API -\u003e Credentials](https://console.cloud.google.com/apis/api/analyticsdata.googleapis.com/credentials). Then I guess (because I don't remember if that's how I did it back then) you fill in the json above, encode it with base64, and save it in the `GOOGLE_SERVICE_ACCOUNT` secret.\n\nYou also need to note the \"email\" address of those credentials, and give it view permissions in [Google Analytics](https://analytics.google.com/analytics), under Admin -\u003e Account -\u003e Account Access Management. Fun stuff.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fow-mods%2Fow-mod-db","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fow-mods%2Fow-mod-db","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fow-mods%2Fow-mod-db/lists"}