Tools
Use IBM i specific tools to read & write to members or stream files, run CL commands, run SQL statements, and much more.
IBM Bob Premium Package for i extends Bob's built-in tool capabilities with a set of IBM i-specific tools. For a general introduction to how tools work and what the built-in ones are, see Tools.
These tools are organized by function and are available to Bob when working in the IBM i Developer and IBM i Database modes, depending on the tool.
Read
Read and search for content in QSYS or IFS.
Edit
Create and write content in QSYS or IFS.
SQL
Resolve schemas, files, tables, and commands on Db2 for i.
Execute
Run CL commands, SQL statements, and PASE commands.
Build
Compile IBM i source code.
Test
Generate unit test stubs and run test suites with code coverage.
Documentation
Search and fetch official IBM i documentation, CL command documentation, and SQL examples.
Understand
Explore scanned IBM i application objects and their dependencies.
Read tools
The following IBM i read tools fall under the read auto-approve permission:
| Tool | Purpose | Available in |
|---|---|---|
read_member | Read the contents of one or more source members in QSYS. | IBM i Developer, IBM i Database |
search_qsys | Search for libraries, objects, or source members in QSYS, including content within a member using regex. | IBM i Developer, IBM i Database |
read_stream_file | Read the contents of one or more stream files in the IFS. | IBM i Developer |
search_ifs | Search for stream files and directories in the IFS, including content within a stream file using regex. | IBM i Developer |
Write tools
The following IBM i write tools fall under the write auto-approve permission:
| Tool | Purpose | Available in |
|---|---|---|
write_member | Create a new source member or overwrite an existing source member in QSYS. | IBM i Developer |
write_stream_file | Create a new stream file or overwrite an existing stream file in the IFS. | IBM i Developer |
generate_dds | Generate DDS source for physical files (PF), logical files (LF), display files (DSPF), and printer files (PRTF) from structured input, with pre-write validation for common layout issues. | IBM i Developer |
Execute tools
The following IBM i execute tools fall under the execute auto-approve permission:
| Tool | Purpose | Available in |
|---|---|---|
execute_cl_command | Execute a CL command on IBM i. By default, Bob requires commands to be library-qualified (e.g., QSYS/...) and automatically suggests including parameters to generate event files when compiling source code. Enablement of this qualified CL command guardrail is configurable in the extension settings. | IBM i Developer |
execute_sql_statement | Execute an SQL statement on IBM i. Certain SQL statement types (such as DROP, UPDATE, TRUNCATE) require explicit user approval before execution. This set of denied statement types is configurable in the extension settings. | IBM i Developer, IBM i Database |
execute_pase_command | Execute a PASE command on IBM i. | IBM i Developer |
convert_rpg_source | Execute the convert RPG source (CVTRPGSRC) CL command to convert RPG III or RPG/400 source code to the new RPG IV format. This tool also transfers files across all three workspaces. | IBM i Developer |
Build tools
The following IBM i build tools fall under the execute auto-approve permission:
| Tool | Purpose | Available in |
|---|---|---|
get_compile_actions | Retrieve pre-defined Code for IBM i actions for a given file. For local files, this will be retrieved from the project's local actions which are stored in .vscode/actions.json. For source members or stream files, this will be retrieved from default and user defined actions defined on the connection. | IBM i Developer |
execute_compile_action | Execute a specific Code for IBM i action retrieved from the get_compile_actions tool on a given file. | IBM i Developer |
Test tools
The following IBM i test tools fall under the read and execute auto-approve permission:
| Tool | Purpose | Available in |
|---|---|---|
generate_rpg_unit_test_stub | Generate RPGUnit test stubs given an RPGLE SQLRPGLE file containing exported procedures. This accomplishes the same goal as generating them via the IBM i Testing test stub generator. | IBM i Developer |
run_rpg_unit_test_suite | Compile and run RPGUnit test suites with optional line-level (*LINE) or procedure-level (*PROC) code coverage. | IBM i Developer |
SQL tools
The following IBM i SQL tools fall under the execute auto-approve permission:
| Tool | Purpose | Available in |
|---|---|---|
get_schema_info | Resolve a library or schema name to both its system name (10-character, for CL commands) and its SQL schema name (up to 128-character, for SQL statements). Handles ordinary names, long SQL schema names, and delimited identifiers. | IBM i Developer, IBM i Database |
get_file_info | Resolve a table or file name to its full metadata including system name, SQL name, object type, and description. Correctly resolves ordinary names, long SQL table names, SQL aliases, and case-sensitive delimited identifiers. | IBM i Developer, IBM i Database |
get_table_columns | Fetch column metadata for a Db2 for i table or view, using case-insensitive matching for both SQL and system names, including delimited identifiers and mixed-case names. | IBM i Database |
get_cl_command_library | Look up every library where a CL command is registered, including proxy command details for correct library qualification. | IBM i Developer, IBM i Database |
Documentation tools
The following IBM i documentation tools fall under the documentation auto-approve permission:
| Tool | Purpose | Available in |
|---|---|---|
search_ibm_i_docs_with_rag | Use RAG (retrieval-augmented generation) to find IBM i documentation when you need to answer conceptual or open-ended questions about IBM i that require semantic understanding rather than exact keyword matching. Covers all IBM i topics including: ILE programming (RPG, CL, DDS, COBOL, C, C++), Db2 for i SQL, IFS and QSYS file systems, system operations, security, performance, networking, storage, and troubleshooting. Returns contextually relevant documentation excerpts ranked by semantic similarity to the query. | IBM i Developer, IBM i Database |
fetch_cl_command_doc | Fetch documentation for a CL command on the connected IBM i including parameter descriptions, usage examples, and possible error messages. This documentation is generated using the GENCMDDOC CL command. | IBM i Developer, IBM i Database |
search_sql_examples | Search for SQL examples that make use of specific SQL services from the SQL examples defined in the Db2 for IBM i extension. | IBM i Developer, IBM i Database |
fetch_sql_example | Fetch the full contents of an SQL example retrieved from the search_sql_examples tool. | IBM i Developer, IBM i Database |
Understand tools
The following Understand tools are part of Understand auto-approve permission. They are only available when the Understand component is installed.
| Tool | Purpose | Available in |
|---|---|---|
understand_list_apps | List all Understand applications registered on the connected IBM i system. | IBM i Developer, IBM i Database |
understand_app_summary | Get an architecture overview of an app in one call: object inventory by type and language, dependency counts, the most depended-upon and most coupled objects, risk and modernization signals (OPM programs, dynamic SQL, adopted authority, entry points, physical files without a journal record), database rules (foreign keys, cascade deletes, triggers), scan warnings, and referenced libraries outside the app. | IBM i Developer, IBM i Database |
understand_find_objects | Search objects scanned by Understand. Combine filters for name wildcards, type, library, attribute/language, OPM vs ILE, dynamic SQL usage, no inbound dependencies, and not used since N days. Sort by inbound dependencies to find the most critical objects. Returns name, type, attribute, OPM/ILE, library, inbound/outbound dependency counts, last used date, and a dynamic SQL flag, with paging support. | IBM i Developer, IBM i Database |
understand_describe_object | Get a complete profile of one IBM i object in a single call: metadata (attribute, OPM/ILE, library, source path, owner, activation group, adopted authority, compiler, dates, dynamic SQL), inbound/outbound dependency counts by kind, and type-specific sections — bindings, exports, imports, columns, triggers, foreign keys, journaling, binding directory entries, and command definitions. | IBM i Developer, IBM i Database |
understand_trace_dependencies | Trace the inbound or outbound dependencies of an object up to a configurable depth, filtered by dependency kind (e.g. FILE_OPEN, PGM_CALL, BOUND_SRVPGM). | IBM i Developer, IBM i Database |
understand_find_symbol | Find where a procedure or exported symbol is defined and which objects import it (IBM i 7.6+ scans). | IBM i Developer, IBM i Database |
Additional auto-approve permission
The built-in auto-approve permission are available on both the IBM i Developer and IBM i Database modes. These modes will also have the following additional auto-approve permission(s):
- Documentation: Let Bob use all documentation tools to retrieve IBM i documentation without asking for permission.
- Understand: Allow Bob use all Understand tools to explore scanned IBM i objects and dependencies without asking for permission. This permission group is only available when the Understand component is installed.
