Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
43 commits
Select commit Hold shift + click to select a range
573f158
Testing Adding a new page.
snvgglebear Dec 14, 2025
f1086c9
Updated actions.
snvgglebear Dec 14, 2025
5cd0613
Updated to run on branch push for testing.
snvgglebear Dec 14, 2025
09e5cc9
Changed heading ranges.
snvgglebear Dec 14, 2025
4a04337
Testing update to main workflow.
snvgglebear Dec 14, 2025
fa99985
Testing new workflow.
snvgglebear Dec 14, 2025
02c206b
Testing new woflow.
snvgglebear Dec 14, 2025
f3f59b5
Fixed formatting.
snvgglebear Dec 14, 2025
0ad9b6f
Added permissions.
snvgglebear Dec 14, 2025
fb86fe2
Fixed actions.
snvgglebear Dec 14, 2025
5697234
Added missing call to gh-deploy
snvgglebear Dec 14, 2025
fab38d0
Fixed new workflow and typos in basic Git.
snvgglebear Dec 14, 2025
b2bd57d
Added assets and updated git basics and project page.
snvgglebear Dec 14, 2025
2acb971
Updating kitbot tutorial for neos.
snvgglebear Dec 14, 2025
34f9063
Added new images and continued updating kitbot page.
snvgglebear Dec 15, 2025
058bff1
Updating the create robot page.
snvgglebear Dec 15, 2025
79ab256
Finished overhauling creating drivetrain.
snvgglebear Dec 15, 2025
04588ff
Corrected some Talon references.
snvgglebear Dec 15, 2025
8d32192
Added electronics page and assets.
snvgglebear Dec 15, 2025
6a223e4
Removed old workflows that are not needed.
snvgglebear Dec 15, 2025
7f55f64
Started updating the Autonomous command.
snvgglebear Dec 15, 2025
dc91d65
Working on Autonomous command.
snvgglebear Dec 15, 2025
dbb139c
added to autonomous.
snvgglebear Dec 16, 2025
fbea5ea
Merge branch 'robolancer_updates' of https://github.com/RoboLancers/F…
snvgglebear Dec 16, 2025
0e08871
added back workflows.
snvgglebear Dec 16, 2025
35d61ea
fixed branch in workflow.
snvgglebear Dec 16, 2025
2999637
Fixed build.
snvgglebear Dec 16, 2025
2695ca8
fixed branch name
snvgglebear Dec 16, 2025
82ef352
changed deploy.
snvgglebear Dec 16, 2025
99c0ad4
fixed typo.
snvgglebear Dec 16, 2025
5dded90
Changed heading level.
snvgglebear Dec 16, 2025
8e5d714
Fixed typo
snvgglebear Dec 16, 2025
b310180
Added dev container config.
snvgglebear Dec 17, 2025
03dead4
Merge branch 'robolancer_updates' of https://github.com/RoboLancers/F…
snvgglebear Dec 17, 2025
1a28c84
Finished section about configuring the controller to move the robot.
snvgglebear Dec 17, 2025
0cfeef1
Added advantageKit page for use later.
snvgglebear Dec 17, 2025
3fc64f0
Updated deploy_site workflow.
snvgglebear Dec 17, 2025
e1b40b3
Add link to WPILIB docs and reference info
snvgglebear Jan 9, 2026
18cdd30
Testing custom MCP server and instructions.
snvgglebear Jan 16, 2026
01b5dc9
Merge branch 'robolancer_updates' of https://github.com/RoboLancers/F…
snvgglebear Jan 16, 2026
d3c99cb
Added updated instructions.
snvgglebear Jan 31, 2026
9eb19db
Added code examples and working on fixing formatting.
snvgglebear Jan 31, 2026
286dd45
Working on reformatting.
snvgglebear Feb 12, 2026
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
36 changes: 36 additions & 0 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
// For format details, see https://aka.ms/devcontainer.json. For config options, see the
// README at: https://github.com/devcontainers/templates/tree/main/src/debian
{
"name": "python:3:10",
// Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile
"image": "mcr.microsoft.com/devcontainers/base:debian",
"features": {
"ghcr.io/devcontainers-extra/features/mkdocs:2": {},
"ghcr.io/devcontainers/features/python:1":{}
},
"postCreateCommand": [
"pip3 install --user -r requirements.txt",
"pip3 install --user first-agentic-csa"
],
"customizations": {
"vscode": {
"extensions": [
"main-branch.mkdocs-snippet-lens",
"aikebang.mkdocs-syntax-highlight",
"ytianle.mkdocs-material-linter"
]
}
},

// Features to add to the dev container. More info: https://containers.dev/features.
// "features": {},

// Use 'forwardPorts' to make a list of ports inside the container available locally.
// "forwardPorts": [],

// Configure tool-specific properties.


// Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root.
// "remoteUser": "root"
}
107 changes: 107 additions & 0 deletions .github/copilot-instructions.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,107 @@
# GitHub Copilot / Cursor Instructions for FRC Development

