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
81 changes: 81 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
name: Bug report
description: Report a reproducible ESP32Chat software problem
title: "[Bug]: "
labels: ["bug", "needs-triage"]
body:
- type: markdown
attributes:
value: |
Remove passwords, Wi-Fi credentials, tokens, private addresses, and personal data from all logs.
- type: input
id: version
attributes:
label: Version or commit
description: Release name or commit SHA for the affected server/client.
placeholder: main at abc1234
validations:
required: true
- type: dropdown
id: component
attributes:
label: Component
options:
- Raspberry Pi / server
- Web interface
- M5Cardputer / Cardputer ADV
- M5StickC Plus 2
- T-Embed CC1101
- Flipper Zero
- Build / CI
- Documentation
- Other
validations:
required: true
- type: textarea
id: environment
attributes:
label: Environment
description: Hardware revision, operating system, Python/toolchain version, and network topology.
placeholder: Raspberry Pi 5, Raspberry Pi OS 64-bit, Python 3.11...
validations:
required: true
- type: textarea
id: steps
attributes:
label: Reproduction steps
placeholder: |
1. Start the server with...
2. Open...
3. Send...
validations:
required: true
- type: textarea
id: expected
attributes:
label: Expected behavior
validations:
required: true
- type: textarea
id: actual
attributes:
label: Actual behavior
validations:
required: true
- type: textarea
id: logs
attributes:
label: Sanitized logs
render: shell
- type: checkboxes
id: checks
attributes:
label: Checklist
options:
- label: I searched existing issues.
required: true
- label: I tested the latest available code when practical.
required: true
- label: I removed secrets and personal data.
required: true
- label: This is not a security vulnerability.
required: true
8 changes: 8 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
blank_issues_enabled: false
contact_links:
- name: Security vulnerability
url: https://github.com/NoTimeToSleep-Team/esp32chat/security/advisories/new
about: Report security problems privately. Do not create a public issue.
- name: Project documentation
url: https://github.com/NoTimeToSleep-Team/esp32chat/tree/main/docs
about: Review architecture, device limits, deployment, and validation documentation.
29 changes: 29 additions & 0 deletions .github/ISSUE_TEMPLATE/documentation.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
name: Documentation improvement
description: Report missing, incorrect, or confusing documentation
title: "[Docs]: "
labels: ["documentation", "good first issue"]
body:
- type: input
id: location
attributes:
label: Document or location
placeholder: README.md, server/docs/deploy-pi.md, line/section...
validations:
required: true
- type: textarea
id: problem
attributes:
label: What is incorrect or unclear?
validations:
required: true
- type: textarea
id: suggestion
attributes:
label: Suggested improvement
- type: checkboxes
id: checks
attributes:
label: Checklist
options:
- label: I checked the latest version of the document.
required: true
50 changes: 50 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
name: Feature request
description: Propose a focused improvement to ESP32Chat
title: "[Feature]: "
labels: ["enhancement", "needs-triage"]
body:
- type: textarea
id: problem
attributes:
label: Problem
description: Describe the concrete user or operator problem.
validations:
required: true
- type: textarea
id: proposal
attributes:
label: Proposed solution
description: Explain the expected behavior and affected components.
validations:
required: true
- type: textarea
id: alternatives
attributes:
label: Alternatives considered
- type: dropdown
id: target
attributes:
label: Primary target
options:
- Server / Raspberry Pi
- Web interface
- ESP32 / M5Stack clients
- Flipper Zero
- Documentation
- Build / release tooling
- Other
validations:
required: true
- type: textarea
id: constraints
attributes:
label: Hardware, compatibility, or security constraints
- type: checkboxes
id: checks
attributes:
label: Checklist
options:
- label: I searched existing issues and the roadmap.
required: true
- label: The request does not require publishing credentials or private data.
required: true
76 changes: 76 additions & 0 deletions .github/ISSUE_TEMPLATE/hardware_test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
name: Hardware validation report
description: Publish repeatable results from a physical ESP32Chat device
title: "[Hardware]: "
labels: ["hardware-test", "needs-triage"]
body:
- type: dropdown
id: device
attributes:
label: Device
options:
- M5Cardputer
- Cardputer ADV
- M5StickC Plus 2
- T-Embed CC1101
- Flipper Zero
- Raspberry Pi 5
- Raspberry Pi Zero 2 W
- Other
validations:
required: true
- type: input
id: revision
attributes:
label: Hardware revision
placeholder: Board revision, module variant, attached accessories
validations:
required: true
- type: input
id: commit
attributes:
label: Firmware/server commit
placeholder: Full or short commit SHA
validations:
required: true
- type: textarea
id: toolchain
attributes:
label: Toolchain and build configuration
placeholder: Arduino/PlatformIO/Flipper SDK version, libraries, compile-time flags
validations:
required: true
- type: textarea
id: topology
attributes:
label: Server and network topology
placeholder: Raspberry Pi model, OS, access point, Wi-Fi band, addressing
validations:
required: true
- type: textarea
id: procedure
attributes:
label: Test procedure
description: Provide enough detail for another person to repeat the test.
validations:
required: true
- type: textarea
id: result
attributes:
label: Result
description: State pass/fail/partial and describe observed behavior.
validations:
required: true
- type: textarea
id: logs
attributes:
label: Sanitized logs and media
description: Attach serial output, screenshots, photographs, or video when useful.
- type: checkboxes
id: checks
attributes:
label: Checklist
options:
- label: This test was performed on the named physical device.
required: true
- label: I removed credentials, tokens, private addresses, and personal data.
required: true
32 changes: 32 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
## Summary

