Works with Code for IBM i 100% Free & open-source

Bring modern ALM to your IBM i Projects

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.

How it works

From connection to a safe, governed release in four steps.

  1. 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. 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. 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. 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.

  1. Install Project4i from the VS Code Marketplace or the Open VSX Registry.
  2. Connect to your IBM i system through Code for IBM i.
  3. Open the IBM Project4i view in the Activity Bar.
  4. 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.

Meet the team

The people behind Project4i.

Giuseppe Di Bari

Giuseppe Di Bari

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.

Giorgia Sfregola

Giorgia Sfregola

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.

Alice Sfregola

Alice Sfregola

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.

Contact us

Questions, feedback, or ideas for Project4i? We'd love to hear from you — reach out and we'll get back to you.

or write to dibari62@gmail.com