A project, at last
Group the sources of one application from any library and govern them as a single unit — instead of chasing them across a library list.
Git becomes the way your source is versioned and shared. Project4i stays the way your software reaches production — with backups, authority policies, data-safety gates and rollback.
IBM i development ties code to physical libraries: one application ends up scattered across many libraries, with no shared notion of a project and no history of who changed what, and why. Project4i adds that missing layer on top of Code for IBM i — group members from any library, version them in Git, work in parallel on branches, and promote through your environments with a real DevOps lifecycle, without leaving VS Code or IBM BOB.
Free · No licence fee · No subscription · Requires an active IBM i connection
A DevOps platform for IBM i that lives inside VS Code and IBM BOB and covers the whole application lifecycle, from source to production. It rests on three ideas, and nothing you already have has to change to adopt them.
Group the sources of one application from any library and govern them as a single unit — instead of chasing them across a library list.
Branches, history, review and parallel work — the everyday tooling of every other platform, finally applied to RPG, CL and DDS. Coming soon
Promote and rollback across environments with pre-promote backups, authority
policies, data-safety gates on *FILE objects and a full audit trail.
Git on IBM i
Your source lives in a Git repository hosted on your own IBM i. You edit locally, branch, merge and review like on any other platform — and the object that reaches production is still built by the Project4i promote engine, with every guarantee it gives you today.
Git becomes the way source is versioned and shared. Project4i remains the way software is put into production.
| Traditional | Git Mode | |
|---|---|---|
| Where the source of truth lives | IBM i library | Git repository |
| How you edit | Remote member | Local file on your PC |
| Working in parallel | Pessimistic lock — one developer at a time | Branch & merge — the whole team at once |
| Promote | From library to library | From a commit to a library |
The mode is chosen per project, at creation time. Existing projects stay traditional forever: there is no migration, no conversion, and nothing about the way you work today changes unless you ask for it.
At most it triggers a deploy to DEV. From there the existing engine takes over: pre-promote backup, authority policy, data-safety gate on data files, deploy register and rollback. Two reasons, neither of them cosmetic:
One folder per source physical file, so PGM1 in QRPGLESRC and
PGM1 in QCLLESRC stay two different files instead of colliding
into one that quietly disappears.
The member lock becomes an advisory warning rather than a block — Git exists precisely to remove that block — but the warning still matters: on RPG III, RPG IV and DDS an automatic merge can produce lines that are syntactically valid with the fields in the wrong columns. A program that compiles and is wrong, with nothing to flag it.
Lines longer than the member can hold are refused before the commit, with the line number — because IBM i truncates them without failing.
Optional personal development libraries give each developer their own compile target. Without them, two developers on two branches overwrite each other while believing they are isolated — and Git's parallelism evaporates.
A library name longer than the 10 characters IBM i allows is refused, never
shortened: shortening would collapse MARIOROSSI and
MARIOROSSETTI onto the same library, which is exactly the problem personal
libraries exist to solve.
Git on IBM i fails in ways that do not look like failures. Each of these was observed on a real IBM i — not assumed — and each one is handled:
master while everyone pushes main leaves the next clone
with exit code 0 and nothing inside.Everything Inside
Click a topic to explore every capability.
From connection to a safe, governed release in five steps.
Use your existing Code for IBM i connection — Project4i never talks to the system directly, it builds on the connection you already trust.
Add members from any library into logical projects and share the project metadata with your team on the IFS.
In a Git project you edit locally, commit and branch, so two developers can work on the same application at the same time. In a traditional project you lock the member while you work — both paths continue into the same pipeline.
Ship from a commit, or from the library, through DEV → … → PROD with CL templates, automatic pre-promote backups, authority policies and approvals.
Explore the dependency graph to understand impact before you ship — and roll back cleanly from backups if you need to.
A practical, English user manual for every Project4i feature. Pick a topic from the index, or expand a card to read how each function works.
Download the user guide Opens the complete guide in a new tab — read it offline, or use Save as PDF to keep a copy.
Project4i is a companion to the Code for IBM i extension: it never talks to your system directly, it builds on the connection you already trust. You need VS Code or IBM BOB, the Code for IBM i extension, and an active IBM i connection.
A Home / Welcome view guides your first steps and links to the main actions.
A project group is a logical bundle of source members drawn from any library — you are no longer tied to physical library boundaries. You can mix native QSYS source members and IFS stream files in the same project.
+ action).In a Git project the source of truth is a Git repository hosted on the IFS of your own IBM i: you edit files locally, commit, branch and merge, and the promote engine then builds what reaches each environment from a commit. Nothing leaves your system, and nothing changes for projects that stay traditional.
src/QRPGLESRC/PGM1.RPGLE), so members with the same name in different
source files never collide.*FILE
objects, deploy register and rollback all still apply.Git Mode is being finalised and is not yet enabled in the published release. Everything else on this page is available today.
Each project defines its own promotion pipeline — an ordered chain of
environments such as DEV → TEST → PROD (the built-in seed is a 7-tier
chain you can rename, reorder, add to, or trim).
&DEV_SRC_LIB, &PROD_OBJ_LIB), so one
template works across every project.Promote moves a member from one environment to the next, compiling it with the right command for its source type. Every promote takes an automatic pre-promote backup so you can roll back safely.
? to open a visual prompt for its parameters.CRTPF becomes CHGPF (data migrated by field name) and an
existing SQL table is preserved, so production data is never lost.A deployment package bundles several members into one named release that you deploy together as a single governed operation. Each project has an always-visible Deployment Packages folder.
Project4i can promote across multiple IBM i systems, not just the one you are connected to. A server catalog holds the connection details of your remote systems.
Understand the blast radius of a change before you release it. Project4i scans the relationships between your IBM i objects — programs, files, service programs, modules, logical→physical files, data areas, data queues, message files, triggers, and binding directories — into an interactive graph.
Inventories tell Project4i where your source and objects live, and the search tools help you find members fast across libraries.
Project4i includes an optional AI suite that helps you document and analyze your code. AI features are entirely optional and run through a pluggable backend.
Day-to-day helpers keep the whole team aligned and let you tailor Project4i to your standards.
Dev → Promoted → In Test lifecycle
board with automatic state transitions on promote.Everything lives inside VS Code and IBM BOB, styled with the Deep Space design.
Need something this page does not cover? Ask us directly — questions, bug reports and feature requests all reach the team through the same form.
Install Project4i from your marketplace of choice and connect to your IBM i system. It is 100% free — no licence to buy, no subscription, and every future release included.
The people behind Project4i.
Tech Lead · Senior IBM i (AS/400) Software Engineer & System Integrator
Creator of Project4i and a senior IBM i (AS/400) engineer with 20 years in banking and fintech. He started Project4i from a simple belief: the IBM i world deserves a modern, delightful DevOps experience. Today he leads the project's vision, architecture, and hands-on development.
IBM i Developer
A young and remarkably talented IBM i developer who fell in love with the project from day one. Her passion and skill turned ambitious, dream-like ideas into real, dependable features — much of what makes Project4i special exists thanks to her.
Marketing & Social Media Manager
Marketing lead with a natural gift for communication. As social media manager she gives Project4i its voice — telling its story and connecting the project with the IBM i and AS/400 community.
A question, a bug to report, an idea you would like implemented? Write to us — you can attach screenshots or log files, and we read every message.
Prefer your own mail client? Write to dibari62@gmail.com