Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -105,20 +105,20 @@ Run the setup script once after cloning. It checks prerequisites, installs depen

```bash
# macOS / Linux
./setup.sh
./scripts/setup.sh

# Windows
./setup.ps1
./scripts/setup.ps1
```

### Starting all services

```bash
# macOS / Linux β€” starts Postgres, backend, and web in one terminal
./dev.sh
./scripts/dev.sh

# Windows β€” opens three separate PowerShell windows
./dev.ps1
./scripts/dev.ps1
```

Or start services individually:
Expand Down
8 changes: 4 additions & 4 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -9,18 +9,18 @@

setup:
ifeq ($(OS),Windows_NT)
powershell -ExecutionPolicy Bypass -File setup.ps1
powershell -ExecutionPolicy Bypass -File scripts/setup.ps1
else
bash setup.sh
bash scripts/setup.sh
endif

# ── Development ────────────────────────────────────────────────────────────────

dev:
ifeq ($(OS),Windows_NT)
powershell -ExecutionPolicy Bypass -File dev.ps1
powershell -ExecutionPolicy Bypass -File scripts/dev.ps1
else
bash dev.sh
bash scripts/dev.sh
endif

dev-backend:
Expand Down
13 changes: 7 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -68,12 +68,12 @@ git clone https://github.com/your-username/fullstack-template.git
cd fullstack-template

# First-time setup: installs deps, copies .env.example files, checks prerequisites
./setup.sh # macOS / Linux
.\setup.ps1 # Windows PowerShell
./scripts/setup.sh # macOS / Linux
.\scripts\setup.ps1 # Windows PowerShell

# Start all three services (backend + web + mobile hot-reload) in parallel
./dev.sh # macOS / Linux
.\dev.ps1 # Windows PowerShell
./scripts/dev.sh # macOS / Linux
.\scripts\dev.ps1 # Windows PowerShell
```

### Manual setup
Expand Down Expand Up @@ -114,8 +114,9 @@ fullstack-template/
β”œβ”€β”€ TEMPLATE_STATUS.md # Readiness gap tracker
β”œβ”€β”€ docs/
β”‚ └── adr/ # Architecture Decision Records
β”œβ”€β”€ dev.sh / dev.ps1 # Start all services in parallel
β”œβ”€β”€ setup.sh / setup.ps1 # First-run contributor setup
β”œβ”€β”€ scripts/
β”‚ β”œβ”€β”€ dev.sh / dev.ps1 # Start all services in parallel
β”‚ └── setup.sh / setup.ps1 # First-run contributor setup
β”œβ”€β”€ renovate.json # Automated dependency updates
β”œβ”€β”€ .claude/
β”‚ β”œβ”€β”€ agents/ # Specialized Claude subagents
Expand Down
6 changes: 3 additions & 3 deletions dev.ps1 β†’ scripts/dev.ps1
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
# dev.ps1 β€” start all services in separate PowerShell windows (Windows equivalent of dev.sh)
# Usage: .\dev.ps1
ο»Ώ# dev.ps1 β€” start all services in separate PowerShell windows (Windows equivalent of dev.sh)
# Usage: .\scripts\dev.ps1
# Close each terminal window manually when done.

$ScriptDir = Split-Path -Parent $MyInvocation.MyCommand.Definition
$ScriptDir = Split-Path -Parent (Split-Path -Parent $MyInvocation.MyCommand.Definition)
Comment thread
GRACENOBLE marked this conversation as resolved.

Write-Host "[postgres] Starting Docker Compose (Postgres)..." -ForegroundColor Blue
Start-Process powershell -ArgumentList "-NoExit", "-ExecutionPolicy", "Bypass", "-Command", "Set-Location '$ScriptDir\backend'; make docker-run" `
Expand Down
4 changes: 2 additions & 2 deletions dev.sh β†’ scripts/dev.sh
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#!/usr/bin/env bash
# dev.sh β€” start all services in parallel in a single terminal
# Usage: ./dev.sh
# Usage: ./scripts/dev.sh
# Press Ctrl+C to stop everything.

