In this assignment you will apply the practices from Chapter 4 to build a small Python command-line tool named autograde. The goal is not only to produce a working program, but to show that you can collaborate with an AI coding agent in a controlled way.
Your repository should demonstrate that you can:
describe behavior before implementation,
turn that behavior into executable tests,
use repository-level instructions to guide the agent’s work,
Task¶
Create a public GitHub repository containing a Python project called
autograde. The tool should inspect a target repository and report whether a set of required conditions hold.
At minimum, implement checks for the following conditions:
the project is a Git repository,
the
mainbranch exists,the
featurebranch exists on the remote,file1.txtexists onmain.
You may implement additional checks if you want, but the minimum set above must work correctly.
Required process artifacts¶
Your submission must include evidence that you used the Chapter 4 workflow, not just the final code.
Include all of the following in the repository:
a
specs/directory with at least one spec describing the behaviors to be implemented,a
tests/directory with automated tests,an
AGENTS.mdfile with repository-specific instructions for the agent,
The important requirement is that the artifacts are meaningful. They should help another person, or another future agent session, understand how the project is supposed to evolve.
What to submit¶
Your final repository should be public and include:
a Python package or script implementing
autograde,tests,
the required spec,
a short
README.mdexplaining how to run the tool and the test suite,and a
AGENTS.mdfile that includes at least the following instructions:use
uvfor dependency management,use
pytestfor testing.