This repository contains my website at bcm.works, related assets, tooling and documentation.
- .claude - Project specific config for Claude Code.
- .github - GitHub config and Actions workflows.
- .zed - Customised Zed Editor project configuration.
- content - Website page content in Markdown files.
- design - Page layout and icon design files.
- docs - Documentation and contextual information.
- docs/adrs - Architecture decision records in Markdown files.
- docs/AI-USE.md - Policy for use of AI Code Generation tools.
- prototypes - Ideas and half-built prototypes.
- src/backend - Backend Deno file server, API and utilities.
- src/cli - CLI tool written in Go.
- src/frontend - Frontend Lume templates and styles.
- src/frontend/styles/theme.css - Frontend design colour scheme and theme setup.
- src/frontend/manifest.json - Progressive Web App configuration.
- .editorconfig - Sets basic code style rules via EditorConfig
- deno.json - Deno imports, tasks and configuration.
- Deno Deploy - Infrastructure host.
- GitHub Actions - Deployment and testing workflows.
- PostHog - Site analytics and visitor usage insights.
- Go - Tasks CLI.
- Deno - Backend, Frontend, Deno Tests.
- Lume - Static site generator for Deno.
- Fonts by Mass-Driver - I have purchased licenses for use here.
- Font Awesome free icon pack - Used for icons on various pages and layouts.
Required:
- Deno (
latest stable) - Install via my dotfiles deno-setup script. - Go (
1.26.6) - Install via my dotfiles go-setup script.
Optional:
- GitHub CLI - Install via my dotfiles github-setup script.
- AI tools - Install via my dotfiles AI script.
A task binary is included to make it easier to run local dev tasks. The source code for this is in src/cli.
Run the setup task to setup your local environment:
./task setupTo list all of the available tasks:
./task listFirst setup GitHub Actions secrets by following the steps in .env.github.
Then setup a new Deno Deploy project, following the steps in .env.deno-deploy.
Following this, new releases can be manually triggered from GitHub Actions via release.yml. This workflow will build and run tests remotely, then deploy to Deno Deploy.