set -euo pipefail
Expand All @@ -10,7 +10,7 @@ GREEN='\033[1;32m'
YELLOW='\033[1;33m'
RESET='\033[0m'

SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"

# Kill all background jobs when the script exits (Ctrl+C or error)
trap 'echo ""; echo "Stopping all services..."; kill $(jobs -p) 2>/dev/null; wait' EXIT
Expand Down
8 changes: 4 additions & 4 deletions setup.ps1 β†’ scripts/setup.ps1
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
# setup.ps1 -- first-run setup for new contributors (Windows / PowerShell)
# Usage: .\setup.ps1
# Usage: .\scripts\setup.ps1
# Run once after cloning the repo.

$ErrorActionPreference = "Continue"
$ScriptDir = Split-Path -Parent $MyInvocation.MyCommand.Definition
$ScriptDir = Split-Path -Parent (Split-Path -Parent $MyInvocation.MyCommand.Definition)
Comment thread
GRACENOBLE marked this conversation as resolved.
$Errors = 0

# Banner
Expand Down Expand Up @@ -113,7 +113,7 @@ if (Test-Path $androidHome) {
# Abort on failures
if ($Errors -gt 0) {
Write-Host ""
Write-Host "$Errors prerequisite(s) failed. Fix the issues above and re-run .\setup.ps1." -ForegroundColor Red
Write-Host "$Errors prerequisite(s) failed. Fix the issues above and re-run .\scripts\setup.ps1." -ForegroundColor Red
Write-Host ""
exit 1
}
Expand Down Expand Up @@ -167,7 +167,7 @@ Write-Host " You're all set! Run these commands to start developing: " -Foreg
Write-Host "============================================================" -ForegroundColor Green
Write-Host ""
Write-Host " Quickstart (all services in separate windows):" -ForegroundColor White
Write-Host " .\dev.ps1" -ForegroundColor Yellow
Write-Host " .\scripts\dev.ps1" -ForegroundColor Yellow
Write-Host ""
Write-Host " Or start each service individually:" -ForegroundColor White
Write-Host " cd backend; make docker-run # Postgres" -ForegroundColor Blue
Expand Down
8 changes: 4 additions & 4 deletions setup.sh β†’ scripts/setup.sh
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#!/usr/bin/env bash
# setup.sh β€” first-run setup for new contributors
# Usage: ./setup.sh
# Usage: ./scripts/setup.sh
# Run once after cloning the repo.

set -euo pipefail
Expand All @@ -12,7 +12,7 @@ RED='\033[0;31m'
BOLD='\033[1m'
RESET='\033[0m'

SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
ERRORS=0

# ── Banner ─────────────────────────────────────────────────────────────────────
Expand Down Expand Up @@ -101,7 +101,7 @@ fi
# Abort if any hard prerequisite failed
if [[ "$ERRORS" -gt 0 ]]; then
echo ""
echo -e "${RED}${BOLD}$ERRORS prerequisite(s) failed. Fix the issues above and re-run ./setup.sh.${RESET}"
echo -e "${RED}${BOLD}$ERRORS prerequisite(s) failed. Fix the issues above and re-run ./scripts/setup.sh.${RESET}"
echo ""
exit 1
fi
Expand Down Expand Up @@ -146,7 +146,7 @@ echo -e "${BOLD}${GREEN}β•‘ You're all set! Run these commands to start develo
echo -e "${BOLD}${GREEN}β•šβ•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•${RESET}"
echo ""
echo -e " ${BOLD}Quickstart (all services in one terminal):${RESET}"
echo -e " ${YELLOW}./dev.sh${RESET}"
echo -e " ${YELLOW}./scripts/dev.sh${RESET}"
echo ""
echo -e " ${BOLD}Or start each service individually:${RESET}"
echo -e " ${BLUE}cd backend && make docker-run${RESET} # Postgres"
Expand Down
Loading