IBM Project4i
AI-Powered ALM & DevOps for IBM i
A modern VS Code extension that adds a logical project layer, multi-tier promotion, team governance, and an autonomous AI suite on top of Code for IBM i.
Why IBM Project4i?
Traditional IBM i development ties application logic to physical library structures. IBM Project4i introduces a logical project layer on top of Code for IBM i, so you can group sources from any library, promote them through a governed multi-tier pipeline, and let AI document and analyze your code — all without leaving VS Code.
Highlights
- 🧠 AI Suite — Generate technical & functional documentation, run change-impact analysis, and drive deployments with an autonomous, zero-hallucination build agent and a
@project4i chat participant.
- 🚦 Multi-Tier Environments — Model a real
DEV → INT → QA → UAT → STG → PROD → DR pipeline with per-tier library mappings and data-safe promotion.
- 📦 Deployment Packages — Bundle members into a governed release with build-order deploy, maker-checker approval, and one-click rollback.
- 🏢 Team Governance — Shared projects on the IFS, organization roles (admin / publisher / approver / user), and granular per-contributor permissions.
- 🔒 Locking & Conflicts — Pessimistic member locking, cross-project conflict detection, and orphaned-member health checks.
- 📊 Kanban & Activity Log — Visual lifecycle board and a complete, team-synced audit trail.
A lightweight, IBM i–native ALM — built for developers who live in VS Code.
Table of Contents
Features at a Glance
| Area |
Capability |
| 🧠 AI Documentation |
Generate Word-compatible technical and functional documents from your source members, persisted on the IFS with in-editor preview and Open in Word. |
| 🔬 AI Change-Impact Analysis |
Describe an intended change; the AI reads the source members in a chosen perimeter, judges which are impacted (with confidence + reasoning), writes a DevOps impact document, and proposes members to add. |
| 🤖 AI Build Agent |
Autonomous agent that executes natural-language rules or Markdown Runbooks via a strict zero-hallucination tool-calling protocol (run CL commands, copy members, deploy). |
| 💬 Chat Participant |
@project4i in VS Code Chat — create projects, add members, promote, and more using natural language. |
| 🚦 Multi-Tier Environments |
N-tier pipeline (DEV → INT → QA → UAT → STG → PROD → DR) with per-tier source / object / data / config / backup / journal libraries. |
| ⬆️ Promotion |
Per-member and batch promote with customizable CL templates, data-safe recompile (CRTPF→CHGPF), and member-level maker-checker approval + rollback. |
| 📦 Deployment Packages |
Bundle members into a named release, deploy in build-dependency order, gate with approval, and roll back from automatic backups. |
| 🏢 Organization Governance |
Shared org config on the IFS with roles (admin / publisher / approver / user); environments, workflow commands, and source inventory are published centrally. |
| ☁️ Shared Projects |
Project metadata + activity log on the IFS for real-time team collaboration, with granular per-contributor permissions. |
| 📚 Source Inventory |
Org-wide catalog of source containers (library/file), exposed to CL templates and AI via the &SOURCE_INVENTORY variable. |
| 🔎 Member Search |
Metadata search across libraries (name / type / description / changed-after) from a sidebar view or a full panel. |
| 🔒 Member Locking |
Pessimistic locks track the IBM i user editing each member; owners can force-unlock. |
| ⚠️ Conflict Detection |
Members present in more than one project are flagged and blocked from promotion until resolved. |
| ❌ Orphan Health Check |
Automatic verification that referenced members still exist on IBM i; orphans are flagged and bulk-removable. |
| 📊 Kanban Board |
Dev → Promoted → In Test lifecycle board with automatic state transitions, synced to the shared IFS file. |
| 🧾 Activity Log |
Filterable, team-synced audit trail of every action (create, promote, package, approval, rename, error). |
| 🧩 Hybrid Content |
Mix native source members (QSYS) and IFS stream files in the same project. |
| 🗂️ Project Lifecycle |
Create, rename, copy-as-new, archive (read-only), remove from workspace, re-open, and a per-project chronicle. |
| ⚙️ Two-Column Settings |
VS Code Settings–style panels for global defaults and per-project properties, with clickable variable references. |
| 🔌 Multi-Connection |
Per-server project storage with automatic migration and a unified cross-connection browser. |
| 🪄 Setup Wizard |
Guided first-run configuration that bootstraps the organization, environments, and pipeline on a fresh system. |
| 🎨 Theming |
Full Dark / Light theme support with custom SVG icons and color-coded tree nodes. |
Getting Started
Prerequisites
| Requirement |
Version |
| Visual Studio Code |
≥ 1.85.0 |
| Code for IBM i |
Latest |
| Active IBM i connection |
— |
| AI features |
A VS Code Language Model provider (e.g. GitHub Copilot) |
Quick Start
- Install the extension from the Marketplace (or side-load the
.vsix).
- Connect to your IBM i system via Code for IBM i.
- First run? Open the IBM Project4i Activity Bar and click 🚀 Run Setup Wizard to bootstrap your IFS root, environments, and promotion pipeline. (Skip if your organization is already configured — you'll just join it.)
- Create a project — click
+ in the Projects view.
- Add a member — right-click a source member in the Object Browser → Add to Project.
- Promote — configure environments/templates in Properties (⚙️), then right-click a member → Promote.
AI Suite
All AI features use the VS Code Language Model API (GitHub Copilot or any compatible provider). You can optionally pin a dedicated documentation model in Manage Default Settings.
📚 AI Documentation
Turn source code into living documentation, stored as Word-compatible .doc files in the project's IFS .docs/ folder.
| Command |
Output |
| Generate Documentation (AI) |
A technical analysis doc — per-member purpose, I/O, key logic, files/tables, and dependencies. |
| Generate Functional Overview (AI) |
A business-oriented doc synthesized from the technical analysis — capabilities, processes, data, and integrations. |
| Update Documentation (AI) |
Incrementally re-analyzes only changed members. |
| Generate Documentation (AI) (on a member) |
Merges a single member into the project document. |
Documents open inside VS Code on a paper-style preview, with one-click Open in Word. Generation runs in a live progress panel you can cancel.
Requires a shared / IFS-backed project. Launch from a project, a shared project, or the 📚 Documentation folder.
🔬 AI Change-Impact Analysis
Assess the blast radius of a change before you make it. Launch Analyze Change Impact (AI) from a project's context menu or its Documentation folder.
- Describe the change and pick the output language.
- Scope the perimeter — select source containers from the Source Inventory and optionally filter members per container (e.g.
ORD*, TIT*). Preview counts shows how many members are in scope.
- Analyze — a cost-controlled two-phase pass: the AI extracts keywords for a fast pre-scan, then deeply analyzes each candidate's source and returns a verdict (impacted? confidence, reason, change areas, risks). Progress is shown inside the panel and is cancellable.
- Impact document — a standardized DevOps assessment (Change Summary, Functional Impact, Affected Areas, Impacted Objects table, Required Changes, Dependencies, Risks, Test Plan, Rollback Plan) is saved to the IFS and can be previewed or opened in Word.
- Add to project — review the proposed impacted members and add the selected ones; they are checked out via the normal physical-copy path with conflict detection.
🤖 AI Build Agent
An autonomous agent that drives promotion via a strict zero-hallucination, tool-calling protocol — it emits tool calls (never free text), runs each real IBM i command, captures results, and reports every step.
| Promote Mode |
Description |
| Template |
Classic CL command template with variable substitution. |
| AI Generation |
The model generates promote commands from freeform rules. |
| AI Runbook |
The model follows a structured Markdown runbook step-by-step. |
# Promote Runbook
1. Copy source from &MBR_SRC_LIB/&MBR_SRC_FILE(&OBJ_NAME) to &DEV_SRC_LIB/QRPGLESRC
2. Compile with CRTBNDRPG PGM(&DEV_OBJ_LIB/&OBJ_NAME) SRCFILE(&DEV_SRC_LIB/QRPGLESRC)
3. If compile succeeds, copy to &PROD_SRC_LIB/QRPGLESRC
Available tools: runIBMCommand (execute any CL command) and copySourceMember (copy a source member between libraries/files).
💬 Chat Participant
Type @project4i in the VS Code Chat view to create projects, add members, promote, and more using natural language. The participant understands your environments, custom variables, and source inventory.
Multi-Tier Environments
Each project defines an N-tier pipeline. The built-in seed is a 7-tier chain you can rename, reorder, add to, or trim:
DEV → INT → QA → UAT → STG → PROD → DR
Every tier maps to a set of libraries — source and object (required), plus optional data, config, backup, journal, and an IFS path. Tier libraries are exposed to commands as generic, type-based variables (e.g. &DEV_SRC_LIB, &UAT_OBJ_LIB, &PROD_DTA_LIB) so one template works across projects.
| Action |
Description |
| Promote Member |
Deploy a single member with a customizable CL template. Blocked for conflicted members. |
| Promote All |
Batch deploy sequentially with Run / Skip / Run All / Cancel All; conflicts auto-skipped. |
| Promote IFS Stream File |
Dedicated template with IFS-specific variables. |
| Rollback Promote |
Restore the pre-promote backup of a member. |
Data-safe recompile (on by default): when promoting to an object that already exists, CRTPF becomes CHGPF (data migrated by field name), existing logical files are dropped/recreated, and a CREATE TABLE for an existing SQL table is skipped — so production data is preserved. Optionally grant *PUBLIC *ALL on every recompiled object.
Member-Level Approval
Promotion can require maker-checker sign-off: Request Approval → Approve / Reject (a different user). Deploy stays blocked until approved.
CL Interactive Prompting
Prefix any command template with ? to open the CL Prompter — a visual form rendering each parameter as a labelled field before execution.
?CRTBNDRPG PGM(&DEV_OBJ_LIB/&OBJ_NAME) SRCFILE(&DEV_SRC_LIB/&MBR_SRC_FILE) SRCMBR(&OBJ_NAME)
Custom Project Actions
Define reusable CL templates attached to a project and run them on any member via Run Project Action…. Seed default actions in Manage Default Settings so every new project inherits your team's standard commands.
Deployment Packages
Bundle a set of members into a single, named release and deploy them together as one governed operation. Each project has an always-visible 📦 Deployment Packages folder; packages and deploy history are stored alongside the project (on the IFS for shared projects).
- Create — name, optional release notes, optional shared Ticket ID; multi-select members shown in build-dependency order.
- Deploy — target environments are filtered to those valid for all members; members promote in build tiers (PF → LF → DSPF/PRTF/CMD → programs → CL → service programs) and the build stops on the first failure.
- Approval — optional maker-checker gate; the requester cannot approve their own package.
- Rollback — restore every member's pre-deploy backup in reverse build order.
All package actions are recorded in the Activity Log with dedicated badges.
Team Collaboration & Governance
Shared (Team) Projects
Shared projects store their metadata and audit trail as JSON on the IBM i IFS, enabling real-time collaboration. Set the IFS root once (via the Setup Wizard or Manage Default Settings), then create or join shared projects from the Browse Projects… panel. Sync at any time with Sync Shared Project.
| Role |
Can edit |
Manage contributors |
Delete / archive |
| Owner |
✅ |
✅ |
✅ |
| Contributor |
✅ (per-permission) |
❌ (can leave) |
❌ (unless permitted) |
| Viewer |
❌ |
❌ |
❌ |
Per-contributor permissions (owner always has all): addMember, createMember, promoteMember, runAction, addDocumentation, syncProject, removeFromWorkspace, openProperties, renameProject, deleteProject, removeMember, removeStreamFile, moveMember, editDocumentation, canReopen, canResolveConflicts.
Organization Governance
For multi-tenant / enterprise setups, an organization lives under a fixed IFS root (/home/project4i or /tmp/project4i) and centralizes shared configuration:
- Roles:
admin (manage org & users), publisher (publish enterprise config), approver (sign off promotions), user (consume config).
- Centrally published config: default environments, workflow commands, custom variables, and the source inventory — pulled automatically on connect and editable only by admins/publishers.
- First-run bootstrap: the Setup Wizard initializes the root, registers the first admin, and seeds the pipeline.
Project Browser
A unified webview lists every project — local, shared (IFS), and archived/history — across all connections, with type/name filters and one-click actions (Load to Workspace, Re-open, Copy as New, View Properties).
Import / Export
Export or import full configuration snapshots (projects + global settings) as portable JSON, ideal for versioning in Git or sharing across systems.
Source Inventory & Member Search
Source Inventory
An org-wide catalog of where source lives — Library/File "source containers" with editable per-library and per-file descriptions. Admins/publishers curate it in Manage Default Settings; it is published to the IFS and shared with the team. The whole catalog is exposed to CL templates and AI through a single generic variable, &SOURCE_INVENTORY, and powers the perimeter picker in Change-Impact Analysis.
Member Search
Find members across libraries by metadata — name, type, description, and changed-after date (with wildcards) — from the Member Search sidebar view or a full-screen panel. Results integrate with project actions so you can jump straight to adding or opening a member.
Daily Workflow
Members & Stream Files
- Add from the Object Browser (physical checkout copy via
CPYSRCF or your custom command) or reference IFS stream files from the IFS Browser.
- Create, Rename, Copy, Move (atomic, with pre-flight validation), Browse (read-only), and Compare with Origin.
- Remove logically, with optional physical delete (
RMVM) or a custom release command.
- Members are grouped by source type by default for a clearer overview.
Member Locking
A pessimistic lock tracks the IBM i user editing each member (checkedOutBy), shown with a 🔒 icon and the owner's name. Release your own lock with Release Lock; project owners can Force Unlock a lock held by someone else.
Conflict Detection
Adding a member that already exists in another project flags it In Conflict (⚠️) — a soft lock that blocks promotion but not adding. Clear it with Resolve Conflict (canResolveConflicts permission). Detection also runs when re-opening or copying projects.
Orphaned Members
An automatic health check (on connect, sync, and refresh) verifies that referenced members still exist on IBM i. Orphans are flagged with a ❌ icon and can be removed individually or via Remove All Orphaned Members.
Kanban Board & Activity Log
- Developer Kanban Board —
Dev → Promoted → In Test columns (swimlanes per project) with automatic state transitions on promote, one-click Send to Test, and Pass / Fail / ◀ Dev controls. All changes sync to the shared IFS file.
- Activity Log — a filterable audit trail (time, user, action badge, object,
source → target, status, ticket) covering members, promotes, packages, and approvals. Shared projects store it on the IFS for the whole team.
Documentation Hub
Each project has a virtual 📚 Documentation folder. Attach external URLs (open in the browser) and local files (PDF, Word, Excel — open with the OS default app), alongside the AI-generated documents.
Project Lifecycle
| Action |
Description |
| Create |
Name, optional description, and environments. |
| Rename |
Change the display name. |
| Copy as New |
Duplicate members, config, actions, permissions, docs, and stream files. |
| Archive |
Lock read-only with a reason (Deployed / Obsolete); snapshots in-progress edits. |
| Remove from Workspace |
Hide from your view without deleting shared data. |
| Delete |
Permanently remove the project and its metadata. |
| Re-open / Copy Archived |
Restore from the Project Browser with selective member checkout. |
Every lifecycle event (created, archived, re-opened, copied, removed) is recorded in the project's Chronicle with user and timestamp.
Configuration
Setup Wizard
On a fresh system, the Setup Wizard guides you through choosing an IFS root, defining environments and their libraries, and building the promotion pipeline (with optional approval) — then bootstraps the organization and opens settings. It auto-opens on first connect and is re-runnable from the command palette.
Manage Default Settings
A two-column panel (left sidebar navigation) for global defaults seeded into every new project: developer info, ticket/reason, environments, workflow commands (promote / checkout / release / IFS promote), custom actions, custom variables, source inventory, organization roles, and a clickable Variables Reference. Admin/publisher-only sections are hidden for regular users.
Project Properties
A per-project two-column panel: general info, environments table, promote config, custom actions, project-level custom variables, permissions (shared projects), and a clickable Variables Reference. A Load Defaults button fills empty fields from the global defaults.
Variables
CL templates and AI instructions support placeholder variables. Both v2 and legacy (v1) names are accepted; in the webview panels every Variables Reference is interactive — click a variable to insert it at the cursor.
Standard Variables
| Variable (v2) |
Legacy (v1) |
Description |
&OBJ_NAME |
&OBJECT_NAME |
Member / object name |
&OBJ_TYPE |
&MEMBER_TYPE, &TYPE |
Member extension / type |
&MBR_SRC_LIB |
&MEMBER_LIB |
Original member library |
&MBR_SRC_FILE |
&MEMBER_FILE |
Source physical file |
&ORG_SRC_LIB |
&SRC_LIB |
Origin library (checkout) |
&ORG_SRC_FILE |
&SRC_FILE |
Origin source file (checkout) |
&TICKET_ID |
&TICKET_REASON |
Ticket or change reason |
&USER_ID |
&DEVELOPER_USER |
IBM i developer user |
&USER_EMAIL |
&DEVELOPER_MAIL |
Developer email |
Environment Variables
Generated per environment type, so one template works across projects. For each tier: &<TYPE>_SRC_LIB, &<TYPE>_OBJ_LIB, and (when set) &<TYPE>_DTA_LIB, &<TYPE>_CFG_LIB, &<TYPE>_BKP_LIB, &<TYPE>_JRN_LIB, &<TYPE>_IFS_PATH — e.g. &DEV_SRC_LIB, &PROD_OBJ_LIB, &UAT_DTA_LIB. The promote target also exposes &TGT_ENV_ID, &TGT_SRC_LIB, &TGT_OBJ_LIB, etc.
IFS Stream File Variables
| Variable (v2) |
Legacy (v1) |
Description |
&IFS_FULL_PATH |
&IFS_PATH |
Full absolute IFS path |
&IFS_FILE_NAME |
&FILE_NAME, &OBJECT_NAME |
Basename without extension |
&IFS_FILE_EXT |
&FILE_EXT, &MEMBER_TYPE |
Extension without dot |
Special & Custom Variables
&SOURCE_INVENTORY — expands to all declared source containers (LIB/FILE, …) from the Source Inventory.
- Custom variables — user-defined
&VARIABLE placeholders with Global → Project inheritance (a project-level variable overrides the global one of the same name), available in all CL templates, AI instructions, and custom actions.
Commands Reference
All commands are under the IBM Project4i category in the Command Palette.
Projects & Lifecycle
| Command |
Description |
createProject / renameProject / deleteProject |
Create, rename, delete a project |
archiveProject / removeProject |
Archive (read-only) or remove from workspace |
copyProjectAsNew |
Duplicate a project with all config |
openProperties / refreshProjects |
Properties panel / refresh tree |
openSharedProject / syncSharedProject |
Browse-and-join / sync shared projects |
Members
| Command |
Description |
addMemberToProject / removeMemberFromProject |
Add / remove a member |
createMember / renameMember / copyMemberInProject |
Create, rename, copy a member |
openMember / browse / compareWithOrigin |
Edit, read-only browse, diff vs origin |
moveMember / memberProperties |
Move to another project / view properties |
addStreamFileToProject / removeStreamFileFromProject / openStreamFile |
IFS stream files |
| Command |
Description |
promoteMember / promoteProject / rollbackPromote |
Promote one / all members, rollback |
requestApproval / approveMember / rejectMember |
Member-level maker-checker |
createDeploymentPackage / deployPackage / deleteDeploymentPackage |
Manage packages |
requestPackageApproval / approvePackage / rejectPackage / rollbackPackage |
Package governance |
runAction / runProjectAction |
Code for IBM i action / custom CL action |
AI
| Command |
Description |
generateProjectDoc / updateProjectDoc |
Generate / update technical documentation |
generateFunctionalDoc / generateMemberDoc |
Functional overview / single-member doc |
analyzeChangeImpact |
AI change-impact analysis |
Discovery, Config & Governance
| Command |
Description |
focusMemberSearch / openMemberSearchPanel / openSourceCollectionsPanel |
Search members, source collections |
setupWizard / manageDefaults |
First-run wizard / global settings |
pullGlobalEnvironments / pushGlobalEnvironments |
Sync org environment catalog with IFS |
applyDefaultsToAll / applyCustomVariablesToAll |
Push defaults / variables to all projects |
exportProjects / importProjects |
Configuration snapshots |
viewActivityLog / openKanbanBoard |
Audit trail / lifecycle board |
resolveConflict / forceUnlock / releaseMemberLock / removeOrphanedMembers |
Locks, conflicts, orphans |
addDoc / editDoc / removeDoc / openDoc |
Documentation hub |
openWalkthrough |
Getting Started guide |
Extension Settings
Settings live under project4i.* (File → Preferences → Settings → IBM Project4i).
| Setting |
Type |
Default |
Description |
project4i.promote.dataSafeRecompile |
boolean |
true |
Preserve data on promote (CRTPF→CHGPF, drop/recreate LFs, skip CREATE TABLE for existing tables). |
project4i.promote.grantPublicAll |
boolean |
true |
Run GRTOBJAUT … USER(*PUBLIC) AUT(*ALL) after each compile. |
project4i.view.groupMembersByType |
boolean |
true |
Group project members by source type in the tree. |
project4i.defaults.promoteCommand |
string |
"" |
Default promote CL template. |
project4i.defaults.promoteStreamFileCommand |
string |
"" |
Default IFS promote CL template. |
project4i.defaults.developerMail |
string |
"" |
Default developer email. |
project4i.defaultProjectActions |
array |
[] |
Default custom CL actions seeded into new projects. |
Most enterprise defaults (environments, workflow commands, ticket/reason, shared root, source inventory) are managed in the Manage Default Settings panel and stored in GlobalState / on the IFS rather than in settings.json.
Data Model
Projects are stored in VS Code GlobalState (namespaced per IBM i connection) and, for shared projects, mirrored as JSON on the IFS.
Project — name, description, environments[] (N-tier pipeline), promoteConfig, members[], streamFiles[], docs[], customActions[], customVariables[], owner, contributors[], contributorPermissions, ifsPath, isArchived / archiveReason / archiveDate, chronicle[], version, created/modifiedDate.
Member — library, file, name, extension, asp?, addedDate, originalLocation (audit), checkedOutBy (lock), inConflict (blocks promote).
Environment — id, label, order, and libraries (srcLib, objLib, optional dtaLib / cfgLib / bkpLib / jrnLib / ifsPath).
Development
src/
├── extension.ts # Activation, org discovery, command registration
├── code4i.ts # Code for IBM i API integration
├── commands/commands.ts # Command handlers
├── services/ # AI, promotion, IFS, locking, org, search, docs…
│ ├── aiTaskExecutor.ts # Autonomous AI agent (Runbooks, tool-calling)
│ ├── aiDocumentationService.ts # AI technical/functional doc generation
│ ├── aiChangeImpactService.ts # AI change-impact model layer
│ ├── changeImpactService.ts # Change-impact orchestration
│ ├── documentationGenerationService.ts
│ ├── globalEnvironmentsService.ts # Org environment catalog + IFS sync
│ ├── organizationDiscoveryService.ts / organizationSecurityService.ts
│ ├── sourceInventoryService.ts / memberSearchService.ts
│ ├── promoteService.ts / batchPromoteService.ts / memberLockService.ts
│ ├── ifsService.ts / ifsDocsService.ts / sharedProjectService.ts
│ └── chatParticipant.ts
├── storage/projectStorage.ts # Data model, persistence, import/export
└── views/ # Webview panels & tree provider
npm install
npm run compile # one-shot build
npm run watch # watch mode
node __build-vsix.js # compile + package .vsix
Press F5 to launch the Extension Development Host. AI features require a Language Model provider (e.g. GitHub Copilot) in VS Code.
Changelog
Latest — AI Suite, Environments & Governance
- AI Documentation — technical + functional Word-compatible documents generated from source, persisted on the IFS with in-editor preview and Open in Word; incremental updates and per-member generation.
- AI Change-Impact Analysis — describe a change, scope a source perimeter, get AI impact verdicts, a DevOps impact document, and proposed members to add.
- Chat Participant —
@project4i natural-language assistant in VS Code Chat.
- Multi-Tier Environments — N-tier pipelines with per-tier library mappings and type-based environment variables.
- Member-Level Approval & Rollback — maker-checker sign-off and rollback for single-member promotes.
- Data-Safe Promotion — preserve production data on recompile (
CRTPF→CHGPF, LF drop/recreate, skip existing CREATE TABLE); optional *PUBLIC *ALL.
- Organization Governance — IFS-hosted org config with admin / publisher / approver / user roles; centrally published environments, workflow commands, and source inventory.
- Source Inventory — org-wide source-container catalog and the
&SOURCE_INVENTORY variable.
- Member Search — metadata search across libraries (sidebar view + full panel).
- Setup Wizard — guided first-run organization bootstrap.
0.3.0 — Deployment Packages
- Group members into a named release; build-order deploy that stops on first failure; maker-checker approval; one-click rollback; full audit trail.
0.2.0 — Locking, Conflicts & Sharing
- Pessimistic member locking, force-unlock, cross-project conflict detection (promote blocked), orphaned-member health check + bulk cleanup.
- Copy Project As New, Re-open / Copy Archived, Project Chronicle, Archive with reason, Remove from Workspace.
- Shared Project Browser, 16 granular contributor permissions, Viewer role, multi-connection storage with migration, Require Ticket ID.
0.1.0 — Settings, Variables & Shared Projects
- Two-column settings UI, user-defined custom variables with Global→Project inheritance, clickable variable references, v2 variable names, shared (team) projects, archive/remove, create/rename/browse members, IFS promote template.
0.0.x — Foundations
- Logical projects, add/remove members, Object Browser integration, promote with CL templates, project properties, Run Action, IFS stream files, Documentation Hub, CL interactive prompting, custom actions, default settings, import/export.
License & Acknowledgments
Licensed under the MIT license. Contributions are welcome — feel free to open a Pull Request.
This extension is designed to work alongside the excellent Code for IBM i extension by the Code for i team.
AI Disclosure
IBM Project4i uses Large Language Models in two ways: (1) a runtime AI suite (documentation, change-impact analysis, build agent, chat) via the VS Code Language Model API; and (2) AI-assisted development of the extension itself — with architecture, security model, and business logic reviewed and validated by the maintainer.