You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
docs: add README, CHANGELOG, NOTICE, SECURITY, and LLM docs bundle
Summary
Land the user-facing documentation bundle modelled on axonops/mask: a full README.md, CHANGELOG.md, NOTICE (crediting the original rgooding/go-syncmap author), SECURITY.md, llms.txt, and llms-full.txt (with the scripts/gen-llms-full.sh script that regenerates the latter). Re-enables the markdownlint and llms-full-up-to-date CI guard jobs that were deferred in #8.
Requirements
README.md — rewrite from the current 1-line placeholder. Structure mirrors mask's README. Sections:
Logo / tagline (use gopher.png at repo root if it passes markdownlint image-alt requirements)
API Reference (every public symbol — signature + one-sentence description + link to godoc)
Thread Safety (inherits from sync.Map)
Performance (link to bench.txt and summarise overhead vs raw sync.Map)
When to Use (SyncMap vs sync.Map vs map+sync.RWMutex)
Contributing (link to CONTRIBUTING.md)
Attribution (fork of github.com/rgooding/go-syncmap by Robert Gooding)
Licence
CI badge(s) matching mask's README
CHANGELOG.md — Keep-a-Changelog structure. Seed with the v1.0.0 entry listing every change from the fork: module rename, Go 1.26, method renames/additions, CI/release setup, docs, tests. Future versions documented as they cut.
NOTICE — Apache 2.0 attribution block that names AxonOps Limited AND credits Robert Gooding / github.com/rgooding/go-syncmap as the original source. Wording modelled on mask's NOTICE.
SECURITY.md — mirror mask's SECURITY.md exactly, substituting mask → syncmap in the reporting URL / email as appropriate.
llms.txt — mirror mask's llms.txt structure (common mistakes AI assistants make; project overview for LLM context).
llms-full.txt — generated concatenation of the policy-bearing docs; produced by scripts/gen-llms-full.sh.
scripts/gen-llms-full.sh — mirror mask's script verbatim (adjust source file list to syncmap's docs).
Re-enable markdownlint job in ci.yml (uses DavidAnson/markdownlint-cli2-action@v21.0.0 per mask pin) and list README.md, CHANGELOG.md, CONTRIBUTING.md, SECURITY.md, NOTICE, CLA.md, CODE_OF_CONDUCT.md, CONTRIBUTORS.md (the ones that exist by merge time) in its globs: input.
Re-enable llms-full-up-to-date job in ci.yml.
All new files carry appropriate licence / attribution. No AI-attribution tokens outside the llms files (where tool names are product references, already excluded by attribution-guard).
Acceptance Criteria
README.md ≥150 lines; contains every section listed in Req 1.
CHANGELOG.md has a populated ## [1.0.0] section.
NOTICE names both AxonOps Limited and Robert Gooding (rgooding/go-syncmap).
SECURITY.md exists and documents private disclosure.
llms.txt and llms-full.txt exist at repo root.
scripts/gen-llms-full.sh is executable and idempotent.
make llms-full regenerates llms-full.txt without diff.
make llms-full-check exits 0 on an unchanged tree.
markdownlint CI job passes on this PR.
llms-full-up-to-date CI job passes on this PR.
makefile-targets-guard passes with llms-full and llms-full-check re-added.
make check green; CI green end-to-end.
grep -i 'rgooding/go-syncmap' NOTICE CHANGELOG.md README.md returns at least one hit in each.
Testing Requirements
go test -run 'Example' ./... — if examples exist, they continue to pass (this issue adds prose, not test code).
CI — all green including the two re-enabled guards.
markdownlint-cli2 locally against the doc file list — zero warnings.
docs: add README, CHANGELOG, NOTICE, SECURITY, and LLM docs bundle
Summary
Land the user-facing documentation bundle modelled on
axonops/mask: a fullREADME.md,CHANGELOG.md,NOTICE(crediting the originalrgooding/go-syncmapauthor),SECURITY.md,llms.txt, andllms-full.txt(with thescripts/gen-llms-full.shscript that regenerates the latter). Re-enables themarkdownlintandllms-full-up-to-dateCI guard jobs that were deferred in #8.Requirements
README.md— rewrite from the current 1-line placeholder. Structure mirrors mask's README. Sections:gopher.pngat repo root if it passes markdownlint image-alt requirements)go get github.com/axonops/syncmapsync.Map)bench.txtand summarise overhead vs rawsync.Map)SyncMapvssync.Mapvsmap+sync.RWMutex)CONTRIBUTING.md)github.com/rgooding/go-syncmapby Robert Gooding)CHANGELOG.md— Keep-a-Changelog structure. Seed with the v1.0.0 entry listing every change from the fork: module rename, Go 1.26, method renames/additions, CI/release setup, docs, tests. Future versions documented as they cut.NOTICE— Apache 2.0 attribution block that names AxonOps Limited AND credits Robert Gooding /github.com/rgooding/go-syncmapas the original source. Wording modelled on mask's NOTICE.SECURITY.md— mirror mask's SECURITY.md exactly, substitutingmask→syncmapin the reporting URL / email as appropriate.llms.txt— mirror mask's llms.txt structure (common mistakes AI assistants make; project overview for LLM context).llms-full.txt— generated concatenation of the policy-bearing docs; produced byscripts/gen-llms-full.sh.scripts/gen-llms-full.sh— mirror mask's script verbatim (adjust source file list to syncmap's docs).llms-fullandllms-full-checktargets (removed in chore: align CI, release, and tooling to axonops/mask pattern #8). Updatemakefile-targets-guardexpected list accordingly.markdownlintjob inci.yml(usesDavidAnson/markdownlint-cli2-action@v21.0.0per mask pin) and listREADME.md,CHANGELOG.md,CONTRIBUTING.md,SECURITY.md,NOTICE,CLA.md,CODE_OF_CONDUCT.md,CONTRIBUTORS.md(the ones that exist by merge time) in itsglobs:input.llms-full-up-to-datejob inci.yml.attribution-guard).Acceptance Criteria
README.md≥150 lines; contains every section listed in Req 1.CHANGELOG.mdhas a populated## [1.0.0]section.NOTICEnames both AxonOps Limited and Robert Gooding (rgooding/go-syncmap).SECURITY.mdexists and documents private disclosure.llms.txtandllms-full.txtexist at repo root.scripts/gen-llms-full.shis executable and idempotent.make llms-fullregeneratesllms-full.txtwithout diff.make llms-full-checkexits 0 on an unchanged tree.markdownlintCI job passes on this PR.llms-full-up-to-dateCI job passes on this PR.makefile-targets-guardpasses withllms-fullandllms-full-checkre-added.make checkgreen; CI green end-to-end.grep -i 'rgooding/go-syncmap' NOTICE CHANGELOG.md README.mdreturns at least one hit in each.Testing Requirements
go test -run 'Example' ./...— if examples exist, they continue to pass (this issue adds prose, not test code).markdownlint-cli2locally against the doc file list — zero warnings.make llms-full-checkon unchanged tree — exit 0.Documentation Requirements
Dependencies
bench.txtmust exist so README can link to it).Labels
documentationP0