Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ jobs:
image: ghcr.io/devrail-dev/dev-toolchain:v1
steps:
- uses: actions/checkout@v4
- run: make check
- run: make _check

build:
runs-on: ubuntu-latest
Expand Down
2 changes: 1 addition & 1 deletion content/blog/2026-03-02-introducing-devrail.md
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ See the [agent setup guide](/docs/getting-started/agents/) for detailed configur

DevRail is in **beta**. The core contract -- Makefile, container, `.devrail.yml` -- is stable and used in production projects. Language support for all seven ecosystems ships in the `v1` container image. Standards, tool versions, and defaults may still change based on real-world usage.

What works today: new projects from templates, retrofitting existing repos, CI integration, agent instruction files. What's still evolving: the `make fix` auto-remediation workflow, additional language ecosystems, and edge cases we haven't hit yet.
What works today: new projects from templates, retrofitting existing repos, CI integration, agent instruction files, and `make fix` auto-remediation. What's still evolving: additional language ecosystems and edge cases we haven't hit yet.

If you run into problems or have opinions about how things should work, [open an issue](https://github.com/devrail-dev/devrail.dev/issues). Bug reports, feature requests, and "this default is wrong" complaints are all welcome.

Expand Down
36 changes: 36 additions & 0 deletions content/blog/2026-03-03-make-fix-and-mirror-automation.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
---
title: "make fix and Mirror Automation"
date: 2026-03-03
description: "Auto-remediation lands for all seven language ecosystems, and CI-based mirroring eliminates manual git push between GitLab and GitHub."
---

Two features shipped today: `make fix` for auto-remediation and CI-based mirror automation between GitLab and GitHub.

## make fix

`make check` tells you what's wrong. `make fix` fixes what it can.

```console
$ make fix
✓ python (ruff format, ruff check --fix)
✓ bash (shfmt -w)
✓ go (gofumpt -w)
✓ js/ts (prettier --write, eslint --fix)
```

The target runs formatters and auto-fixable linter rules in-place for all seven supported language ecosystems. It follows the same contract as every other Makefile target: runs inside the dev-toolchain container, reads `.devrail.yml` for language detection, and produces identical results everywhere.

The intended workflow: run `make fix` to auto-remediate, then run `make check` to verify. Anything `make check` still flags after `make fix` requires manual attention -- issues that tools cannot safely resolve on their own.

`make fix` is available in all [DevRail templates](https://github.com/devrail-dev) and existing projects after pulling the latest Makefile.

## Mirror Automation

DevRail maintains repositories on both GitHub and GitLab. Until now, mirroring between the two required a manual `git push <remote> main` after every merge. That step is now automated.

Each repository has a CI job that pushes to its mirror after a successful merge to `main`:

- **GitLab CI** pushes to GitHub using a deploy key stored as a CI variable
- **GitHub Actions** pushes to GitLab using a deploy key stored as a repository secret

The mirror jobs skip gracefully if the secret is not configured, so the CI files work in any fork or clone without modification. If you are hosting DevRail templates on your own infrastructure, see the CI files for the pattern -- it is straightforward to adapt.