chore(repo): establish local development rules
- commit
- cf3176c9b11c794dd79ecbee3cdfabc115f722b1
- author
- brice · · 2026-09-30 07:50 UTC
- committer
- brice · · 2026-09-30 14:48 UTC
- parent
- none (root commit)
- signature
- GPG Verified
CD88F9E564E0102646FB6077A1A07C7C7C3E349D· arch-gpg Verified for the committer email
2 files · +21 -0
A .gitignore +8 -0
| @@ -0,0 +1,8 @@ | |||
| 1 | + | /bin/ | |
| 2 | + | /dist/ | |
| 3 | + | .worktrees/ | |
| 4 | + | *.test | |
| 5 | + | *.out | |
| 6 | + | coverage/ | |
| 7 | + | go.work | |
| 8 | + | go.work.sum | |
| @@ -0,0 +1,8 @@ | |||||
| 1 | + | /bin/ | |||
| 2 | + | /dist/ | |||
| 3 | + | .worktrees/ | |||
| 4 | + | *.test | |||
| 5 | + | *.out | |||
| 6 | + | coverage/ | |||
| 7 | + | go.work | |||
| 8 | + | go.work.sum | |||
A AGENTS.md +13 -0
| @@ -0,0 +1,13 @@ | |||
| 1 | + | # Repository rules | |
| 2 | + | ||
| 3 | + | - Local-only repository: do not create remotes, publish branches, or access GitHub without explicit permission. | |
| 4 | + | - Use Go 1.27; normal builds and tests use CGO_ENABLED=0. Enable CGO only for race tests. | |
| 5 | + | - Follow lightweight hexagonal architecture: cmd/nefercap and internal/app wire internal/core, internal/ports, and internal/adapters. Core imports only stdlib and ports; ports contain no framework types. | |
| 6 | + | - Use NeferGUI v0.10 for graphical interfaces and zerowrap with a component field for logging. Reuse NeferWL dependency versions where applicable; do not copy unrelated compositor dependencies. | |
| 7 | + | - Work in .worktrees/ branches, not directly on main. Merge locally only after checks and review pass. | |
| 8 | + | - Sign every commit and tag; commit format: type(scope): description. | |
| 9 | + | - Minimize footprint. Bound buffers, queues and subprocess lifetimes. Reuse frame storage; test and benchmark steady-state allocations. Do not claim zero allocations without measurements. | |
| 10 | + | - Test doubles are generated by Mockery v3 with the testify template. No handwritten fakes, stubs, spies or function-field replacements. Cross-layer interfaces live in internal/ports; generated mocks in internal/mocks/ports. Adapter-private seams stay in the adapter with generated *_mock_test.go files. Use .EXPECT(). | |
| 11 | + | - Check before merging: make check, make race, make mocks-check, staticcheck ./.... | |
| 12 | + | - Never overwrite capture files silently. Validate dimensions, stride and formats; close file descriptors and stop subprocesses on all exit paths. | |
| 13 | + | - Keep docs concise and describe current behavior, not planned capabilities. Do not put personal paths, names, or emails in source, tests, docs or commit messages. | |
| @@ -0,0 +1,13 @@ | |||||
| 1 | + | # Repository rules | |||
| 2 | + | ||||
| 3 | + | - Local-only repository: do not create remotes, publish branches, or access GitHub without explicit permission. | |||
| 4 | + | - Use Go 1.27; normal builds and tests use CGO_ENABLED=0. Enable CGO only for race tests. | |||
| 5 | + | - Follow lightweight hexagonal architecture: cmd/nefercap and internal/app wire internal/core, internal/ports, and internal/adapters. Core imports only stdlib and ports; ports contain no framework types. | |||
| 6 | + | - Use NeferGUI v0.10 for graphical interfaces and zerowrap with a component field for logging. Reuse NeferWL dependency versions where applicable; do not copy unrelated compositor dependencies. | |||
| 7 | + | - Work in .worktrees/ branches, not directly on main. Merge locally only after checks and review pass. | |||
| 8 | + | - Sign every commit and tag; commit format: type(scope): description. | |||
| 9 | + | - Minimize footprint. Bound buffers, queues and subprocess lifetimes. Reuse frame storage; test and benchmark steady-state allocations. Do not claim zero allocations without measurements. | |||
| 10 | + | - Test doubles are generated by Mockery v3 with the testify template. No handwritten fakes, stubs, spies or function-field replacements. Cross-layer interfaces live in internal/ports; generated mocks in internal/mocks/ports. Adapter-private seams stay in the adapter with generated *_mock_test.go files. Use .EXPECT(). | |||
| 11 | + | - Check before merging: make check, make race, make mocks-check, staticcheck ./.... | |||
| 12 | + | - Never overwrite capture files silently. Validate dimensions, stride and formats; close file descriptors and stop subprocesses on all exit paths. | |||
| 13 | + | - Keep docs concise and describe current behavior, not planned capabilities. Do not put personal paths, names, or emails in source, tests, docs or commit messages. | |||