expr: 75.93%

#lang curly-fn racket/base
(provide project-templates)

(require json
         net/url
         racket/port
         try-catch-finally)

(define project-templates
  (try
   (map #{hash-ref %1 'name}
        (call/input-url
         (string->url "https://api.github.com/repos/racket-templates/racket-templates/contents/templates")
         get-pure-port
         (compose string->jsexpr port->string)))
   (catch _
     '("cli-command" "gui-app" "lang" "package" "ppict-slideshow" "qi-tutorial" "raco-command" "rosette" "template" "web-app"))))

(module+ test
  (require rackunit)

  (check-pred list? project-templates))