Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .cursor/rules/ccs-ai-demo-rules.mdc
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,4 @@ You'll get a lot of freedom in this project, but workflow should always be:
- create a branch
- build the code
- commit and push
- create a pull request
- create a pull request to the current project (not to the forked original repo)
111 changes: 20 additions & 91 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,87 +3,25 @@
</div>


# Setup
# Setup



- Create accounts for:
- [GitHub](https://github.com)
- [n8n](https://n8n.io/)
- [Airtop](https://www.airtop.ai/)
- [Vercel](https://vercel.com/)

- Create repository from template & Add SCRUM issue:
- **Option 1 (Cursor IDE - Recommended):**

**If you only have Cursor IDE installed, simply copy and paste this prompt into Cursor:**

```
Please set up my GitHub repository. I only have Cursor IDE installed - no PowerShell or GitHub CLI yet.

Steps to follow:

1. Detect my operating system (Windows/Mac/Linux)

2. Check for PowerShell/PowerShell Core and install if missing

3. Check for GitHub CLI and install if missing

4. Authenticate with GitHub using browser-based login:
- Windows PowerShell: "y" | gh auth login --web --git-protocol https --hostname github.com
- Mac/Linux: echo y | gh auth login --web --git-protocol https --hostname github.com
This avoids interactive terminal prompts by opening a browser automatically

5. Download setup-github-template.ps1 from: https://raw.githubusercontent.com/grvermeulen/CCS-Demo/main/setup-github-template.ps1

6. Ask me what I want to name my repository

7. Run: powershell -ExecutionPolicy Bypass -File .\setup-github-template.ps1 "REPO_NAME" (Windows) or pwsh -File ./setup-github-template.ps1 "REPO_NAME" (Mac/Linux)

8. Verify repository, PR, and issue were created

9. Provide me with the repository URL

Handle any errors gracefully and guide me through any required user interactions.
```

Cursor will handle everything automatically!

- **Option 2 (Manual - Quick Start):**
1. Clone the template repository to get the setup script:
```bash
gh repo clone grvermeulen/CCS-Demo temp-setup
cd temp-setup
```
2. Run the setup script:
```powershell
# Windows
powershell -ExecutionPolicy Bypass -File .\setup-github-template.ps1

# Mac/Linux
pwsh -File ./setup-github-template.ps1
```
3. The script will:
- Create your new repository from the template
- Clone it automatically
- Fetch the feat/footer-ccs-woerden-issue-19 branch
- Create a pull request
- Create a sample scrum issue
4. (Optional) Delete the temporary template clone:
```bash
cd ..
rm -rf temp-setup # or rmdir /s temp-setup on Windows
```

- **Option 3 (Manual - GitHub UI):**
- Go to https://github.com/grvermeulen/CCS-Demo
- Click "Use this template" button (top right)
- Create a new repository with your preferred name
- Clone your new repository
- The setup script is included - run it to set up the branch and PR
- Fork repository & Add SCRUM issue:
- https://github.com/grvermeulen/CCS-Demo
- Untick "main branch only"
- Enable the "Issues" tab for forked repositories (Setting > General > Features > Issues)
- Write your own scrum issue or copy an example from the repository
- If you really want to go all out agentic; install github cli: winget install --id GitHub.cli (https://github.com/cli/cli/releases)

- [Connect your Vercel account to the GitHub repository](https://vercel.com/docs/git#deploying-a-git-repository)
- Within Vercel, top right click "Add New..."
- Select "Project"
- Select your repository (created from template)
- Select the forked repository
- Import
- Deploy

Expand All @@ -92,35 +30,26 @@
- Go to "Deployment Protection"
- Switch off protection for the demo repository.

- Create GitHub API Token :

- **(Manual - Web UI):**
1. Go to: https://github.com/settings/tokens
2. Click "Generate new token" -> "Generate new token (classic)"
3. Name your token (e.g., "n8n-workshop-token")
4. Select expiration (recommended: 90 days or No expiration for workshop)
5. Select the following scopes:
- ✅ `repo` (Full control of private repositories)
- ✅ `workflow` (Update GitHub Action workflows)
- ✅ `admin:org` (Full control of orgs and teams)
- ✅ `admin:repo_hook` (Full control of repository hooks)
- ✅ `admin:org_hook` (Full control of organization hooks)
6. Click "Generate token"
7. **Important:** Copy the token immediately - it's only shown once!
8. Save it securely - you'll need it for n8n configuration

- [Setup the workflow from the GitHub repository (within n8n directory) in n8n.](https://deltasure.app.n8n.cloud/form/b25ef12d-3026-4345-8130-4126dcd4ba8d)
- Go to the url and fill in the form. This will trigger the provisioning and setup of your n8n workflow.
- Voila
- [Import the workflow from the GitHub repository (within n8n directory) in n8n.](https://docs.n8n.io/courses/level-one/chapter-6/)
- Create a new workflow.
- Use the "Import from File..." option which is under the ... menu (top right next to version history)

- Edit the n8n pipeline with all your own credentials to connect with GitHub, Airtop and OpenAI.
- All steps which need it should show an error icon.
- For all GitHub nodes change the repository owner to yourself.

- Change the node from "Start browser" to your workflow --> the name in the workflow list in the parameters must match the name of your n8n workflow

- Activate your workflow within n8n.
- Switch the toggle at the top right to "Active"

# Workshop

- Vibe code a new feature, make sure to have a related GitHub issue.

- Create a PR to see if the workflow get executed correctly.
- If you like to skip the above 2 steps you can create a PR for the `line-items-combined` branch.
- <u>Make sure to create a pull request to your repository, not the original template repository. (change base repository)</u>
- <u>Make sure to create a pull request to your fork, not the original repository. (change base repository)</u>

- Inspect the steps within the workflow execution to see what happened.

Expand Down
1 change: 1 addition & 0 deletions basket.html
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,7 @@ <h1>Your Shopping Basket</h1>
</div>
</main>
<script src="shop.js"></script>
<script src="footer.js"></script>
<script>
renderBasket();
document.getElementById("clearBasket").onclick = function () {
Expand Down
1 change: 1 addition & 0 deletions bundles.html
Original file line number Diff line number Diff line change
Expand Up @@ -111,5 +111,6 @@ <h2>Fruit Feast</h2>
</div>
</main>
<script src="shop.js"></script>
<script src="footer.js"></script>
</body>
</html>
1 change: 1 addition & 0 deletions checkout.html
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,7 @@ <h1>Checkout</h1>
</div>
</main>
<script src="shop.js"></script>
<script src="footer.js"></script>
<script>
renderBasket();
document.getElementById("checkoutForm").onsubmit = function (e) {
Expand Down
31 changes: 31 additions & 0 deletions footer.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
document.addEventListener("DOMContentLoaded", function () {
if (document.querySelector("footer.site-footer")) return;

var footer = document.createElement("footer");
footer.className = "site-footer";
footer.setAttribute("role", "contentinfo");

footer.innerHTML = [
'<div class="footer-content">',
' <div class="footer-section">',
' <h3>CCS Woerden</h3>',
' <p>Stationsplein 1<br>3445 AC Woerden<br>The Netherlands</p>',
' </div>',
' <div class="footer-section">',
' <h3>Contact</h3>',
' <p>Email: info@ccs.example<br>Phone: +31 30 123 4567</p>',
' </div>',
' <div class="footer-section">',
' <h3>Opening Hours</h3>',
' <p>Mon–Fri: 09:00–17:00<br>Sat–Sun: Closed</p>',
' </div>',
'</div>',
'<div class="footer-bottom">',
' <p>© ' + new Date().getFullYear() + ' CCS — Fruit Shop Demo</p>',
'</div>'
].join("");

document.body.appendChild(footer);
});


1 change: 1 addition & 0 deletions index.html
Original file line number Diff line number Diff line change
Expand Up @@ -87,5 +87,6 @@ <h2>🎁 Check out our Fruit Bundles! 🎁</h2>
</div>
</main>
<script src="shop.js"></script>
<script src="footer.js"></script>
</body>
</html>
Loading