diff --git a/.github/dependabot.yml b/.github/dependabot.yml
deleted file mode 100644
index 8ac6b8c4..00000000
--- a/.github/dependabot.yml
+++ /dev/null
@@ -1,6 +0,0 @@
-version: 2
-updates:
- - package-ecosystem: "github-actions"
- directory: "/"
- schedule:
- interval: "monthly"
diff --git a/.github/steps/-step.txt b/.github/steps/-step.txt
deleted file mode 100644
index 573541ac..00000000
--- a/.github/steps/-step.txt
+++ /dev/null
@@ -1 +0,0 @@
-0
diff --git a/.github/steps/0-welcome.md b/.github/steps/0-welcome.md
deleted file mode 100644
index 9ff13a5d..00000000
--- a/.github/steps/0-welcome.md
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/.github/steps/1-step.md b/.github/steps/1-step.md
new file mode 100644
index 00000000..10e5155f
--- /dev/null
+++ b/.github/steps/1-step.md
@@ -0,0 +1,27 @@
+## Step 1: (replace-me: STEP-NAME)
+
+(replace-me: OPTIONAL Brief story or scenario to introduce the step)
+
+### 📖 Theory: (replace-me: Theory title)
+
+
+
+
+(replace-me: Optional theory or background information relevant to this step)
+
+### ⌨️ Activity: (replace-me: Activity title)
+
+1. (replace-me: First instruction)
+1. (replace-me: Second instruction)
+1. (replace-me: Additional instructions as needed)
+
+
+Having trouble? 🤷
+
+- (replace-me: Troubleshooting tip or hint)
+- (replace-me: Additional troubleshooting tips as needed)
+
+
diff --git a/.github/steps/1-tbd.md b/.github/steps/1-tbd.md
deleted file mode 100644
index 667dc908..00000000
--- a/.github/steps/1-tbd.md
+++ /dev/null
@@ -1,22 +0,0 @@
-
-
-## Step 1: TBD-step-1-name
-
-_Welcome to "TBD-course-name"! :wave:_
-
-TBD-step-1-information
-
-**What is _TBD-term-1_**: TBD-definition-1
-
-### :keyboard: Activity: TBD-step-1-name
-
-1. Open a new browser tab, and work on the steps in your second tab while you read the instructions in this tab.
-1. TBD-step-1-instructions.
-1. Wait about 20 seconds then refresh this page (the one you're following instructions from). [GitHub Actions](https://docs.github.com/en/actions) will automatically update to the next step.
diff --git a/.github/steps/2-step.md b/.github/steps/2-step.md
new file mode 100644
index 00000000..10e5155f
--- /dev/null
+++ b/.github/steps/2-step.md
@@ -0,0 +1,27 @@
+## Step 1: (replace-me: STEP-NAME)
+
+(replace-me: OPTIONAL Brief story or scenario to introduce the step)
+
+### 📖 Theory: (replace-me: Theory title)
+
+
+
+
+(replace-me: Optional theory or background information relevant to this step)
+
+### ⌨️ Activity: (replace-me: Activity title)
+
+1. (replace-me: First instruction)
+1. (replace-me: Second instruction)
+1. (replace-me: Additional instructions as needed)
+
+
+Having trouble? 🤷
+
+- (replace-me: Troubleshooting tip or hint)
+- (replace-me: Additional troubleshooting tips as needed)
+
+
diff --git a/.github/steps/2-tbd.md b/.github/steps/2-tbd.md
deleted file mode 100644
index bc668af0..00000000
--- a/.github/steps/2-tbd.md
+++ /dev/null
@@ -1,19 +0,0 @@
-
-
-## Step 2: TBD-step-2-name
-
-_You did TBD-step-1-name! :tada:_
-
-TBD-step-2-information
-
-**What is _TBD-term-2_**: TBD-definition-2
-
-### :keyboard: Activity: TBD-step-2-name
-
-1. TBD-step-2-instructions.
-1. Wait about 20 seconds then refresh this page (the one you're following instructions from). [GitHub Actions](https://docs.github.com/en/actions) will automatically update to the next step.
diff --git a/.github/steps/3-step.md b/.github/steps/3-step.md
new file mode 100644
index 00000000..10e5155f
--- /dev/null
+++ b/.github/steps/3-step.md
@@ -0,0 +1,27 @@
+## Step 1: (replace-me: STEP-NAME)
+
+(replace-me: OPTIONAL Brief story or scenario to introduce the step)
+
+### 📖 Theory: (replace-me: Theory title)
+
+
+
+
+(replace-me: Optional theory or background information relevant to this step)
+
+### ⌨️ Activity: (replace-me: Activity title)
+
+1. (replace-me: First instruction)
+1. (replace-me: Second instruction)
+1. (replace-me: Additional instructions as needed)
+
+
+Having trouble? 🤷
+
+- (replace-me: Troubleshooting tip or hint)
+- (replace-me: Additional troubleshooting tips as needed)
+
+
diff --git a/.github/steps/3-tbd.md b/.github/steps/3-tbd.md
deleted file mode 100644
index f497d7a0..00000000
--- a/.github/steps/3-tbd.md
+++ /dev/null
@@ -1,19 +0,0 @@
-
-
-## Step 3: TBD-step-3-name
-
-_Nice work finishing TBD-step-2-name :sparkles:_
-
-TBD-step-3-information
-
-**What is _TBD-term-3_**: TBD-definition-3
-
-### :keyboard: Activity: TBD-step-3-name
-
-1. TBD-step-3-instructions.
-1. Wait about 20 seconds then refresh this page (the one you're following instructions from). [GitHub Actions](https://docs.github.com/en/actions) will automatically update to the next step.
diff --git a/.github/steps/4-tbd.md b/.github/steps/4-tbd.md
deleted file mode 100644
index 362b271d..00000000
--- a/.github/steps/4-tbd.md
+++ /dev/null
@@ -1,19 +0,0 @@
-
-
-## Step 4: TBD-step-4-name
-
-_Nicely done TBD-step-3-name! :partying_face:_
-
-TBD-step-4-information
-
-**What is _TBD-term-4_**: TBD-definition-4
-
-### :keyboard: Activity: TBD-step-4-name
-
-1. TBD-step-4-instructions.
-1. Wait about 20 seconds then refresh this page (the one you're following instructions from). [GitHub Actions](https://docs.github.com/en/actions) will automatically update to the next step.
diff --git a/.github/steps/5-tbd.md b/.github/steps/5-tbd.md
deleted file mode 100644
index 492ae9a1..00000000
--- a/.github/steps/5-tbd.md
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-## Step 5: TBD-step-5-name
-
-_Almost there TBD-step-4-name! :heart:_
-
-TBD-step-5-information
-
-### :keyboard: Activity: TBD-step-5-name
-
-1. TBD-step-5-instructions.
-1. Wait about 20 seconds then refresh this page (the one you're following instructions from). [GitHub Actions](https://docs.github.com/en/actions) will automatically update to the next step.
diff --git a/.github/steps/X-finish.md b/.github/steps/X-finish.md
deleted file mode 100644
index 99dceae3..00000000
--- a/.github/steps/X-finish.md
+++ /dev/null
@@ -1,22 +0,0 @@
-
-
-## Finish
-
-_Congratulations friend, you've completed this course!_
-
-
-
-Here's a recap of all the tasks you've accomplished in your repository:
-
-- TBD-recap.
-
-### What's next?
-
-- TBD-continue.
-- [We'd love to hear what you thought of this course](TBD-feedback-link).
-- [Take another TBD-organization Course](https://github.com/TBD-organization).
-- [Read the GitHub Getting Started docs](https://docs.github.com/en/get-started).
-- To find projects to contribute to, check out [GitHub Explore](https://github.com/explore).
diff --git a/.github/steps/x-review.md b/.github/steps/x-review.md
new file mode 100644
index 00000000..e289a50f
--- /dev/null
+++ b/.github/steps/x-review.md
@@ -0,0 +1,16 @@
+## Review
+
+_Congratulations, you've completed this exercise and learned a lot about (replace-me: feature/product that was taught in this exercise)
+
+
+
+Here's a recap of your accomplishments:
+
+- (replace-me: Accomplishment #1)
+- (replace-me: Accomplishment #N)
+
+### What's next?
+
+- (replace-me: Natural follow up Skills exercise - if there is one)
+- (replace-me: Documentation link to learn more about the feature)
+- (replace-me: Other resources or calls to action)
diff --git a/.github/workflows/0-start-exercise.yml b/.github/workflows/0-start-exercise.yml
new file mode 100644
index 00000000..d8a0e193
--- /dev/null
+++ b/.github/workflows/0-start-exercise.yml
@@ -0,0 +1,72 @@
+name: Step 0 # Start Exercise
+
+on:
+ push:
+ branches:
+ - main
+
+permissions:
+ contents: write
+ actions: write
+ issues: write
+
+env:
+ STEP_1_FILE: ".github/steps/1-step.md"
+
+jobs:
+ start_exercise:
+ if: |
+ !github.event.repository.is_template
+ name: Start Exercise
+ uses: skills/exercise-toolkit/.github/workflows/start-exercise.yml@v0.4.0
+ with:
+ exercise-title: "(replace-me: Exercise title)"
+ intro-message: "(replace-me: Brief one line introduction message for the exercise)"
+
+ post_next_step_content:
+ name: Post next step content
+ runs-on: ubuntu-latest
+ needs: [start_exercise]
+ env:
+ ISSUE_URL: ${{ needs.start_exercise.outputs.issue-url }}
+
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v4
+
+ - name: Get response templates
+ uses: actions/checkout@v4
+ with:
+ repository: skills/exercise-toolkit
+ path: exercise-toolkit
+ ref: v0.4.0
+
+ - name: Build comment - add step content
+ id: build-comment
+ uses: skills/action-text-variables@v2
+ with:
+ template-file: ${{ env.STEP_1_FILE }}
+ template-vars: |
+ login: ${{ github.actor }}
+ full_repo_name: ${{ github.repository }}
+
+ - name: Create comment - add step content
+ run: |
+ gh issue comment "$ISSUE_URL" \
+ --body "$ISSUE_BODY"
+ env:
+ GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ ISSUE_BODY: ${{ steps.build-comment.outputs.updated-text }}
+
+ - name: Create comment - watching for progress
+ run: |
+ gh issue comment "$ISSUE_URL" \
+ --body-file "exercise-toolkit/markdown-templates/step-feedback/watching-for-progress.md"
+ env:
+ GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+
+ - name: Enable next step workflow
+ run: |
+ gh workflow disable "${{github.workflow}}"
+ env:
+ GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
diff --git a/.github/workflows/0-welcome.yml b/.github/workflows/0-welcome.yml
deleted file mode 100644
index df06d1d2..00000000
--- a/.github/workflows/0-welcome.yml
+++ /dev/null
@@ -1,66 +0,0 @@
-name: Step 0, Welcome
-
-# This step triggers after the learner creates a new repository from the template.
-# This workflow updates from step 0 to step 1.
-
-# This will run every time we create push a commit to `main`.
-# Reference: https://docs.github.com/en/actions/learn-github-actions/events-that-trigger-workflows
-on:
- workflow_dispatch:
- push:
- branches:
- - main
-
-# Reference: https://docs.github.com/en/actions/security-guides/automatic-token-authentication
-permissions:
- # Need `contents: read` to checkout the repository.
- # Need `contents: write` to update the step metadata.
- contents: write
-
-jobs:
- # Get the current step to only run the main job when the learner is on the same step.
- get_current_step:
- name: Check current step number
- runs-on: ubuntu-latest
- steps:
- - name: Checkout
- uses: actions/checkout@v4
- - id: get_step
- run: |
- echo "current_step=$(cat ./.github/steps/-step.txt)" >> $GITHUB_OUTPUT
- outputs:
- current_step: ${{ steps.get_step.outputs.current_step }}
-
- on_start:
- name: On start
- needs: get_current_step
-
- # We will only run this action when:
- # 1. This repository isn't the template repository.
- # 2. The step is currently 0.
- # Reference: https://docs.github.com/en/actions/learn-github-actions/contexts
- # Reference: https://docs.github.com/en/actions/learn-github-actions/expressions
- if: >-
- ${{ !github.event.repository.is_template
- && needs.get_current_step.outputs.current_step == 0 }}
-
- # We'll run Ubuntu for performance instead of Mac or Windows.
- runs-on: ubuntu-latest
-
- steps:
- # We'll need to check out the repository so that we can edit the README.
- - name: Checkout
- uses: actions/checkout@v4
- with:
- fetch-depth: 0 # Let's get all the branches.
-
- # TBD-course-set-up
-
- # In README.md, switch step 0 for step 1.
- - name: Update to step 1
- uses: skills/action-update-step@v2
- with:
- token: ${{ secrets.GITHUB_TOKEN }}
- from_step: 0
- to_step: 1
- branch_name: tbd-branch-name
diff --git a/.github/workflows/1-step.yml b/.github/workflows/1-step.yml
new file mode 100644
index 00000000..2a1c188e
--- /dev/null
+++ b/.github/workflows/1-step.yml
@@ -0,0 +1,107 @@
+name: Step 1
+
+# Common event triggers: pull_request, push, issues, issue_comment (feel free to experiment)
+# Docs: https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows
+
+# When using "push" consider the following so the step workflow is not triggered on repository creation.
+# Do NOT create a step workflow that triggers on `main` without a `paths` filter.
+# Do NOT design the `paths` filter for an **existing** file, only new files.
+on:
+ pull_request:
+ branches:
+ - main
+
+
+permissions:
+ contents: read
+ actions: write
+ issues: write
+
+env:
+ STEP_2_FILE: ".github/steps/2-step.md"
+
+jobs:
+ find_exercise:
+ name: Find Exercise Issue
+ uses: skills/exercise-toolkit/.github/workflows/find-exercise-issue.yml@v0.4.0
+
+ check_step_work:
+ name: Check step work
+ runs-on: ubuntu-latest
+ needs: [find_exercise]
+ env:
+ ISSUE_URL: ${{ needs.find_exercise.outputs.issue-url }}
+
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v4
+
+ - name: Get response templates
+ uses: actions/checkout@v4
+ with:
+ repository: skills/exercise-toolkit
+ path: exercise-toolkit
+ ref: v0.4.0
+
+ # START: Check practical exercise
+
+ # (replace-me: Add verification steps here if needed)
+
+ # END: Check practical exercise
+
+ - name: Build message - step finished
+ id: build-message-step-finish
+ uses: skills/action-text-variables@v2
+ with:
+ template-file: exercise-toolkit/markdown-templates/step-feedback/step-finished-prepare-next-step.md
+ template-vars: |
+ next_step_number: 2
+
+ - name: Update comment - step finished
+ run: |
+ gh issue comment "$ISSUE_URL" \
+ --body "$ISSUE_BODY"
+ env:
+ GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ ISSUE_BODY: ${{ steps.build-message-step-finish.outputs.updated-text }}
+
+
+
+ post_next_step_content:
+ name: Post next step content
+ needs: [find_exercise, check_step_work]
+ runs-on: ubuntu-latest
+ env:
+ ISSUE_URL: ${{ needs.find_exercise.outputs.issue-url }}
+
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v4
+
+ - name: Get response templates
+ uses: actions/checkout@v4
+ with:
+ repository: skills/exercise-toolkit
+ path: exercise-toolkit
+ ref: v0.4.0
+
+ - name: Create comment - add step content
+ run: |
+ gh issue comment "$ISSUE_URL" \
+ --body-file "$STEP_2_FILE"
+ env:
+ GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+
+ - name: Create comment - watching for progress
+ run: |
+ gh issue comment "$ISSUE_URL" \
+ --body-file exercise-toolkit/markdown-templates/step-feedback/watching-for-progress.md
+ env:
+ GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+
+ - name: Disable current workflow and enable next one
+ run: |
+ gh workflow disable "${{github.workflow}}"
+ gh workflow enable "Step 2"
+ env:
+ GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
diff --git a/.github/workflows/1-tbd.yml b/.github/workflows/1-tbd.yml
deleted file mode 100644
index 621d2e2e..00000000
--- a/.github/workflows/1-tbd.yml
+++ /dev/null
@@ -1,65 +0,0 @@
-name: Step 1, TBD-step-1-name
-
-# This step triggers after TBD-step-1-event-desc.
-# This workflow updates from step 1 to step 2.
-
-# This will run every time we TBD-step-1-event-desc.
-# Reference: https://docs.github.com/en/actions/learn-github-actions/events-that-trigger-workflows
-on:
- workflow_dispatch:
- # Add events that trigger this workflow.
- # TBD-step-1-event:
-
-# Reference: https://docs.github.com/en/actions/security-guides/automatic-token-authentication
-permissions:
- # Need `contents: read` to checkout the repository.
- # Need `contents: write` to update the step metadata.
- contents: write
-
-jobs:
- # Get the current step to only run the main job when the learner is on the same step.
- get_current_step:
- name: Check current step number
- runs-on: ubuntu-latest
- steps:
- - name: Checkout
- uses: actions/checkout@v4
- - id: get_step
- run: |
- echo "current_step=$(cat ./.github/steps/-step.txt)" >> $GITHUB_OUTPUT
- outputs:
- current_step: ${{ steps.get_step.outputs.current_step }}
-
- on_TBD-step-1-event:
- name: On TBD-step-1-event
- needs: get_current_step
-
- # We will only run this action when:
- # 1. This repository isn't the template repository.
- # 2. The step is currently 1.
- # Reference: https://docs.github.com/en/actions/learn-github-actions/contexts
- # Reference: https://docs.github.com/en/actions/learn-github-actions/expressions
- if: >-
- ${{ !github.event.repository.is_template
- && needs.get_current_step.outputs.current_step == 1 }}
-
- # We'll run Ubuntu for performance instead of Mac or Windows.
- runs-on: ubuntu-latest
-
- steps:
- # We'll need to check out the repository so that we can edit the README.
- - name: Checkout
- uses: actions/checkout@v4
- with:
- fetch-depth: 0 # Let's get all the branches.
-
- # TBD-step-1-additional-steps
-
- # In README.md, switch step 1 for step 2.
- - name: Update to step 2
- uses: skills/action-update-step@v2
- with:
- token: ${{ secrets.GITHUB_TOKEN }}
- from_step: 1
- to_step: 2
- branch_name: tbd-branch-name
diff --git a/.github/workflows/2-step.yml b/.github/workflows/2-step.yml
new file mode 100644
index 00000000..0f87fb75
--- /dev/null
+++ b/.github/workflows/2-step.yml
@@ -0,0 +1,100 @@
+name: Step 2
+
+
+# Common event triggers: pull_request, push, issues, issue_comment (feel free to experiment)
+# Docs: https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows
+
+# When using "push" consider the following so the step workflow is not triggered on repository creation.
+# Do NOT create a step workflow that triggers on `main` without a `paths` filter.
+# Do NOT design the `paths` filter for an **existing** file, only new files.
+on:
+ pull_request:
+ branches:
+ - main
+ types:
+ - closed
+
+permissions:
+ contents: write
+ actions: write
+ issues: write
+
+env:
+ REVIEW_FILE: ".github/steps/x-review.md"
+
+jobs:
+ find_exercise:
+ name: Find Exercise Issue
+ uses: skills/exercise-toolkit/.github/workflows/find-exercise-issue.yml@v0.4.0
+
+ check_step_work:
+ name: Check step work
+ runs-on: ubuntu-latest
+ needs: [find_exercise]
+ env:
+ ISSUE_URL: ${{ needs.find_exercise.outputs.issue-url }}
+
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v4
+
+ - name: Get response templates
+ uses: actions/checkout@v4
+ with:
+ repository: skills/exercise-toolkit
+ path: exercise-toolkit
+ ref: v0.4.0
+
+ # START: Check practical exercise
+
+ # (replace-me: Add verification steps here if needed)
+
+ # END: Check practical exercise
+
+ - name: Create comment - step finished - final review next
+ run: |
+ gh issue comment "$ISSUE_URL" \
+ --body-file exercise-toolkit/markdown-templates/step-feedback/lesson-review.md
+ env:
+ GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+
+ post_review_content:
+ name: Post review content
+ needs: [find_exercise, check_step_work]
+ runs-on: ubuntu-latest
+ env:
+ ISSUE_URL: ${{ needs.find_exercise.outputs.issue-url }}
+
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v4
+
+ - name: Create comment - add step content
+ run: |
+ gh issue comment "$ISSUE_URL" \
+ --body-file "$REVIEW_FILE"
+ env:
+ GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+
+
+ # The last workflow in the chain of steps should also finish the exercise.
+ finish_exercise:
+ name: Finish Exercise
+ needs: [find_exercise, post_review_content]
+ uses: skills/exercise-toolkit/.github/workflows/finish-exercise.yml@v0.4.0
+ with:
+ issue-url: ${{ needs.find_exercise.outputs.issue-url }}
+
+ disable_workflow:
+ name: Disable this workflow
+ needs: [find_exercise, post_review_content]
+ runs-on: ubuntu-latest
+
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v4
+
+ - name: Disable current workflow
+ run: gh workflow disable "${{github.workflow}}"
+ env:
+ GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
diff --git a/.github/workflows/2-tbd.yml b/.github/workflows/2-tbd.yml
deleted file mode 100644
index e7d68737..00000000
--- a/.github/workflows/2-tbd.yml
+++ /dev/null
@@ -1,65 +0,0 @@
-name: Step 2, TBD-step-2-name
-
-# This step triggers after TBD-step-2-event-desc.
-# This workflow updates from step 2 to step 3.
-
-# This will run every time we TBD-step-2-event-desc.
-# Reference: https://docs.github.com/en/actions/learn-github-actions/events-that-trigger-workflows
-on:
- workflow_dispatch:
- # Add events that trigger this workflow.
- # TBD-step-2-event:
-
-# Reference: https://docs.github.com/en/actions/security-guides/automatic-token-authentication
-permissions:
- # Need `contents: read` to checkout the repository.
- # Need `contents: write` to update the step metadata.
- contents: write
-
-jobs:
- # Get the current step to only run the main job when the learner is on the same step.
- get_current_step:
- name: Check current step number
- runs-on: ubuntu-latest
- steps:
- - name: Checkout
- uses: actions/checkout@v4
- - id: get_step
- run: |
- echo "current_step=$(cat ./.github/steps/-step.txt)" >> $GITHUB_OUTPUT
- outputs:
- current_step: ${{ steps.get_step.outputs.current_step }}
-
- on_TBD-step-2-event:
- name: On TBD-step-2-event
- needs: get_current_step
-
- # We will only run this action when:
- # 1. This repository isn't the template repository.
- # 2. The step is currently 2.
- # Reference: https://docs.github.com/en/actions/learn-github-actions/contexts
- # Reference: https://docs.github.com/en/actions/learn-github-actions/expressions
- if: >-
- ${{ !github.event.repository.is_template
- && needs.get_current_step.outputs.current_step == 2 }}
-
- # We'll run Ubuntu for performance instead of Mac or Windows.
- runs-on: ubuntu-latest
-
- steps:
- # We'll need to check out the repository so that we can edit the README.
- - name: Checkout
- uses: actions/checkout@v4
- with:
- fetch-depth: 0 # Let's get all the branches.
-
- # TBD-step-2-additional-steps
-
- # In README.md, switch step 2 for step 3.
- - name: Update to step 3
- uses: skills/action-update-step@v2
- with:
- token: ${{ secrets.GITHUB_TOKEN }}
- from_step: 2
- to_step: 3
- branch_name: tbd-branch-name
diff --git a/.github/workflows/3-tbd.yml b/.github/workflows/3-tbd.yml
deleted file mode 100644
index 556c6a7a..00000000
--- a/.github/workflows/3-tbd.yml
+++ /dev/null
@@ -1,65 +0,0 @@
-name: Step 3, TBD-step-3-name
-
-# This step triggers after TBD-step-3-event-desc.
-# This workflow updates from step 3 to step 4.
-
-# This will run every time we TBD-step-3-event-desc.
-# Reference: https://docs.github.com/en/actions/learn-github-actions/events-that-trigger-workflows
-on:
- workflow_dispatch:
- # Add events that trigger this workflow.
- # TBD-step-3-event:
-
-# Reference: https://docs.github.com/en/actions/security-guides/automatic-token-authentication
-permissions:
- # Need `contents: read` to checkout the repository.
- # Need `contents: write` to update the step metadata.
- contents: write
-
-jobs:
- # Get the current step to only run the main job when the learner is on the same step.
- get_current_step:
- name: Check current step number
- runs-on: ubuntu-latest
- steps:
- - name: Checkout
- uses: actions/checkout@v4
- - id: get_step
- run: |
- echo "current_step=$(cat ./.github/steps/-step.txt)" >> $GITHUB_OUTPUT
- outputs:
- current_step: ${{ steps.get_step.outputs.current_step }}
-
- on_TBD-step-3-event:
- name: On TBD-step-3-event
- needs: get_current_step
-
- # We will only run this action when:
- # 1. This repository isn't the template repository.
- # 2. The step is currently 3.
- # Reference: https://docs.github.com/en/actions/learn-github-actions/contexts
- # Reference: https://docs.github.com/en/actions/learn-github-actions/expressions
- if: >-
- ${{ !github.event.repository.is_template
- && needs.get_current_step.outputs.current_step == 3 }}
-
- # We'll run Ubuntu for performance instead of Mac or Windows.
- runs-on: ubuntu-latest
-
- steps:
- # We'll need to check out the repository so that we can edit the README.
- - name: Checkout
- uses: actions/checkout@v4
- with:
- fetch-depth: 0 # Let's get all the branches.
-
- # TBD-step-3-additional-steps
-
- # In README.md, switch step 3 for step 4.
- - name: Update to step 4
- uses: skills/action-update-step@v2
- with:
- token: ${{ secrets.GITHUB_TOKEN }}
- from_step: 3
- to_step: 4
- branch_name: tbd-branch-name
diff --git a/.github/workflows/4-tbd.yml b/.github/workflows/4-tbd.yml
deleted file mode 100644
index 082bd8bf..00000000
--- a/.github/workflows/4-tbd.yml
+++ /dev/null
@@ -1,65 +0,0 @@
-name: Step 4, TBD-step-4-name
-
-# This step triggers after TBD-step-4-event-desc.
-# This workflow updates from step 4 to step 5.
-
-# This will run every time we TBD-step-4-event-desc.
-# Reference: https://docs.github.com/en/actions/learn-github-actions/events-that-trigger-workflows
-on:
- workflow_dispatch:
- # Add events that trigger this workflow
- # TBD-step-4-event:
-
-# Reference: https://docs.github.com/en/actions/security-guides/automatic-token-authentication
-permissions:
- # Need `contents: read` to checkout the repository.
- # Need `contents: write` to update the step metadata.
- contents: write
-
-jobs:
- # Get the current step to only run the main job when the learner is on the same step.
- get_current_step:
- name: Check current step number
- runs-on: ubuntu-latest
- steps:
- - name: Checkout
- uses: actions/checkout@v4
- - id: get_step
- run: |
- echo "current_step=$(cat ./.github/steps/-step.txt)" >> $GITHUB_OUTPUT
- outputs:
- current_step: ${{ steps.get_step.outputs.current_step }}
-
- on_TBD-step-4-event:
- name: On TBD-step-4-event
- needs: get_current_step
-
- # We will only run this action when:
- # 1. This repository isn't the template repository.
- # 2. The step is currently 4.
- # Reference: https://docs.github.com/en/actions/learn-github-actions/contexts
- # Reference: https://docs.github.com/en/actions/learn-github-actions/expressions
- if: >-
- ${{ !github.event.repository.is_template
- && needs.get_current_step.outputs.current_step == 4 }}
-
- # We'll run Ubuntu for performance instead of Mac or Windows.
- runs-on: ubuntu-latest
-
- steps:
- # We'll need to check out the repository so that we can edit the README.
- - name: Checkout
- uses: actions/checkout@v4
- with:
- fetch-depth: 0 # Let's get all the branches.
-
- # TBD-step-4-additional-steps
-
- # In README.md, switch step 4 for step 5.
- - name: Update to step 5
- uses: skills/action-update-step@v2
- with:
- token: ${{ secrets.GITHUB_TOKEN }}
- from_step: 4
- to_step: 5
- branch_name: tbd-branch-name
diff --git a/.github/workflows/5-tbd.yml b/.github/workflows/5-tbd.yml
deleted file mode 100644
index 08e34ffa..00000000
--- a/.github/workflows/5-tbd.yml
+++ /dev/null
@@ -1,65 +0,0 @@
-name: Step 5, TBD-step-5-name
-
-# This step triggers after TBD-step-5-event-desc.
-# This workflow updates from step 5 to step X.
-
-# This will run every time we TBD-step-5-event-desc.
-# Reference: https://docs.github.com/en/actions/learn-github-actions/events-that-trigger-workflows
-on:
- workflow_dispatch:
- # Add events that trigger this workflow.
- # TBD-step-5-event:
-
-# Reference: https://docs.github.com/en/actions/security-guides/automatic-token-authentication
-permissions:
- # Need `contents: read` to checkout the repository.
- # Need `contents: write` to update the step metadata.
- contents: write
-
-jobs:
- # Get the current step to only run the main job when the learner is on the same step.
- get_current_step:
- name: Check current step number
- runs-on: ubuntu-latest
- steps:
- - name: Checkout
- uses: actions/checkout@v4
- - id: get_step
- run: |
- echo "current_step=$(cat ./.github/steps/-step.txt)" >> $GITHUB_OUTPUT
- outputs:
- current_step: ${{ steps.get_step.outputs.current_step }}
-
- on_TBD-step-5-event:
- name: On TBD-step-5-event
- needs: get_current_step
-
- # We will only run this action when:
- # 1. This repository isn't the template repository.
- # 2. The step is currently 5.
- # Reference: https://docs.github.com/en/actions/learn-github-actions/contexts
- # Reference: https://docs.github.com/en/actions/learn-github-actions/expressions
- if: >-
- ${{ !github.event.repository.is_template
- && needs.get_current_step.outputs.current_step == 5 }}
-
- # We'll run Ubuntu for performance instead of Mac or Windows.
- runs-on: ubuntu-latest
-
- steps:
- # We'll need to check out the repository so that we can edit the README.
- - name: Checkout
- uses: actions/checkout@v4
- with:
- fetch-depth: 0 # Let's get all the branches.
-
- # TBD-step-5-additional-steps
-
- # In README.md, switch step 5 for step X.
- - name: Update to step X
- uses: skills/action-update-step@v2
- with:
- token: ${{ secrets.GITHUB_TOKEN }}
- from_step: 5
- to_step: X
- branch_name: tbd-branch-name
diff --git a/README.md b/README.md
index 44b73a43..b87f5caa 100644
--- a/README.md
+++ b/README.md
@@ -1,77 +1,49 @@
-
+# (replace-me: Exercise title)
-
+_(replace-me: One-line description of the exercise)_
-# TBD-course-name
+## Welcome
-_TBD-course-description_
+- **Who is this for**: (replace-me: Target audience description)
+- **What you'll learn**: (replace-me: Learning objectives)
+- **What you'll build**: (replace-me: Description of what the learner will create)
+- **Prerequisites**:
+ - (replace-me: Prerequisite skill/exercise)
+ - (replace-me: Other prerequisites)
-
+- **How long**: This exercise takes less than (replace-me: estimated time) to complete.
-
+In this exercise, you will:
-## Welcome
+1. (replace-me: Learning objective step #1)
+1. (replace-me: Learning objective step #2)
+1. (replace-me: Learning objective step #N)
-TBD-welcome-paragraph
-- **Who is this for**: TBD-audience.
-- **What you'll learn**: TBD-objective.
-- **What you'll build**: TBD-result.
-- **Prerequisites**: TBD-prerequisites.
-- **How long**: This course takes less than TBD-duration to complete.
+### How to start this exercise
-In this course, you will:
+Simply copy the exercise to your account, then give your favorite Octocat (Mona) **about 20 seconds** to prepare the first lesson, then **refresh the page**.
-1. TBD-step-1-name
-2. TBD-step-2-name
-3. TBD-step-3-name
-4. TBD-step-4-name
-5. TBD-step-5-name
+
+[](https://github.com/new?template_owner=skills&template_name=template-template&owner=%40me&name=skills-&description=Exercise:+Replace+me&visibility=public)__
-### How to start this course
+
+Having trouble? 🤷
-
+When copying the exercise, we recommend the following settings:
-[](TBD-generate)
+- For owner, choose your personal account or an organization to host the repository.
-1. Right-click **Start course** and open the link in a new tab.
-2. In the new tab, most of the prompts will automatically fill in for you.
- - For owner, choose your personal account or an organization to host the repository.
- - We recommend creating a public repository, as private repositories will [use Actions minutes](https://docs.github.com/en/billing/managing-billing-for-github-actions/about-billing-for-github-actions).
- - Scroll down and click the **Create repository** button at the bottom of the form.
-3. After your new repository is created, wait about 20 seconds, then refresh the page. Follow the step-by-step instructions in the new repository's README.
+- We recommend creating a public repository, since private repositories will use Actions minutes.
-
-© 2023 TBD-copyright-holder • [Code of Conduct](https://www.contributor-covenant.org/version/2/1/code_of_conduct/code_of_conduct.md) • [MIT License](https://gh.io/mit)
+---
-
+© 2025 GitHub • [Code of Conduct](https://www.contributor-covenant.org/version/2/1/code_of_conduct/code_of_conduct.md) • [MIT License](https://gh.io/mit)