Describe the problem and the implemented solution.

## Related issue

Closes #

## Changes

- _List the main changes._

## Verification

Describe the commands, software tests, and physical hardware tests performed.

```text
python docs/tools/run_software_verification_sweep.py --with-compileall
```

## Hardware evidence

For device changes, include the exact board revision, toolchain, firmware commit, logs, and media. Write `Not tested on physical hardware` when applicable.

## Checklist

- [ ] The change is focused and does not include unrelated edits.
- [ ] Documentation was updated when behavior or configuration changed.
- [ ] Automated checks pass locally or failures are explained.
- [ ] Hardware claims are based on real tests, not simulation alone.
- [ ] No credentials, tokens, private addresses, or personal data are included.
- [ ] Breaking changes are clearly identified.
17 changes: 17 additions & 0 deletions .github/seed-issues/01-windows-installation.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
## Goal

Test the current server setup on a clean Windows installation and improve the instructions so a new user can reach the `/health` and `/chat` pages without guessing.

## Suggested work

- Verify Python and virtual-environment commands.
- Document PowerShell execution-policy problems if encountered.
- Record the exact supported Python version.
- Add common failure messages and fixes.
- Remove all private paths and credentials from screenshots/logs.

## Acceptance criteria

- A clean, numbered Windows setup guide.
- Commands copied from a successful test.
- Software verification command documented.
10 changes: 10 additions & 0 deletions .github/seed-issues/02-spanish-translation.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
## Goal

Add a maintained Spanish translation of the public README for ESP32Chat.

## Acceptance criteria

- Create `README.es.md`.
- Preserve commands, links, warnings, and status limitations.
- Add the language link to all public README variants.
- Avoid translating product names and code identifiers.
13 changes: 13 additions & 0 deletions .github/seed-issues/03-m5stick-hardware-test.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
## Goal

Perform a repeatable physical-device validation of the M5StickC Plus 2 client against the current Raspberry Pi server.

## Test scope

- Build and flash the native runtime.
- Connect to Wi-Fi and authenticate.
- Open chat history and send a text message when enabled.
- Restart the device and test reconnect behavior.
- Capture sanitized serial logs and photographs.

Use the hardware validation template and state every untested function explicitly.
10 changes: 10 additions & 0 deletions .github/seed-issues/04-pi-zero-video.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
## Goal

Create a short installation demonstration for Raspberry Pi Zero 2 W showing a clean server setup, health check, and web chat page.

## Requirements

- Use a fresh or clearly documented Raspberry Pi OS image.
- Show exact commands and important configuration choices.
- Do not expose Wi-Fi credentials, tokens, private addresses, or personal data.
- Link the video from the deployment guide and public README.
11 changes: 11 additions & 0 deletions .github/seed-issues/05-browser-flasher.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
## Goal

Research and prototype a safe browser-based firmware installation path for supported ESP32/M5Stack clients.

## First milestone

- Identify compatible targets and browser requirements.
- Define how firmware binaries are produced and verified.
- Keep Wi-Fi/server credentials out of published binaries.
- Document recovery when flashing fails.
- Produce a minimal proof of concept for one supported board.
31 changes: 31 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# Changelog

Notable public-facing changes to ESP32Chat will be documented in this file.

The project is currently in alpha and may introduce breaking changes before a stable release.

## [Unreleased]

### Added

- Community health files and structured issue templates.
- Clear project overview, quick start, supported-client status, and Russian README translation.
- Repository branding and release preparation material.

### Changed

- Public positioning now reflects the implemented FastAPI server, web interface, verification workflow, and native client entry points.

## [0.8.0-alpha] - 2026-07-07

### Added

- First public engineering alpha.
- Raspberry Pi 5 and Raspberry Pi Zero 2 W server assets.
- Initial packaged project files for testing base functionality.

### Known limitations

- Full hardware validation was not complete.
- Some functions could be incomplete or unstable.
- The release was not intended for production use.
Loading
Loading