Add README.md and Makefile

This commit is contained in:
C.M. Hobbs 2025-07-13 01:33:19 -05:00
parent 2dc8d0aa6c
commit b3fb1a3fe2
2 changed files with 61 additions and 0 deletions

11
Makefile Normal file
View File

@ -0,0 +1,11 @@
lint:
./bin/ameba
lint-fix:
./bin/ameba --fix
build:
crystal build src/main.cr
test:
crystal spec

View File

@ -0,0 +1,50 @@
# 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:
```bash
git clone https://github.com/yourusername/your-new-project.git
cd your-new-project
```
## Update Project Files
3. **Replace placeholder strings** in these files:
- ```.devcontainer/devcontainer.json```: ```PROJECT_NAME``` → ```your-new-project```
- ```shard.yml```: ```PROJECT_NAME```, ```YOUR_NAME```, ```YOUR_EMAIL```
- ```src/main.cr```: ```PROJECT_NAME``` → ```your-new-project```
4. **Quick find/replace** (Linux/Mac):
```bash
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
5. **Open with DevPod**:
```bash
devpod up . --provider docker
```
6. **Connect with Zed**:
```bash
devpod ssh . --command "code-server --bind-addr 0.0.0.0:8080"
```
Then connect Zed to the running container.
## Initialize Crystal Project
7. **Inside the devcontainer**:
```bash
shards install
crystal build src/main.cr
./main
```