chore: scaffold repo layout - #1
Merged
Merged
Conversation
Add .gitattributes marking generated paths, package init, and a README placeholder to be filled in once the CLI exists. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013ia7VGSzYNgU1zfhBWbagU
Add tonie_writer/nfcfile.py to parse Flipper Zero NFC device files (v4, SLIX) into a TonieTag dataclass, validating the SLIX shape the Toniebox expects. Fixtures are real files copied from upstream. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013ia7VGSzYNgU1zfhBWbagU
Add scripts/sync_upstream.sh, which shallow-clones nortakales/flipper-zero-tonies, mirrors only *.nfc files into data/tonies/ via rsync --delete, and records provenance in data/UPSTREAM.json. Commit the initial mirror (755 files) so the repo is usable offline right after clone. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013ia7VGSzYNgU1zfhBWbagU
Add scripts/build_index.py, which walks data/tonies/**/*.nfc via the nfcfile parser and emits a searchable JSON index plus a browsable TONIES.md grouped by language/series, with a duplicate-UID section. Shared text normalization (umlaut transliteration, diacritics stripping, slugging) lives in tonie_writer/normalize.py so the index and the CLI's fuzzy matcher stay in lockstep. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013ia7VGSzYNgU1zfhBWbagU
sync-tonies.yml runs the mirror + index rebuild nightly and pushes a commit only when something actually changed, with a dry_run input for testing. ci.yml runs the unittest suite plus a syntax check on push/PR. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013ia7VGSzYNgU1zfhBWbagU
…d CLI - tonie_writer/catalog.py: load data/tonies.json and rank queries against it (exact / startswith / token / fuzzy tiers), with the disambiguation and --language-narrowing rules from the plan. - tonie_writer/proxmark.py: locate + invoke the pm3 client, and pure, hardware-free parsers for `hf 15 info`/`rdbl` output. Only ever builds the two safe raw magic-UID frames — csetuid is never used. - tonie_writer/writer.py: orchestrates writing blocks (batched, with per-block OPTION-flag retry), writing the UID, and verifying by read-back, all injectable with a fake runner for testing. - tonie_writer/cli.py + ./tonie: list/search/info/write/read/doctor/ index subcommands. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013ia7VGSzYNgU1zfhBWbagU
README covers the quickstart, tag-compatibility warning, and command table. docs/HARDWARE.md is the full buying guide, hf 15 command reference, and the csetuid danger explanation. docs/WORKFLOW.md explains what's generated vs. hand-written and how the nightly sync and CI jobs work. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013ia7VGSzYNgU1zfhBWbagU
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Add .gitattributes marking generated paths, package init, and a
README placeholder to be filled in once the CLI exists.
Co-Authored-By: Claude Sonnet 5