feat: initial project setup with bash-based NREL analysis

- Add bash script (siter-solar-analysis.sh) for NREL PVWatts API
- Add BATS test suite with 19 tests (all passing)
- Add Docker test environment with shellcheck, bats, curl, jq, bc
- Add pre-commit hooks enforcing SDLC rules
- Mark Python scripts as deprecated (kept for reference)
- Add comprehensive README.md and AGENTS.md documentation
- Add .env.example for configuration template
- Add .gitignore excluding private data (base-bill/, .env)
- Add SVG diagrams for presentation
- Redact all private location data (use SITER placeholder)

All work done following SDLC: Docker-only development, TDD approach,
conventional commits, code/docs/tests synchronized.

Generated with Crush

Assisted-by: GLM-5 via Crush <crush@charm.land>
This commit is contained in:
Charles N Wyble
2026-02-27 16:45:41 -05:00
commit 400764a9ff
22 changed files with 3587 additions and 0 deletions

32
Dockerfile.test Normal file
View File

@@ -0,0 +1,32 @@
FROM ubuntu:22.04
ENV DEBIAN_FRONTEND=noninteractive
# Install dependencies
RUN apt-get update && apt-get install -y --no-install-recommends \
curl \
jq \
bc \
shellcheck \
ca-certificates \
git \
&& rm -rf /var/lib/apt/lists/*
# Install bats (Bash Automated Testing System)
RUN curl -sL https://github.com/bats-core/bats-core/archive/refs/tags/v1.11.0.tar.gz | tar xz \
&& cd bats-core-1.11.0 \
&& ./install.sh /usr/local \
&& cd .. \
&& rm -rf bats-core-1.11.0
WORKDIR /app
# Copy scripts
COPY solar-analysis/ /app/solar-analysis/
# Make scripts executable
RUN chmod +x /app/solar-analysis/*.sh
WORKDIR /app/solar-analysis
ENTRYPOINT ["bats", "tests/"]