Module 2: Create and configure your Showroom

Learning objectives

By the end of this module, you will:

  • Create a Showroom repository from the official nookbag template

  • Understand the purpose of each key configuration file

  • Configure site.yml, antora.yml, and ui-config.yml for your workshop

  • Prepare the repository for content generation

Getting started

Open a terminal on your laptop. All commands in this module run in your local terminal.

Your manager needs a Showroom for the Widget Server 3.2 Automated Widget Pipelines feature. Let’s create the repository that will hold your content.

Red Hat provides an official template repository called showroom_template_nookbag that includes the correct directory structure, GitHub Pages workflow, and Antora configuration out of the box.

Exercise 1: Create your repository

  1. Authenticate with GitHub if you haven’t already:

    gh auth status

    If you are not authenticated, run gh auth login and follow the prompts.

  2. Create your Showroom repository from the nookbag template:

    gh repo create rhpds/my-first-showroom \
      --template rhpds/showroom_template_nookbag \
      --public \
      --clone

    Replace my-first-showroom with a name that fits your workshop topic. The naming convention in the rhpds org is <topic>-showroom (e.g., openshift-pipelines-showroom, ansible-dev-tools-showroom).

  3. Navigate into the repository:

    cd my-first-showroom

Verify

Confirm the repository was created and cloned:

git remote -v

You should see your repository URL for both fetch and push.

Exercise 2: Clean out the template pages

The template comes with documentation pages about Showroom itself. You need to remove these and replace them with your own workshop content.

Use Claude Code to do this quickly:

  1. Start Claude Code in the repository:

    claude
  2. Give Claude Code the following instruction:

    Clean this Showroom repo for a new workshop called "Widget Server automated pipelines":
    
    1. Delete all .adoc files in content/modules/ROOT/pages/
    2. Create directories: content/modules/ROOT/assets/images and content/modules/ROOT/partials
    3. Update site.yml: change title to "Widget Server automated pipelines" and url to this repo's GitHub URL
    4. Update content/antora.yml: set title to "Widget Server automated pipelines", remove all example attributes (guid, bastion_*, ssh_*, openshift_*), keep experimental and page-pagination
    5. Update ui-config.yml: replace the Antora tab with a Terminal tab (name: Terminal, path: /wetty, port: 443)
    6. Replace content/modules/ROOT/nav.adoc contents with just: * xref:index.adoc[Home]
  3. Review the changes Claude Code makes and confirm them.

  4. Exit Claude Code:

    /exit

Verify

Confirm the cleanup:

ls content/modules/ROOT/pages/

The pages directory should be empty.

grep "title:" site.yml

Should show "Widget Server automated pipelines".

cat content/modules/ROOT/nav.adoc

Should show only * Home.

Exercise 3: Understand what you configured

Before moving on, let’s review what each file does for your Showroom:

site.yml — You changed the title. This appears in the browser tab and site header. The rest (theme URL, extensions, output directory) comes from the template and works out of the box.

content/antora.yml — You removed the example attributes (like guid: abc123). In a real RHDP deployment, Showroom injects actual values at deploy time. For GitHub Pages, you define sensible defaults here or use {placeholder} syntax in your content.

ui-config.yml — You configured a Terminal tab. On GitHub Pages this tab won’t render (no Wetty server), but it is ready for when you deploy on RHDP. The view_switcher and default_mode: split settings control the split-pane layout in RHDP deployments.

nav.adoc — You cleared it to a single Home entry. The /showroom:create-lab skill will populate this automatically when it generates your content.

Verify

You can explain what each of the four configuration files does and why you changed them.

Learning outcomes

By completing this module, you should now understand:

  • How to create a Showroom repository from the nookbag template using gh repo create --template

  • The purpose of the four key configuration files and what to customize in each

  • How to use Claude Code to efficiently clean and configure repository files

  • That the examples/ directory contains templates the AI skills use as reference — keep it intact

What’s next

Your repository is clean and configured. In the next module, you will generate a complete workshop module using the /showroom:create-lab skill and publish it to GitHub Pages.