This repository configures Opencode with course-specific agents, skills, and helper scripts for CS3704 with Dr. Chris Brown.
To use this template, you will need git, npm, and an ARC_API_KEY environment variable set to your API key from Virginia Tech's Advanced Research Computing.
git clone https://github.com/CS3704-VT/agent-template # clone this repository
cd agent-template # navigate into the project directory
baker check CS3704-VT/profiles:agent-template.yml # ensures you have necessary dependencies; verification will not be complete until after the next steps
baker bake . # installs dependencies and configurations for this repo; defaults to your local machine
baker run setup # runs setup scripts for starting the agent-templateAfter the initial installation and setup, run the following in the root directory of the repository for each assignment:
opencode
@assignment analyze <assignment name or link to assignment> # Integrates assignmnt details into repository context
/skills -> /learning-goal # Sets the learning goals for the given assignment scope (course, assignment, or team)For subsequent usage, just navigate into the top-level directory of the project repository and run opencode to access the agents and skills for your assignment.
- Use to switch between agents.
Planis for brainstorming and ideation and cannot edit files.Buildcan generate code, tests, etc. with full access to edit files.- More agents will be introduced as the semester goes on (see PHASES.md).
- Use
@to invoke any subagents.@dcbrownto answer questions about the course, explain course content, and generate quizzes.@assignmentto analyze assignment requirements (@assignment analyze PM1.2or@assignment analyze <link>), verify your work (@assignment validate), and package your submission (@assignment submit).- More subagents will be introduced as the semester goes on (see PHASES.md).
- To use skills, type
/skillsand select the approporiate skill.- To modify your course, assignment, or team learning goals, use
learning-goals(should be invoked automatically when beginning an assignment). - If you would like to generate a quiz or ask a question about a concept, use the
quizorconcept-explainskills. Any sub-agent can also invoke these skills (e.g.,@dcbrown quiz meor@dcbrown explain Agile) - For more in-depth learning opportunities, use
learning-opportunities(should be invoked automatically during development work).
- To modify your course, assignment, or team learning goals, use
- To submit, use prompts like "
@assignment submit" or "@assignment submit my work" to package your work into the appropriate format (i.e., zip file, GitHub repo, etc.). You are responsible for checking the generated requirements (the per-assignment<name>.mdfiles, e.g.PM1.2.md) meet the assignment expectations and uploading the generated package to Canvas to complete the submission!
Full setup and usage guide: docs/STUDENT_GUIDE.md.
For your submission, replace this README with a README specific to your assignment. The template guide will stay at
docs/STUDENT_GUIDE.mdand this README is copied indocs/README.md.