PROJECT_NAME

Version, currently main branch1 version
  • main branchlatestJul 14, 2025

github.com/cmhobbs/crystal-devcontainer-template

A Crystal devcontainer template repo for DevPod

1 stars
0 dependents
License: not declared

Installation

# Add this to your shard.yml
dependencies:
  PROJECT_NAME:
    github: cmhobbs/crystal-devcontainer-template
    branch: main

main is a branch, not a release, so this tracks it rather than pinning a version.

Then run:

shards install

shard.yml

Crystal
1.16.3
Author
YOUR_NAME <YOUR_EMAIL>
Target
  • PROJECT_NAME from src/main.cr

Dependencies

Development Dependencies

  • ameba*github: crystal-ameba/amebadev

README

crystal-devcontainer-template

This is a template repo for creating a new Crystal project with DevPod using devcontainers.

Usage

Create New Project from Template

  1. On GitHub: Click "Use this template" → "Create a new repository"
  2. Name your new repo and clone it locally:
git clone https://github.com/yourusername/your-new-project.git
cd your-new-project

Update Project Files

  1. Replace placeholder strings in these files:

    • .devcontainer/devcontainer.json: PROJECT_NAMEyour-new-project
    • shard.yml: PROJECT_NAME, YOUR_NAME, YOUR_EMAIL
    • src/main.cr: PROJECT_NAMEyour-new-project
  2. Quick find/replace (Linux/Mac):

find . -type f -name "*.json" -o -name "*.yml" -o -name "*.cr" | xargs sed -i 's/PROJECT_NAME/your-new-project/g'
find . -type f -name "*.yml" | xargs sed -i 's/YOUR_NAME/Your Name/g'
find . -type f -name "*.yml" | xargs sed -i 's/YOUR_EMAIL/your@email.com/g'

Start DevPod

  1. Open with DevPod:
devpod up . --provider docker

Initialize Crystal Project

  1. Inside the devcontainer:
shards install
crystal build src/main.cr
./main