Release 0.1.140
Repave now maintains an existing app or builds a new one from your description, as well as modernizing a legacy one. It also answers reviewers' comments on its pull requests, connects to Gitea and Forgejo, and its project assistant can do most of what you do in the portal.
Upgrade notes
- Database migrations run automatically during the upgrade. They add maintenance and new-app projects, review comments, Gitea connections, per-project git connections, assistant skill drafts and the new Daily tests options.
- Projects that shared a git connection each get their own copy of it, with the same token, so nothing stops working. From now on a token is renewed per project, under Integrations → Git connection → Replace token in Project Settings.
- Review comments are read in every project that uses pull-request mode, from the moment you upgrade. To turn this off for a project, clear Read review comments on pull requests under Merge mode on the Integrations tab of Project Settings.
- A failed Daily tests run no longer starts a fix on its own unless the project turns on Fix failures automatically. A run that was waiting on your decision when you upgrade shows as Fix failed. Press Fix failures on it to try again.
.env: nothing to edit.GIT_ALLOWED_HOSTS, if set, now also bounds Gitea servers, so add your Gitea host to it before connecting one.docker-compose.yml: nothing to edit.
New
Maintain an existing app. New project now asks which kind of project it is. Choose Maintain an existing app and give Repave only your app's repository, or several combined. On the Features page, Add feature takes a description of what you want. Repave writes the scenarios against your app's own screens, fields and messages, and you review and implement them as for any feature.
Build a new app. Choose Build a new app, describe the app (type it or attach a document), pick its stack and an empty repository. Repave plans the app's foundation: its screens and navigation, look and feel, sign-in and roles, and data. Approve and build builds it and opens a Foundation: pull request. Use Ask for changes to revise the plan first. Once that pull request merges, you add features as for an existing app.
Repave answers review comments on its pull requests. In pull-request mode, the comments
reviewers leave on GitHub, Azure DevOps, Team Foundation Server, GitLab or Gitea show up in the
feature's Pull Request panel. Address N comments has an agent change the code, answer the
question or decline with a reason. It updates the pull request, then replies on each comment.
Repave never resolves or merges anything on your provider. In Repave IDE, /repave:review-comments
does the same from your own checkout. The Pull Requests view now also shows who opened each pull
request.
Gitea and Forgejo. Connect a Gitea 1.22+ or Forgejo 7+ server with an access token that has User: Read, Repository: Read and Write and Issue: Read. You can then create projects from its repositories, and open pull requests and answer review comments on them. A private certificate authority works as it does for Team Foundation Server.
The project assistant does what you would do in the portal. Ask it to group features into modules, approve scenarios, run the tests for a feature, stop a run or delete a persona. It acts as you, with the same checks as the portal's own buttons. It approves and starts runs only when you ask, and asks before anything that cannot be undone. Undo on its change card takes back module moves, approvals and deletions too.
Ask the assistant to change how the project's agents work. Describe it in your own words and the assistant drafts a skill, or a new version of an existing one, in the conversation. Nothing is saved until you click Save skill. It is saved under your name on the Skills page.
Daily tests: fix on demand, and a PDF test report. Fix failures on a failed run starts the fix agent when you choose. Turn on Fix failures automatically to have every failed run fix itself. Download PDF on a run saves it as a test report laid out in your organization's Test report template, which an administrator uploads under Documents. Download with a password… protects the file before you send it outside your organization.
Storybook projects get stories from implementation. A feature implemented without a prototype now gets a story for each screen scenario, and the Stories segment of the Preview tab shows every story on the feature's branch, whoever wrote it. Write stories fills any gaps. On a module, Generate prototypes builds every member you tick in one run.
A module's Gherkin tab works like a feature's. Pick a member on the left and review, map, approve or refine its scenarios there, with the same actions as its own page.
Improvements
One git connection per project. Each project uses its own personal access token, so a project in another organization simply gets a token for that organization. The connection shows what the token reaches, for example GitHub · jsmith · acme.
The code graph reads your documents too. READMEs, design notes and specifications in the codebase are read with the model set for Graph index in Agent Defaults, so agents learn what a part of the code is for. Without a reachable model, as on an air-gapped install, the graph is built from the code alone and its card says so. Every worktree now has its own graph, kept up with its commits.
repave push and repave pull work on any branch except the one Repave merges into, including
branches you cut yourself. Nothing is force-pushed.
Times show in your own time zone and date format, wherever you open Repave from.
Fixes
Scenarios with the same name in one feature file overwrote each other's results, so a failing example of an outline could show as passed. Each is now listed and numbered: #1, #2, and so on.
The highlighted lines in a scenario's Modernized Code view disappeared after you opened Full file or a hidden gap.
The collapsed sidebar flickered open and shut on every page change.
Opening a link to a release in the release notes left that release scrolled out of view.
A module's Generate prototypes in a Storybook project could be filled in, then refused. It is now disabled and says why.