You are assisting with a FIRST Robotics Competition (FRC) project using WPILib. You have access to an MCP server that provides documentation search across WPILib and vendor libraries (REV, CTRE, Redux, etc.).

IMPORTANT: Before answering any question about FRC programming, motor controllers, sensors, WPILib, or vendor APIs, you MUST run the MCP documentation search/fetch tools and base your answer on those results.

## Mandatory Documentation-First Policy

This repository requires that all FRC-related questions be investigated with the MCP documentation tools before producing a final answer. Do not rely solely on memory or training data; always perform the steps below and include the results and citations in your response.

Required workflow for FRC questions:

- **Step 1 — Search (MCP required):** Call `mcp_wpilib_search_frc_docs(query=..., vendors=[...])` (use `vendors=["all"]` if unsure). Capture the top relevant results.
- **Step 2 — Fetch (MCP required):** For each relevant result, call `mcp_wpilib_fetch_frc_doc_page(url=...)` and review the page content for exact API usage, examples, and notes.
- **Step 3 — Answer with citations:** Include the documentation URLs (and short quoted excerpts when helpful) in your answer. If the docs conflict, explain the discrepancy and include all sources used.

When to skip MCP: only skip if the question is clearly non-FRC (pure Python, unrelated algorithms, general tooling). When in doubt, run the MCP search.

Examples of required tool usage:
```
mcp_wpilib_search_frc_docs(query="SparkMax NEO brushless setup", vendors=["rev"])
mcp_wpilib_fetch_frc_doc_page(url="https://docs.revrobotics.com/...")
```

If you cannot call the MCP tools (tool outage or missing permissions), explicitly state that you could not run the required searches and ask whether to proceed with a best-effort answer. Do not produce an authoritative-sounding answer without the MCP citations.

## Tool Usage Patterns

**For general questions (MCP):**
```
mcp_wpilib_search_frc_docs(query="how to configure PID", vendors=["all"])
```

**For vendor-specific questions (MCP):**
```
mcp_wpilib_search_frc_docs(query="SparkMax current limits", vendors=["rev"])
mcp_wpilib_search_frc_docs(query="TalonFX motion magic", vendors=["ctre"])
```

**For comparisons (MCP):**
```
mcp_wpilib_search_frc_docs(query="brushless motor setup", vendors=["rev"], max_results=5)
mcp_wpilib_search_frc_docs(query="brushless motor setup", vendors=["ctre"], max_results=5)
```

**After finding relevant pages (MCP):**
```
mcp_wpilib_fetch_frc_doc_page(url="https://docs.revrobotics.com/...")
```
**For Markdown or readthedocs:**
https://docs.readthedocs.com/platform/stable/index.html
https://squidfunk.github.io/mkdocs-material/reference/code-blocks/
https://squidfunk.github.io/mkdocs-material/reference/

**For YAGSL:**
https://docs.yagsl.com/
https://yet-another-software-suite.github.io/YAGSL/javadocs/
https://github.com/Yet-Another-Software-Suite/YAGSL/tree/main/examples

## Language and Version Awareness

- Ask the student what language they're using (Java, Python, or C++) if not obvious from context
- Default to the current season (2025) unless specified otherwise
- Use the `language` and `version` parameters to filter results:
```
search_frc_docs(query="command based", language="Python", version="2025")
```

## Code Style for FRC

When writing code for FRC projects:

