mirror of
https://github.com/paperclipai/paperclip.git
synced 2026-10-14 17:40:37 +02:00
Automatically import skills from new GitHub project repositories and update enabled sources in the background. Preserve project-derived access, saved selections, immutable execution versions and explicit pins; add legacy adoption, refresh and connection repair in Sources. Include durable scheduling and bounded work credits, production Storybook journeys, real GitHub-to-routine acceptance receipts and final-head CI/security/Greptile qualification. Co-Authored-By: Paperclip <noreply@paperclip.ing>
70 lines
3.5 KiB
Markdown
70 lines
3.5 KiB
Markdown
---
|
|
navigation: {"section":"Projects and execution","sectionOrder":40,"order":10}
|
|
---
|
|
|
|
# Projects and repositories
|
|
|
|
People group tasks into projects, attach goals and repositories, and configure the context and defaults used by project work.
|
|
|
|
Implementation: [project list](../../ui/src/pages/Projects.tsx), [project detail](../../ui/src/pages/ProjectDetail.tsx).
|
|
|
|
Agent access: [companion](../agent-access-map/projects.md).
|
|
|
|
## Sub-features
|
|
|
|
- `lifecycle`: create, name, organize, and archive projects.
|
|
- `task-context`: inspect project tasks and create work in the selected project.
|
|
- `repositories`: configure repository/workspace sources and verify usable checkouts.
|
|
- `defaults`: maintain project instructions, environment, goal, and budget context where offered.
|
|
|
|
## How to get to it (user POV)
|
|
|
|
### `project-list`
|
|
|
|
Open `/projects`, create a project, and enter its overview or Issues view.
|
|
|
|
### `repository-settings`
|
|
|
|
Open `/projects/:projectId/configuration` and its repository/workspace settings.
|
|
|
|
## Driving it with Playwright and the Paperclip CLI
|
|
|
|
Preconditions: follow the [baseline](./README.md#before-driving-a-journey). Use a disposable project and a small repository you can access; record checkout and credential ownership.
|
|
|
|
### `project-list`
|
|
|
|
Automated: [projects UI](../../ui/src/pages/Projects.test.tsx) and [project detail](../../ui/src/pages/ProjectDetail.test.tsx) are component tests.
|
|
|
|
Manual: Create a project, add a task from its view, and reload. Verify the task belongs to that project, list counts are plausible, and links preserve company scope. Archive only the disposable project and inspect list/task behavior.
|
|
|
|
### `repository-settings`
|
|
|
|
Automated: [repository persistence](../../server/src/__tests__/project-repositories-persistence.test.ts) and [repository browser suite](../../tests/e2e/project-repositories.spec.ts) cover configured repository workflows.
|
|
|
|
Manual: Attach a small repository, save, and create a project task. Inspect the actual checkout/revision used by its run. Test an invalid repository and missing credentials without treating a saved URL as a working workspace.
|
|
|
|
## Gotchas
|
|
|
|
- `/overview` now selects Configuration, not a distinct overview page. Personal
|
|
join/leave and star controls have their own persistence and should be checked
|
|
when affected; **Star/Unstar {project name}** is the visible star action.
|
|
- Project name slugs change on rename and have no historical alias lookup.
|
|
Reopen a renamed project through its stable UUID route, wait for the current
|
|
Configuration form, and record the newly normalized URL before reloading.
|
|
|
|
- Project repository configuration and a provisioned execution workspace are different records.
|
|
- See [workspaces](./workspaces.md), [goals](./goals.md), and [budgets](./budgets-costs.md) for those features.
|
|
- Do not assume a deleted or archived project should erase its historical task evidence.
|
|
|
|
### Automatic repository skills
|
|
|
|
Creating or attaching a GitHub repository enqueues skill import without another setup
|
|
step. Check Skills → Sources and the installed library afterward. Ordinary edits to
|
|
older projects do not adopt their repositories; explicit adoption belongs in Sources.
|
|
Removing a repository retains installed skills and originating project access but stops
|
|
its automatic tracking. Changing the ref does not retarget existing skill references.
|
|
|
|
### Documentation scope: Projects and execution workspaces
|
|
|
|
Provider-specific provisioning, multi-repository/submodule edge cases, Git reconciliation variants, and all service exposure combinations require deeper recipes.
|