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 .env.example
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Slack integration (optional)
# Configuration
LIGHTWATCH_CONFIG=/opt/lightwatch/config/production.toml

# Slack
SLACK_BOT_TOKEN=
SLACK_CHANNEL_ID=

# Optional configuration override
# LIGHTWATCH_CONFIG=/opt/lightwatch/config/local.toml
17 changes: 10 additions & 7 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,15 +12,18 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: astral-sh/setup-uv@v6
with:
enable-cache: true
- uses: actions/setup-python@v5
with:
python-version: '3.13'
cache: pip
- run: python -m pip install --upgrade pip
- run: python -m pip install -e ".[dev]"
- run: python scripts/verify-version.py
- run: ruff check .
- run: pytest
python-version-file: .python-version
- run: uv sync --frozen
- run: uv lock --check
- run: uv run --locked python scripts/verify-version.py
- run: uv run --locked ruff check .
- run: uv run --locked ruff format --check .
- run: uv run --locked pytest -q

frontend:
runs-on: ubuntu-latest
Expand Down
20 changes: 8 additions & 12 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -12,60 +12,56 @@ htmlcov/
# Virtual environment
.venv/
venv/

# Environment variables / secrets
.env
.env.*
!.env.example

# Runtime data
data/
logs/
tmp/
*.log
*.pid
*.lock

!uv.lock
# SQLite
*.db
*.db-shm
*.db-wal
*.sqlite
*.sqlite3

# Captured images
*.jpg
*.jpeg
*.png

# OS / Editor
.DS_Store
Thumbs.db
desktop.ini
.vscode/*
!.vscode/extensions.json
!.vscode/settings.json

# Raspberry Pi / deployment
*.service.local
*.timer.local

# Backup / archive
*.zip
*.tar
*.tar.gz
*.bak


# Internal reference images
docs/reference/*
!docs/reference/.gitkeep
*.egg-info/

# Frontend
frontend/node_modules/
frontend/dist/

# Local development and production-specific configuration
.local/
config/development.toml
config/production.toml
# TypeScript build cache
*.tsbuildinfo

# Generated Vite config files
frontend/vite.config.js
frontend/vite.config.d.ts
1 change: 1 addition & 0 deletions .python-version
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
3.13
20 changes: 20 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,26 @@

All notable changes to LightWatch are documented in this file.

## [1.1.0] - 2026-08-02

### Added

- Detailed lighting-state timeline in the Web UI
- Image modal with previous and next navigation
- Local Web preview with generated sample data
- uv-based locked development and verification workflow
- Sample production and development configuration files
- Expanded documentation for development, operation, lighting ROI, local Web preview, and systemd

### Changed

- Timeline positions now follow actual capture times
- Web API and dashboard status information were expanded
- Frontend dependencies were updated and pinned
- Python dependencies are now managed through `pyproject.toml` and `uv.lock`
- systemd units, configuration examples, and documentation were updated for LightWatch
- Public documentation now uses generic Raspberry Pi, NAS, and deployment examples

## [1.0.0] - 2026-07-22

### Added
Expand Down
65 changes: 59 additions & 6 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,17 +2,70 @@

Contributions are welcome through issues and pull requests.

## Development checks
## Development setup

Install the Python dependencies and create the virtual environment:

```bash
uv sync --frozen
```

Install the frontend dependencies:

```bash
python scripts/verify-version.py
ruff check .
pytest
cd frontend
npm ci
cd ..
```

## Development checks

On Windows with PowerShell 7, run the complete verification script:

```powershell
.\scripts\verify.ps1
```

To verify only the Python backend:

```powershell
.\scripts\verify.ps1 -SkipFrontend
```

The equivalent individual commands are:

```bash
uv lock --check
uv run --locked python scripts/verify-version.py
uv run --locked ruff check .
uv run --locked ruff format --check .
uv run --locked pytest -q

cd frontend
npm run lint
npm run build
npm audit
cd ..
```

Keep changes focused, include tests for behavior changes, and do not commit credentials, private host names, internal paths, production images, or generated runtime data.
Before submitting a pull request, also confirm that the working tree contains only the intended changes:

```bash
git diff --check
git status
git diff --stat
```

Keep changes focused and include tests for behavior changes.

Do not commit:

- Credentials, tokens, passwords, or private keys
- Private host names, IP addresses, or internal paths
- Production configuration files
- Captured images
- SQLite databases
- Logs or state files
- Generated runtime data
- `.venv/`
- `frontend/node_modules/`
- `frontend/dist/`
Loading
Loading