add-new-file

star 92

Add or update PerfectHash generated file outputs (file work entries, prepare/save callbacks, CMake/VCXProj registration, and tests) when new output files or artifacts need to be added.

tpn By tpn schedule Updated 1/18/2026

name: add-new-file description: Add or update PerfectHash generated file outputs (file work entries, prepare/save callbacks, CMake/VCXProj registration, and tests) when new output files or artifacts need to be added.

Add New Generated File

Workflow

  • Add a new entry to src/PerfectHash/PerfectHashFileWork.h in VERB_FILE_WORK_TABLE with the right suffix/extension/EOF init; keep ordering invariants (streams follow owning files, VC project entries stay contiguous, context files stay contiguous).
  • Implement prepare/save callbacks in src/PerfectHash/Chm01FileWork*.c. If a stage is intentionally unused, set PrepareXxxChm01 or SaveXxxChm01 to NULL in src/PerfectHash/Chm01FileWork.h.
  • If a new file extension is needed, add a UNICODE_STRING in src/PerfectHash/PerfectHashConstants.c and wire it into the file work entry.
  • Register new sources in src/PerfectHash/CMakeLists.txt; mirror additions in src/PerfectHash/PerfectHash.vcxproj and src/PerfectHash/PerfectHash.vcxproj.filters.
  • Update src/PerfectHash/Chm01FileWork.c path logic when a file needs custom base names, directories, or stream rules.
  • Update generators/tests (src/PerfectHash/Chm01FileWorkCMakeListsTextFile.c, tests/run_cli_codegen_test.cmake, etc.) if the new file needs build/test coverage.
  • Add or expand tests to write the new files and compile/run them.

File Enum Capacity

  • When the 64-bit bitmap for file enums is exhausted, add a new enum group with _2, _3, etc. suffix and preserve existing ordering rules.
Install via CLI
npx skills add https://github.com/tpn/perfecthash --skill add-new-file
Repository Details
star Stars 92
call_split Forks 16
navigation Branch main
article Path SKILL.md
More from Creator