Projects
You connected an extension and want to know what the platform now holds for it. A project is one browser extension: the builds, releases and store submissions that come out of one manifest.
console.extension.dev/<workspace>/<project>Two repositories
A project binds a source repository to a mirror repository:
| Repository | Owner | Job |
|---|---|---|
| Source | You | The code, the commits, the history |
| Mirror | The platform | Where builds actually run |
Every build runs in the mirror, on the platform's GitHub org, so Actions minutes burn on the platform's account and never on yours. The mirror follows the source; you never push to it.
What a project owns
| Thing | Where it lives |
|---|---|
| Builds, one artifact set per commit | Builds |
| Release channels and the build each holds | Releases |
| Store credentials and submission history | Stores |
| Environment variables, production and staging | Project settings, Environment |
| Access tokens for CI and agents | Project settings, Access tokens |
Settings sections
| Section | Controls |
|---|---|
| General | Name, description, project identity |
| Team | Who can act on the project |
| Environment | Variables in production, staging, or all channels |
| Build | Build command, output directory, browsers to build |
| Deployment | How released builds are dispatched |
| GitHub | Source repository connection and App installation |
| Channels | Release channels and their environment bindings |
| Stores | Store credentials, one set per store |
| Visibility | Public or private |
| Access tokens | Tokens for CI and agents |
| Danger | Transfer and deletion |
Visibility and share tokens
A project is public or private, nothing in between, and private is the default. Making it public exposes its listing page and released builds, never build logs, credentials, or environment variables. A private project can mint scoped share tokens instead, which open exactly the surface the token names and nothing else.
When it fails
- A push landed but no build started. The mirror did not receive it. Check Project settings, GitHub: the App must still be installed on the source repository's owner, and the connection must point at the branch you pushed.
- You are worried about the Actions bill. Builds run in the mirror on the platform's org. Your GitHub account is never charged a minute for them.
- A reviewer outside the workspace cannot open the project. Mint a scoped share token from Project settings, Access tokens, or share the build itself, see Share an unpublished build for review.
- The build runs but produces the wrong artifact. The command and output directory in Project settings, Build were inferred at import. Correct them per browser, the defaults are
dist/chrome,dist/edge,dist/firefox.