- Follow WPILib conventions (Command-based or TimedRobot patterns)
- Use vendor-specific APIs correctly (REVLib for SparkMax, Phoenix 6 for TalonFX)
- Include necessary imports
- Add comments explaining the "why" for students learning
- Handle units properly (RPM vs rotations, degrees vs radians)

## Common Vendor Mappings

| Hardware | Vendor | Search with |
|----------|--------|-------------|
| SparkMax, SparkFlex, NEO, NEO 550 | REV | `vendors=["rev"]` |
| TalonFX, Falcon 500, Kraken, CANcoder, Pigeon | CTRE | `vendors=["ctre"]` |
| Canandcoder, Canandmag | Redux | `vendors=["redux"]` |
| NavX | WPILib/Studica | `vendors=["wpilib"]` |
| Limelight | WPILib | `vendors=["wpilib"]` |
| PhotonVision | PhotonVision | `vendors=["photonvision"]` |

## When Docs Don't Have the Answer

If search results are empty or unhelpful:
1. Try broader search terms
2. Try `vendors=["all"]` to cast a wider net
3. Check `list_frc_doc_sections` to see what's available
4. Be honest with the student that you couldn't find documentation, and offer your best guess with appropriate caveats

## Example Interaction

**Student:** "How do I set up a SparkMax for a NEO brushless motor?"

**You should:**
1. `mcp_wpilib_search_frc_docs(query="SparkMax NEO brushless setup", vendors=["rev"])`
2. Review results, pick most relevant URL
3. `mcp_wpilib_fetch_frc_doc_page(url="...")` to get full content
4. Write code based on current documentation
5. Tell the student: "Based on the REV documentation at [url], here's how to set it up..."
32 changes: 32 additions & 0 deletions .github/workflows/Deploy_site.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
name: Deploy Site
permissions:
contents: write
on:
# pull_request:
# branches:
# - robolancer_updates
push:
branches:
- robolancer_updates
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: 3.x
- run: pip install -r requirements.txt
- run: mkdocs build

deploy:
runs-on: ubuntu-latest
needs: build
steps:
- uses: actions/checkout@v2
- uses: actions/setup-python@v2
with:
python-version: 3.x
- run: pip install mkdocs
- run: pip install -r requirements.txt
- run: mkdocs gh-deploy --force
4 changes: 2 additions & 2 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
name: Build MkDocs
on:
pull_request:
push:
branches:
- main
- robolancer_updates
jobs:
build:
runs-on: ubuntu-latest
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ name: Publish docs via GitHub Pages
on:
push:
branches:
- main
- robolancer_updates
jobs:
deploy:
runs-on: ubuntu-latest
Expand Down
13 changes: 13 additions & 0 deletions .vscode/mcp.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{
"servers": {
"frc-docs": {
"type": "stdio",
"command": "uvx",
"args": [
"first_agentic_csa==0.3.12"
],
"env": {}
}
},
"inputs": []
}
Binary file added docs/assets/images/Electronics/Battery.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/images/Electronics/Breaker.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/images/Electronics/CANWire.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/images/Electronics/CANcoder.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/images/Electronics/CANivore.webp
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/images/Electronics/Falcon.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/images/Electronics/Kraken.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/images/Electronics/LimeLight.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/images/Electronics/LimitSwitch.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/images/Electronics/PDH.webp
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/images/Electronics/Pigeon2.webp
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/images/Electronics/Pose.PNG
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/images/Electronics/RSL.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/images/Electronics/Radio.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/images/Electronics/RoboRIO.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/images/Electronics/Solenoid.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/images/Electronics/SparkMax.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/images/Electronics/VortexFlex.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/images/Electronics/servo.webp
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/images/Electronics/x44.webp
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/images/driving_robot/fix_error_1.PNG
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/images/git/GitDemoVideo.mp4
Binary file not shown.
Binary file added docs/assets/images/git/GitExample.png
Binary file added docs/assets/images/git/PRDemoVideo.mkv
Binary file not shown.
Binary file added docs/assets/images/git/github_GUI_Merge.png
Binary file added docs/assets/images/git/github_branch_vscode.png
Binary file added docs/assets/images/git/github_pull_requests.png
Binary file added docs/assets/images/new_project/Create.png
Binary file added docs/assets/images/vscode_tips/git_vscode.png
Loading
Loading