Skip to content

Commit 18f58a1

Browse files
Ralph Agentclaude
andcommitted
feat: [US-009] - Remove old Makefile targets and update documentation
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 24bd3e5 commit 18f58a1

3 files changed

Lines changed: 28 additions & 42 deletions

File tree

CLAUDE.md

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,16 @@ Super-opinionated Python stack for fast development. Python >= 3.12 required. Us
99
## Common Commands
1010

1111
```bash
12-
# Setup & Run
13-
make init name=... description=... # Initialize project name and description
14-
make setup # Create/update .venv and sync dependencies
15-
make all # Run main.py with setup
12+
# Onboarding & Setup
13+
make onboard # Interactive onboarding CLI (rename, deps, env, hooks, media)
14+
# Or run individual steps:
15+
uv run python onboard.py rename # Rename project
16+
uv run python onboard.py deps # Install dependencies
17+
uv run python onboard.py env # Configure environment variables
18+
uv run python onboard.py hooks # Activate pre-commit hooks
19+
uv run python onboard.py media # Generate banner/logo assets
20+
21+
make all # Sync deps and run main.py
1622

1723
# Testing
1824
make test # Run pytest on tests/

Makefile

Lines changed: 5 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -36,19 +36,9 @@ help: ## Show this help message
3636
########################################################
3737

3838
### Initialization
39-
.PHONY: init banner logo
40-
init: ## Initialize project (usage: make init name=my-project description="my description")
41-
@if [ -z "$(name)" ] || [ -z "$(description)" ]; then \
42-
echo "$(RED)Error: Both 'name' and 'description' parameters are required$(RESET)"; \
43-
echo "Usage: make init name=<project_name> description=<project_description>"; \
44-
exit 1; \
45-
fi
46-
@echo "$(YELLOW)🚀 Initializing project $(name)...$(RESET)"
47-
@sed -i.bak "s/name = \"python-template\"/name = \"$(name)\"/" pyproject.toml && rm pyproject.toml.bak
48-
@sed -i.bak "s/description = \"Add your description here\"/description = \"$(description)\"/" pyproject.toml && rm pyproject.toml.bak
49-
@sed -i.bak "s/# Python-Template/# $(name)/" README.md && rm README.md.bak
50-
@sed -i.bak "s/<b>Opinionated Python project stack. 🔋 Batteries included. <\/b>/<b>$(description)<\/b>/" README.md && rm README.md.bak
51-
@echo "$(GREEN)✅ Updated project name and description.$(RESET)"
39+
.PHONY: onboard banner logo
40+
onboard: check_uv ## Run interactive onboarding CLI
41+
@$(PYTHON) onboard.py
5242

5343
banner: check_uv ## Generate project banner image
5444
@echo "$(YELLOW)🔍Generating banner...$(RESET)"
@@ -84,31 +74,10 @@ check_jq:
8474
jq --version; \
8575
fi
8676

87-
########################################################
88-
# Setup githooks for linting
89-
########################################################
90-
setup_githooks:
91-
@echo "$(YELLOW)🔨Setting up githooks on post-commit...$(RESET)"
92-
chmod +x .githooks/post-commit
93-
git config core.hooksPath .githooks
94-
95-
9677
########################################################
9778
# Python dependency-related
9879
########################################################
9980

100-
### Setup & Dependencies
101-
setup: check_uv ## Create venv and sync dependencies
102-
@echo "$(YELLOW)🔎Looking for .venv...$(RESET)"
103-
@if [ ! -d ".venv" ]; then \
104-
echo "$(YELLOW)VS Code is not detected. Creating a new one...$(RESET)"; \
105-
uv venv; \
106-
else \
107-
echo "$(GREEN)✅.venv is detected.$(RESET)"; \
108-
fi
109-
@echo "$(YELLOW)🔄Updating python dependencies...$(RESET)"
110-
@uv sync
111-
11281
view_python_venv_size:
11382
@echo "$(YELLOW)🔍Checking python venv size...$(RESET)"
11483
@PYTHON_VERSION=$$(cat .python-version | cut -d. -f1,2) && \
@@ -126,7 +95,8 @@ view_python_venv_size_by_libraries:
12695
########################################################
12796

12897
### Running
129-
all: setup setup_githooks ## Setup and run main application
98+
all: check_uv ## Sync dependencies and run main application
99+
@uv sync
130100
@echo "$(GREEN)🏁Running main application...$(RESET)"
131101
@$(PYTHON) main.py
132102
@echo "$(GREEN)✅ Main application run completed.$(RESET)"

README.md

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -55,13 +55,23 @@ Opinionated Python stack for fast development. The `saas` branch extends `main`
5555

5656
## Quick Start
5757

58-
- `make init name=my-project description="My project description"` - initialize project
59-
- `make all` - runs `main.py`
58+
- `make onboard` - interactive onboarding CLI (rename, deps, env, hooks, media)
59+
- `make all` - sync deps and run `main.py`
6060
- `make fmt` - runs `ruff format` + JSON formatting
61-
- `make banner` - create a new banner that makes the README nice 😊
61+
- `make banner` - create a new banner that makes the README nice
6262
- `make test` - runs all tests in `tests/`
6363
- `make ci` - runs all CI checks (ruff, vulture, ty, etc.)
6464

65+
Individual onboarding steps can also be run directly:
66+
67+
```bash
68+
uv run python onboard.py rename # Rename project and update metadata
69+
uv run python onboard.py deps # Install dependencies
70+
uv run python onboard.py env # Configure environment variables
71+
uv run python onboard.py hooks # Activate pre-commit hooks
72+
uv run python onboard.py media # Generate banner and logo assets
73+
```
74+
6575

6676

6777
## Configuration

0 commit comments

Comments
 (0)