{"id":50477542,"url":"https://github.com/code-hemu/addonova","last_synced_at":"2026-06-01T14:31:19.661Z","repository":{"id":360950445,"uuid":"1252391095","full_name":"code-hemu/addonova","owner":"code-hemu","description":"Next-Generation Web Extension Framework 😉","archived":false,"fork":false,"pushed_at":"2026-05-28T14:04:56.000Z","size":32,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-28T16:07:15.347Z","etag":null,"topics":["add-on","addonova","build-tool","chrome-extension"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/code-hemu.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":"2026-05-28T13:26:25.000Z","updated_at":"2026-05-28T14:07:18.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/code-hemu/addonova","commit_stats":null,"previous_names":["code-hemu/addonova"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/code-hemu/addonova","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/code-hemu%2Faddonova","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/code-hemu%2Faddonova/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/code-hemu%2Faddonova/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/code-hemu%2Faddonova/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/code-hemu","download_url":"https://codeload.github.com/code-hemu/addonova/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/code-hemu%2Faddonova/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33780085,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-01T02:00:06.963Z","response_time":115,"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":["add-on","addonova","build-tool","chrome-extension"],"created_at":"2026-06-01T14:31:18.631Z","updated_at":"2026-06-01T14:31:19.649Z","avatar_url":"https://github.com/code-hemu.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Addonova\n\n[![Addonova Social Banner](https://raw.githubusercontent.com/code-hemu/addonova/refs/heads/main/docs/assets/capture.jpg)](https://github.com/code-hemu/addonova)\n\nAddonova is a framework that allows developers to build extensions for multiple browsers. Developers can easily build, test, and manage extensions.\n\n## Quick Start\n\n```bash\nnpx addonova init my-extension\ncd my-extension\nnpm run release\n```\n\n## Supported Browsers\n\n- Chrome (MV3)\n- Firefox\n- Microsoft Edge\n- Opera\n- Naver Whale\n- Thunderbird\n\n## CLI Commands\n\n| Command | Description |\n| --- | --- |\n| `addonova init \u003cname\u003e` | Scaffold a new extension project |\n| `addonova build [options]` | Build the current extension project |\n| `addonova zip` | Create release zip bundles |\n| `addonova tool` | Open the i18n tools UI in a browser |\n| `addonova --help` | Show help |\n\n## Build Scripts\n\nGenerated projects include these npm scripts:\n\n```bash\nnpm run release\nnpm run release:chrome\nnpm run release:edge\nnpm run release:opera\nnpm run release:firefox\nnpm run release:thunderbird\nnpm run release:naver\n\nnpm run debug\nnpm run debug:chrome\nnpm run debug:edge\nnpm run debug:opera\nnpm run debug:firefox\nnpm run debug:thunderbird\nnpm run debug:naver\n\nnpm run dev\nnpm run zip\nnpm test\n```\n\nYou can also call the CLI directly:\n\n```bash\nnpx addonova build --all --release\nnpx addonova build --chrome --debug\nnpx addonova build --all --debug --watch\nnpx addonova zip\nnpx addonova tool\n```\n\n## Build Options\n\n| Option | Description |\n| --- | --- |\n| `--all` | Build all configured browsers |\n| `--chrome` | Build Chrome target |\n| `--edge` | Build Microsoft Edge target |\n| `--firefox` | Build Firefox target |\n| `--opera` | Build Opera target |\n| `--naver` | Build Naver Whale target |\n| `--thunderbird` | Build Thunderbird target |\n| `--release` | Create release build |\n| `--debug` | Create debug build |\n| `--watch` | Rebuild when files change and reload opened extensions |\n| `--open` | Open a browser with the debug extension loaded |\n| `--test` | Build test version |\n| `--version=x.x.x` | Append version to output zip names |\n\n## Dev Mode\n\n```bash\nnpm run dev\n```\n\nDev mode runs:\n\n```bash\naddonova build --all --debug --watch\n```\n\nAddonova opens an isolated browser profile, loads the unpacked debug extension from `.output/debug/\u003cbrowser\u003e`, watches source files, rebuilds changed assets, and reloads the extension when the built files change.\n\n## Generated Extension Structure\n\n```txt\nmy-extension/\n|-- config/\n|-- platform/\n|-- src/\n|   |-- _locales/\n|   |-- assets/\n|   |-- css/\n|   |-- html/\n|   |-- js/\n|   `-- manifest/\n|-- .output/\n`-- package.json\n```\n\n## Locales / i18n\n\nLocale files use the `.i18n` format:\n\n```txt\n@extensionName\nMy Extension\n\n@extensionDescription\nThis is my extension description.\n```\n\nRun the interactive message manager from a generated project:\n\n```bash\nnpm run tool\n```\n\nOr use the i18n tools UI:\n\n```bash\nnpx addonova tool\n```\n\nThis opens a full UI at `http://localhost:9876` with:\n- **Translate tab** — view all locale messages, add new messages with auto-translation, delete messages\n- **JSON → i18n tab** — drag-and-drop a `messages.json` file to convert to `.i18n` format\n\n## Development\n\nRun the test suite:\n\n```bash\nnpm test\n```\n\nCheck what will be published:\n\n```bash\nnpm pack --dry-run\n```\n\n## Requirements\n\n- Addonova package: Node.js \u003e= 20.19\n- Generated extension template: Node.js \u003e= 22 and npm \u003e= 11\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcode-hemu%2Faddonova","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcode-hemu%2Faddonova","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcode-hemu%2Faddonova/lists"}