A complete Application Lifecycle Management (ALM) layer for IBM i,
inside VS Code and IBM BOB.
IBM Project4i adds a logical project layer on top of
Code for IBM i: organize members from any library, lock them
for your team, promote and roll back across environments, analyze impact from a
full dependency graph, and let AI assist you — a real
ALM / DevOps lifecycle for your projects, all without
leaving VS Code and IBM BOB.
Free · MIT-licensed · Requires an active IBM i connection
Runs on
Visual Studio Code
IBM BOB
What is Project4i?
Traditional IBM i development ties application logic to physical library
structures, so the code that makes up one application ends up scattered across
many libraries with no shared notion of a project. Project4i removes that
constraint: group the sources of an application from any library and
govern them as a single unit across your whole team.
Everything Inside
One Platform. Every ALM Capability.
Click a topic to explore every capability.
Free & Open
✓Free — no license required, no per-seat cost.
✓Open source — MIT license, fully auditable.
✓Zero new infrastructure — runs on your existing IBM i.
✓Runs on VS Code and IBM BOB.
Instances & Setup
✓Unlimited ALM instances on one server — one per enterprise application.
✓Pre-configured development environments.
✓5-step Setup Wizard for guided first-run setup.
Pipeline & Promote
✓Ready-made pipeline — DEV → INT → QA → UAT → STG → PROD → DR.
✓Hybrid content — native members and IFS stream files.
How it works
From connection to a safe, governed release in four steps.
1
Connect via Code for IBM i
Use your existing Code for IBM i connection — Project4i never talks to the
system directly, it builds on the connection you already trust.
2
Organize members into project groups
Add members from any library into logical projects and share the project
metadata with your team on the IFS.
3
Lock, edit, promote
Lock a member while you work, then promote it through your environments with
CL templates and automatic pre-promote backups.
4
Analyze impact & roll back safely
Explore the dependency graph to understand impact before you ship — and roll
back cleanly from backups if you need to.
Documentation
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.
01 Getting started & requirements
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.
Install Project4i from the VS Code Marketplace or the Open VSX Registry.
Connect to your IBM i system through Code for IBM i.
Open the IBM Project4i view in the Activity Bar.
On a fresh system, run the Setup Wizard to bootstrap your IFS root,
environments, and promotion pipeline. If your organization is already configured,
you simply join it.
A Home / Welcome view guides your first steps and links to the main actions.
02 Projects & members
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.
Create a project from the Projects view (the + action).
Add a member by right-clicking it in the Object Browser →
Add to Project; a physical checkout copy is placed in the project's
dev library.
Collaborative lock — lock a member while you edit it. A lock icon
shows who holds it; release your own lock, and project owners can force-unlock.
Conflicts — a member added to more than one project is flagged
In Conflict, which blocks promotion until you resolve it.
Missing / orphaned members — a health check flags members that no
longer exist on IBM i so you can remove them individually or in bulk.
03 Environments & pipeline
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).
Every environment maps to a set of libraries: a source and
object library (required), plus optional data,
config, backup, journal libraries and an IFS path.
Libraries are exposed to your compile templates as generic, type-based variables
(for example &DEV_SRC_LIB, &PROD_OBJ_LIB), so one
template works across every project.
The environment definition also drives the JOBD library list used
when commands run natively on IBM i.
04 Promote & rollback
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.
Compile Map — customizable CL templates per source type
(RPGLE, CLLE, DDS, SQL…) with variable substitution; prefix a template with
? to open a visual prompt for its parameters.
Data-safe promote — when a target object already exists,
CRTPF becomes CHGPF (data migrated by field name) and an
existing SQL table is preserved, so production data is never lost.
Rollback — restore a member's pre-promote backup after a promote.
When no backup exists, Project4i offers a confirmed cleanup instead.
Blocked cases — for data safety, rollback of physical/logical
data files (PF/LF) is intentionally skipped.
Approval — promotion can require maker-checker sign-off: request
approval, then a different user approves or rejects before deploy.
05 Deployment packages & batch
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.
Create a package with a name, optional release notes, and an
optional shared ticket ID; members are shown in build-dependency order.
Deploy promotes the members in build tiers (files → display/print
→ programs → CL → service programs) and stops on the first failure.
Promote All deploys the entire project sequentially, with
Run / Skip / Run All / Cancel controls and auto-skipped conflicts.
Rollback restores every member's pre-deploy backup in reverse
build order.
06 Multi-server
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.
Assign a remote server to a target environment to promote there over
SSH / PASE, including the pre-promote backup and rollback.
Source transfer between systems — when enabled, the source member
is copied to the remote system before it is compiled there.
Server passwords are stored encrypted and never kept in project
files, on the IFS, or in logs.
07 Shared projects on IFS
Shared projects store their metadata and audit trail as files on the
IBM i IFS, so a whole team can collaborate in real time. Set the IFS root once, then
create or join shared projects and sync them at any time.
Roles & permissions — Owner, Contributor, and Viewer, with
granular per-contributor permissions (add, promote, run action, document, and more).
Approval workflow — an optional maker-checker gate; the requester
cannot approve their own change.
Global catalog — for enterprise setups, an organization centrally
publishes default environments, servers, workflow commands, variables, and the
source inventory, pulled automatically when you connect.
08 Dependency Graph & Impact Analysis
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.
Scan in the foreground with a live monitor, or as a
background batch job on the server that you can detach from and re-attach
to later.
Impact Analysis 360 answers two mirror questions about any object:
Used by (who depends on me) and Uses (what I depend on), at the
first level or transitively with a configurable depth.
Navigate with an object finder, drill down through a breadcrumb trail, and switch
to a Diagram view of the same sub-graph.
Open source opens the related member read-only, and while editing a
source you can Ctrl/Cmd+click a referenced program, file, or table
to jump to its source.
09 Inventories & search
Inventories tell Project4i where your source and objects live, and the
search tools help you find members fast across libraries.
Source Inventory — an org-wide catalog of source containers
(library/file) with descriptions, shared with the team and used by templates,
AI, and the impact-analysis perimeter picker.
Object Inventory — the object libraries that define the scope of a
dependency scan.
Member Search — search by name, type, description, changed-after
date, and even inside the source content, from a sidebar view or a full panel.
Source Collections — save a search as a reusable, named collection
and re-run it later.
10 AI-assisted features
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.
AI documentation — generate technical and functional documentation
from your source members, previewed in VS Code and openable in Word.
Change-impact analysis — describe an intended change and let the AI
judge which members are affected, with confidence and reasoning.
Bring Your Own LLM — run the AI on VS Code models
(GitHub Copilot) by default, or point it at any external
OpenAI-compatible endpoint. Your API key is stored securely and
never written to project files, the IFS, or logs.
11 Productivity tools
Day-to-day helpers keep the whole team aligned and let you tailor Project4i to your
standards.
Activity Log — a filterable, team-synced audit trail of every
action (create, promote, package, approval, rename, error).
Kanban board — a Dev → Promoted → In Test lifecycle
board with automatic state transitions on promote.
Workflow commands — customizable CL templates for promote,
checkout, release, and IFS promote, seeded from your global defaults.
Run Action — run a reusable custom CL command on any member
straight from its context menu.
12 Interface
Everything lives inside VS Code and IBM BOB, styled with the Deep Space design.
Projects TreeView — a sidebar that shows your projects, members,
deployment packages, and documentation, grouped for a clear overview.
Control Panel — a two-column settings panel for global defaults
(developer info, environments, workflow commands, variables, inventories, AI backend).
Project Properties — a per-project panel for environments, promote
configuration, custom variables, and permissions.
Full Dark / Light theming with custom icons and color-coded nodes.
For the full technical/developer manual, see the project on
GitHub.
Get started
Install Project4i from your marketplace of choice and connect to your IBM i system.
It is 100% free and open-source (MIT-licensed).
Requires the Code for IBM i extension and an active IBM i connection.
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 ALM and DevOps experience. Today he leads the
project's vision, architecture, and hands-on development.
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 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.