bob-walkthroughs is a central repository for all Bob tutorials. It has generic walkthroughs to learn how to use Bob, but it also has workspace specific walkthroughs for specific repositories.
You can create your own Bob lab walkthrough for a specific workspace/repository as part of this bob-walkthroughs extension, and then the lab walkthrough contents goes into the txc-lab repo (below). You can also create multiple walkthroughs for a given workspace/repository. The lab creator must set the walkthrough name(s) by creating a VS Code settings.json file in the lab repository/folder to determine which walkthroughs should be used.
{
"bob-code.walkthrough": "myJavaApp"
}{
"bob-code.walkthrough": ["learn-ui", "myJavaApp"]
}For your lab content, put your repository as a submodule or as a folder in this monorepo: https://github.ibm.com/code-assistant/txc-lab
Do not forget that your lab directory needs the settings.json folder to make sure it connects to the walkthrough nicely.
Opening a document: bob-walkthroughs.openDocument
In the walkthrough markdown, you can use an href to command:bob-walkthroughs.openDocument to open a document in the editor. You can also specify a range to select in the document. The parameter to the command is a JSON array with these parameters:
- relative path to the document (relative to the root of the workspace)
- optional range to select in the document as a string, in the format
startLine-endLine(1-based)
The markdown looks like something akin to:
[Open document](command:bob-walkthroughs.openDocument?%5B%22frontend%2Fsrc%2Fwidgets%2Fcomments-feed%2Fcomments-feed.skeleton.tsx%22%2C%2215-16%22%5D)The above example opens the file frontend/src/widgets/comments-feed/comments-feed.skeleton.tsx and selects lines 15-16. (["frontend/src/widgets/comments-feed/comments-feed.skeleton.tsx","15-16"])
Pro-tip: build the bob-walkthroughs extension and install it! We added a right click option to text editors to automatically generate the markdown link for you and copy it to your clipboard. This is easier than doing the URL encoding by hand. Look for Get markdown URL in the editor right-click menu.
Starting a prompt: bob-walkthroughs.chat.startPrompt
You can start a prompt in the chat with a predefined message. The parameter to the command is a JSON array with one parameter:
- the prompt message as a string
The markdown looks like something akin to:
[Say hi!](command:bob-walkthroughs.chat.startPrompt?%5B%22Hello%21%20How%20are%20you%3F%22%5D)Which is the value of ["Hello! How are you?"]
| Workshop | Walkthrough status | Content in monorepo | Owner |
|---|---|---|---|
| IT Automation | Done | Done | Matt Rodkey / Chetan Hireholi |
| IBM i | Done | Done | Tim Rowe / Julio Sanchez |
| Java | Done | Done | Jay Talekar / Dominik Zimny |
| Bob | Done | Done | Michael Daschner |
| Name | For lab | Reason |
|---|---|---|
| Bob | * | Obvious |
| Bobshell | * | Because Bob |
| Node.js 20+ | * | Needed for labs |
| npm | * | Needed for labs, comes with Node.js |
| git | * | Standard stuff |
| Docker | IT Automation | To mimic IaC. Will be using only docker-cli |
| Podman | IT Automation | To view deployed containers on system |
| Terraform | IT Automation | To provision docker containers |
| Ansible | IT Automation | To configure docker containers |
| Redis CLI | IT Automation | To test configuration changes made using Ansible |
| OWASP ZAP | IT Automation | Web application security scanner |
| Trivy | IT Automation | Container vuln scanner |
| ESLint with security plugins | IT Automation | Static code analysis |
| OWASP Dependency-Check | IT Automation | Identifies vulnerable deps |
| SDKMAN native: 0.7.4 macos aarch64 | Java | Java Install Tool |
| Java 8, 11, 17,21 | Java | Java Upgrade Process |
| Maven 3.9.0+ | Java | Java Build Tool |
| Gradle 9.0.0 | Java | Java Build Tool |
| Python 3.13 | * | Labs & Demos |
| IBM i Languages (extension) | IBM i | RPGLE highlighting |
| RPGLE (extension) | IBM i | RPGLE LSP |
- Install script for IT Automation lab :
- DevSecOps use case.
- Docker container management use case.
- Install script for Java lab here.
- Install script for Bob lab here.