CCC is a course environment management tool meant to reduce setup time and streamline assignment completion for CS students. It currently supports computer science courses that require container-based environments and is being extended to support courses with other development environment needs. This README details how to use the tool as a student
# Install the CCC tool
./install.sh
# Setup courses directory and select auto-update preferences
ccc init
# Open a course environment
ccc open <course-id> --> ex: ccc open csci-1515-demo- Podman (required)
- Git (required)
ccc list <--avail or --installed><- List ccc supported courses or your installed coursesccc open <course-id> <OPTIONAL: --skip-installer>- Open course environment. Use flag --skip-installer to skip CCC managed installerccc cleanup <course-id- Clean up all resources associated with course environment
ccc status <course-id>- Show container/course status (omit course for default/shared container info)ccc cleanup <course-id>- Clean up all resources associated with course environment
ccc auto-update <status, enable, disable>- View, enable, and disable auto-update preferencesccc init- Setup courses directory and initial auto update preferenceccc upgrade <--user, --system, --help>- Upgrade the CCC tool (defaults to --user if no flag given)ccc config get [config var]- Get the value of a CCC configuration variableccc config set [config var] [config value]- Set the value of a CCC configuration variable
--help, -h- Show help--version- Show ccc version
User-local (default):
./install.shSystem-wide:
sudo ./install.sh --systemReset/Clear CCC Generated Resources
./reset.shUninstall:
./uninstall.sh- Course registry (
registry.csv) defines available courses, links their developement repos, and lists their requirements (container, architecture, etc) - CCC (
bin/ccc) is the central dispatch for all CCC commands, loads necessary helper files and environment variables needed for course setup - Open (share/open.sh) houses the logic that determines how a course will be opened (based on registry, either container or local shell), then opens the appropriate environment
share/course_installer.shis the installer used to download course specific packages, generate symlinks, and load environment variables into the shared/default CCC container. This facilitates multiple courses using the same, shared container provided by CCC.
TBD