Projects: what a workspace builds and runs, first on every page
A project is the thing you build and run, with one source where its code lives. Everything about running it (deployments, its address, secrets and variables) belongs to the project; branches, pull requests, review and merge rules stay with its repository. Every repository is a project of its own name, so every address keeps working. - services/projects (new): projects with their source (a hosted repository and a root directory), made for every repository when it is created (`repo.created`) and, for older ones, the first time their workspace's projects are asked for. RPC: list, get, by_repo, create, update. - Secrets and variables belong to the project: a repository's rows are its primary project's, moved over the first time they are touched; workflows read their repository's project; a workspace's rows link to projects. - Deployments are keyed by project, and previews by branch: production at <project>-<workspace>.g1t.page, a branch's preview at <project>-git-<branch>-<workspace>.g1t.page (a fork's pull request is pr-<n>), the same address for every push. Every project of a repository builds on its events, from its root directory (ROOT_DIR in the runner). Migration 0002 replaces the first test tables; the sweep now removes scripts no app holds, such as ones under old names. Workspace overview for the site. - Site, projects first: the workspace page is a grid of project cards with where each is deployed, its latest build and its open work; the sidebar lists projects; g1t.sh/<workspace>/<project> opens the project's overview (production, previews, work in progress, recent builds, its source), with code under /code; a project menu (Overview, Deployments, Code, Work, Automate, Project); Settings tabs General (name, description, source, root directory), Deployments, Secrets and variables, Repository (the old settings page: visibility, protection, merge rules) and Webhooks; New project chooses where the code comes from (start empty, import; mirroring GitHub, GitLab and Bitbucket shown as next); the command palette knows projects. - Docs: guides/projects; Deployments, Secrets and variables, Workspaces, agents, git, merge queue and webhooks guides updated; a Projects section in the docs sidebar; llms.txt. - Plan: step 1 marked shipped; profiles at /u/<username> and search with a filter sidebar added.
No changes