codecrafters-io / course-sdk

A rewrite of course-sdk, with better developer ergonomics

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

This repository is used to develop & test CodeCrafters challenges.

Installation

  • Make sure that you have Docker installed.
  • For now, you'll need to compile the SDK from source using Bun.
    • Make sure you have Bun installed.
    • Clone this repository and run bun install && make install
    • (In the future, we'll publish pre-compiled binaries for the SDK)
    • lstat is not present in MacOS, create a symlink to stat in usr/local/bin sudo ln -s /usr/bin/stat /usr/local/bin/lstat
  • Test it with course-sdk --version.

Developing courses

We'll use build-your-own-git as an example here.

Clone the course repository and cd into it:

git clone https://github.com/codecrafters-io/build-your-own-git.git
cd build-your-own-git

Running tests

Run this command to compile and test Go solutions:

course-sdk test go # test all stages for Go
course-sdk test go stage_slug_1,stage_slug_2 # test only specific stages

Compiling starter code & solutions

If you want to just compile the starter code & solutions, and not run tests:

course-sdk compile # compiles all languages
course-sdk compile go # compiles only Go

To add support for a new language (TODO, not working yet):

course-sdk add-language <language>

About

A rewrite of course-sdk, with better developer ergonomics

License:MIT License


Languages

Language:TypeScript 97.7%Language:Shell 1.8%Language:Dockerfile 0.3%Language:Makefile 0.2%