All placeholders in this template follow the InvestigativeJournalist.jl pattern.
After cloning, replace them with your project-specific values.
Recommended: Interactive Bootstrap
This interactively prompts for all values, replaces every placeholder,
validates the result, and runs k9-svc checks if available.
# If you prefer manual replacement (run from repo root)
sed -i ' s/Jonathan D.A. Jewell/Jane Doe/g' $( grep -rl ' Jonathan D.A. Jewell' .)
sed -i ' s/j.d.a.jewell@open.ac.uk/jane@example.org/g' $( grep -rl ' j.d.a.jewell@open.ac.uk' .)
sed -i ' s/hyperpolymath/my-org/g' $( grep -rl ' hyperpolymath' .)
sed -i ' s/InvestigativeJournalist.Jl/my-project/g' $( grep -rl ' InvestigativeJournalist.Jl' .)
sed -i ' s/InvestigativeJournalist.jl/MY_PROJECT/g' $( grep -rl ' InvestigativeJournalist.jl' .)
sed -i ' s/{{project}}/my_project/g' $( grep -rl ' {{project}}' .)
sed -i ' s/InvestigativeJournalist.jl/my-project/g' $( grep -rl ' InvestigativeJournalist.jl' .)
sed -i ' s/github.com/github.com/g' $( grep -rl ' github.com' .)
sed -i " s/2026/$( date +%Y) /g" $( grep -rl ' 2026' .)
sed -i " s/2026-03-16/$( date +%Y-%m-%d) /g" $( grep -rl ' 2026-03-16' .)
Placeholder
Description
Example
Files
Jonathan D.A. Jewell
Full legal name
Jane Doe
SPDX headers (all files), MAINTAINERS.md, .mailmap, .reuse/dep5, docs/AI-CONVENTIONS.md
j.d.a.jewell@open.ac.uk
Primary contact email
jane@example.org
SPDX headers (all files), .mailmap, .reuse/dep5, .well-known/humans.txt
{{AUTHOR_EMAIL_ALT}}
Previous/secondary email (for .mailmap)
old@example.com
.mailmap
{{AUTHOR_ORG}}
Author's organization/affiliation
Acme University
project-metadata.k9.ncl
Jewell
Author surname (for citations)
Doe
docs/CITATIONS.adoc
Jonathan
Author first name (for citations)
Jane
docs/CITATIONS.adoc
J.D.A.
Author initials (for citations)
J.
docs/CITATIONS.adoc
Placeholder
Description
Example
Files
InvestigativeJournalist.Jl
Human-readable project name
My Project
SECURITY.md, CODE_OF_CONDUCT.md, TOPOLOGY.md, STATE.a2ml, Justfile, GOVERNANCE.md, MAINTAINERS.md, flake.nix, devcontainer.json
InvestigativeJournalist.jl
One-line description
A tool for X
flake.nix
InvestigativeJournalist.jl
Uppercase identifier (for Idris2 modules, C macros)
MY_PROJECT
ABI-FFI-README.md, src/abi/.idr, ffi/zig/ .zig
{{project}}
Lowercase identifier (for C symbols, filenames)
my_project
ABI-FFI-README.md, ffi/zig/*.zig
InvestigativeJournalist.jl
Repository name (slug)
my-project
CONTRIBUTING.md, SECURITY.md, CODE_OF_CONDUCT.md, cliff.toml
hyperpolymath
GitHub/GitLab org or username
my-org
SPDX headers, CONTRIBUTING.md, SECURITY.md, GOVERNANCE.md, MAINTAINERS.md, CODEOWNERS, mirror.yml, cliff.toml
github.com
Git forge domain
github.com
CONTRIBUTING.md
Placeholder
Description
Example
Files
2026
Current year
2026
SPDX headers (all files), GOVERNANCE.md, MAINTAINERS.md
2026-03-16
Current date (ISO)
2026-02-14
STATE.a2ml, MAINTAINERS.md
2026-03-16
Last updated date
2026-02-14
TOPOLOGY.md, THREAT-MODEL.md
Placeholder
Description
Example
Files
6759885+hyperpolymath@users.noreply.github.com
Security contact email
security@example.org
SECURITY.md
[PGP fingerprint not set]
40-char PGP fingerprint
ABCD 1234 ...
SECURITY.md
{{PGP_KEY_URL}}
URL to public PGP key
https://keys.openpgp.org/...
SECURITY.md
{{WEBSITE}}
Project website
https://example.org
SECURITY.md
{{CONDUCT_EMAIL}}
Conduct reports email
conduct@example.org
CODE_OF_CONDUCT.md
{{CONDUCT_TEAM}}
Conduct committee name
Code of Conduct Committee
CODE_OF_CONDUCT.md
{{RESPONSE_TIME}}
SLA for initial response
48 hours
CODE_OF_CONDUCT.md
Placeholder
Description
Example
Files
main
Main branch name
main
CONTRIBUTING.md
Placeholder
Description
Example
Files
PMPL-1.0-or-later
License name
PMPL-1.0-or-later
ABI-FFI-README.md
InvestigativeJournalist.jl
One-line project description
FFI bridges between languages
STATE.a2ml
Placeholder
Description
Example
Files
[YOUR-REPO-NAME]
Repository name
my-project
0-AI-MANIFEST.a2ml
[DATE]
Creation date
2026-02-14
0-AI-MANIFEST.a2ml
[YOUR-NAME/ORG]
Maintainer name
hyperpolymath
0-AI-MANIFEST.a2ml
Some files contain deletion instructions:
Marker
Meaning
File
{{~ ... ~}}
Delete this entire line after reading
ABI-FFI-README.md (line 1)
After replacing all placeholders, verify none remain:
grep -rn ' {{' . --include=' *.md' --include=' *.adoc' --include=' *.a2ml' \
--include=' *.scm' --include=' *.idr' --include=' *.zig' --include=' *.res' \
--include=' Justfile' --include=' *.nix' --include=' *.toml' --include=' *.yml' \
--include=' *.yaml' --include=' *.hs' --include=' *.ncl' --include=' *.txt' \
--include=' *.json' --include=' Containerfile' --include=' dep5' \
| grep -v ' PLACEHOLDERS.md' | grep -v ' node_modules'
If the above command produces no output, all placeholders have been replaced.