Files
TagTinker/CONTRIBUTING.md
T
HoggorminoandClaude Fable 5.1 464ff1ae67 Add CI build workflow and root Makefile
- .github/workflows/build.yml: build the Flipper FAP (ufbt, release + dev
  SDK channels), the Cloudflare Worker (tsc + wrangler dry-run bundle) and
  the ESP32-S2 firmware (ESP-IDF v5.2.8) on every push to main and every
  pull request; syntax-check the inline scripts of the web image-prep page;
  run `ufbt lint` as a non-blocking advisory job. No path filters, because
  the shared UART protocol header is compiled into both the FAP and the
  ESP firmware.
- Makefile: one entry point for developers (setup, build-all, build-fap,
  build-worker, build-esp, launch, flash-esp, serve-web, lint, clean).
  Works with the stock GNU Make 3.81 on macOS. Auto-detects the ESP-IDF
  Python virtualenv when export.sh would otherwise look for one matching
  a newer system python3.
- esp32-wifi-fw/sdkconfig.defaults: pin CONFIG_IDF_TARGET="esp32s2" so
  clean builds (CI, fresh clones) no longer fall back to plain esp32.
- cloud-plugins/package.json: add the `build` script (wrangler dry-run
  bundle) that the Makefile and CI rely on.
- README/CONTRIBUTING: document the make targets and CI; add a build badge.
- .gitignore: ignore .venv/ and the .clang-format generated by ufbt lint.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-15 10:02:02 +02:00

45 lines
1.3 KiB
Markdown

# Contributing to TagTinker
Thanks for wanting to help out! Here's how to get involved.
## Getting Started
1. Fork the repo
2. Create a feature branch: `git checkout -b my-feature`
3. Make your changes
4. Test on hardware if possible (or at minimum, make sure `make build-fap` (plain `ufbt`) passes). CI builds the Flipper FAP, the cloud worker and the ESP32 firmware on every PR, so keep all three compiling.
5. Commit with a clear message
6. Open a pull request
## Code Style
- C99, no C++ features
- 4-space indentation (no tabs)
- `snake_case` for functions and variables
- Keep functions short and focused
## What We're Looking For
- Bug fixes (especially memory-related — the Flipper has very limited heap)
- Support for new ESL tag sizes and models
- NFC tag support for additional ESL formats
- UI/UX improvements
- Android companion app improvements
## Pull Request Guidelines
- Use **"Create a merge commit"** when merging to preserve contributor attribution.
- Keep commits focused — one feature or fix per PR.
## Reporting Issues
Please open a GitHub issue with:
- What you expected to happen
- What actually happened
- Your Flipper firmware version
- The ESL model you're testing with (if applicable)
## License
By contributing, you agree that your contributions will be licensed under GPL-3.0.