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.
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.
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. Also, supports searching for 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. Also, supports searching for 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 |
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 paramters 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 supports file transfers 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 |
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 |
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.
