Whether you're an experienced developer or this is your first open source contribution, we welcome your support! You can contribute to WesternFriend's project in various ways:
- Design
- Testing
- Ideas
- Accessibility
- Writing code
For general discussions and to get involved with the community, visit our discussion area.
Follow the steps below to set up your development environment.
- Python 3.10 or higher
- UV - Modern Python package manager
- Django
- Wagtail CMS
Note: If you're using Windows, please use PowerShell. If your system uses the python3 command instead of python, substitute it as needed.
Optionally, install Claude context mode manager for better AI-assisted development using Claude Code:
/plugin marketplace add mksglu/claude-context-mode
/plugin install context-mode@claude-context-mode-
Clone the Repository:
git clone git@github.com:WesternFriend/westernfriend.org.git -
Change into the Application Directory:
cd westernfriend.org/ -
Create Virtual Environment and Install Dependencies:
uv sync
-
Activate the Virtual Environment:
- Mac/Linux:
source .venv/bin/activate - Windows PowerShell:
.venv\Scripts\Activate.ps1
- Mac/Linux:
-
Activate Pre-Commit:
pre-commit install
This project uses Docker to manage a Postgres database.
- Start the Database:
docker compose up --detach - pgAdmin Access: Use localhost:5050 (credentials in the
docker-compose.yamlfile)
- Create .env File (with
DJANGO_DEBUG=true) - Run Database Migrations:
python manage.py migrate - Create a Superuser:
python manage.py createsuperuser - Run the Server:
python manage.py runserver(access from http://localhost:8000) - Scaffold Initial Content:
python manage.py scaffold_initial_content
To edit the Tailwind CSS, run the following command in a separate terminal:
python manage.py tailwind startWe use UV for dependency management with dependencies defined in pyproject.toml. Use the following commands:
- Install All Dependencies:
uv sync - Install with Dev Dependencies:
uv sync --all-extras - Update Dependencies:
uv sync --upgrade - Add New Packages:
- For regular dependencies:
uv add <package-name> - For development dependencies:
uv add --dev <package-name> - After adding packages, run
uv syncto ensure your environment is up to date
- For regular dependencies:
If you prefer an alternative to Docker/Docker UI, try Colima.
- Start Colima:
colima start - If you face an error, use
limactl stop -f colima, then re-run the start command.
Need help? Feel free to open a support ticket.
We appreciate your interest and contribution to the WesternFriend project. Happy coding!