These are a collection of semi-standards for reference by people and agents accessible in a public manner for generic reference in projects.
The existence of an RFC does not mean that you need to adopt one or all of them and is just a description of a mini-standard that you may opt into.
They are numbered and titled and each has a brief executive summary description in this file and a fuller description in single files or directories (if supporting assets are necessary) under rfcs.
See the following RFCs for descriptions of standards relative to this repository itself:
- nexp ::
salotz.002_semantic-changelog - status :: DRAFT
Proposal: rfcs/salotz.002_semantic-changelog/README.md
Executive Summary:
A general-purpose format for semantic changelogs and git commit messages. Defines "Growth", "Breakage", and "Regression" change categories with specific sub-keywords, version numbering (B.R.G), and structured metadata via git trailers. Includes recommendations for both human-readable changelogs and machine-readable commit messages.
- nexp ::
salotz.003_rfc-specs - status :: DRAFT
Proposal: rfcs/salotz.003_rfc-specs.md
Executive Summary:
Specifications for the required information for an RFC (nexp, long name, executive summary) and how to name/format proposals. This is the meta-specification for the RFC process itself.
- nexp ::
salotz.004_nexps - status :: DRAFT
Proposal: rfcs/salotz.004_nexps.md
Executive Summary:
A proposal that defines how to name digital document entities using a namespaced expression format (e.g.
format:namespace.field-1_field-2). Uses dots for namespace separation and underscores/hyphens for fields.
- nexp ::
salotz.006_codetags - status :: DRAFT
Proposal: rfcs/salotz.006_codetags/README.md
Executive Summary:
Tags that are added in comments to code that add semantic meaning to otherwise freeform comments, making them searchable by machine and available to tooling. Defines a standard set of codetags (TODO, FIXME, etc.) and categories (tasks, warnings, growth, etc.).
- nexp ::
012_information-errors - status :: DRAFT
Proposal: rfcs/salotz.012_information-errors.md
Executive Summary:
Errors in information systems (e.g. event logs) should provide actionable information rather than just operational severity categories. Maps error types to next actions for handlers. Inspired by Stuart Halloway.
- nexp ::
salotz.014_project-intent - status :: DRAFT
Proposal: rfcs/salotz.014_project-intent.md
Executive Summary:
A proposal for a best practice that includes a clear statement of intent on open source projects (lifecycle phase + maintenance intent) so consumers better understand the current state and intentions of developers. Includes suggested vocabulary for common phases.
- nexp ::
salotz.016_trivial-plaintext-formats - status :: DRAFT
Proposal: rfcs/salotz.016_trivial-plaintext-formats.md
Executive Summary:
A small collection of nearly trivial plaintext formats along with file extensions. Includes a line-based list format (.list) and a single-string format (.str).
- nexp ::
salotz.017_bunker - status :: DRAFT
Proposal: rfcs/salotz.017_bunker.md
Executive Summary:
Introduces the concept of a
bunkerdirectory for user-only data in $HOME (e.g..$USERor.$USER.d). Provides a safe space for customization and configuration that will not be touched by other programs.
- nexp ::
salotz.020_repo-issue-tracker - status :: DRAFT
Proposal: rfcs/salotz.020_repo-issue-tracker.md
Executive Summary:
Schema for including issue tracking sources with a project, without having to rely on outside forges.
- nexp ::
salotz.021_git-commit-messages - status :: DRAFT
Proposal: rfcs/salotz.021_git-commit-messages/README.md
Executive Summary:
Standard behaviors and markup for git commit messages, including
wip!prefix for work-in-progress commits, issue reference trailers (Completes/Progresses/References) with namespaced values, and project domains.
- nexp ::
salotz.022_ai-coding-structure - status :: DRAFT
Proposal: rfcs/salotz.022_ai-coding-structure/README.md
Executive Summary:
Provides a standard for structuring repositories to make them useful for AI-enhanced coding. Includes standard naming and schemas for folders, filenames, and content of those files. The goal is to provide useful, incremental context for LLMs that are built up for a specific coding repository.
- nexp ::
salotz.023_local-agent-context - status :: DRAFT
Proposal: rfcs/salotz.023_local-agent-context/README.md
Executive Summary:
Provides a standard for specifying local AI agent context injection. Includes standardization of standard linux style home directories and mechanisms for local overrides of git repo context.
- nexp ::
salotz.024_extended_xdg_base_directory - status :: DRAFT
Proposal: rfcs/salotz.024_extended_xdg_base_directory/README.md
Executive Summary:
This RFC extends the XDG Base Directory Specification with additional user-local directories and environment variables (prefixed
XDGX_) for common use cases not covered by the base spec. It defines~/.local/opt(orXDGX_OPT_HOME) for ad-hoc user-managed software installs,~/.local/tmp(XDGX_TMP_HOME) as a user-local temporary directory distinct from the system/tmp,~/.local/scratch(XDGX_SCRATCH_HOME) for ephemeral batch-process scratch space, and~/.local/varfor variable/persistent data akin to the FHS/var. Includes recommendations for snapshotting, cleanup policies, and usage to improve system organization, backup strategies, and performance.
- nexp ::
salotz.025_host-domain-organization - status :: DRAFT
Proposal: rfcs/salotz.025_host-domain-organization/README.md
Executive Summary:
Provides guidelines for organizing project work on host systems. Distinguishes local (host-only) and remote (shared/persisted, e.g. git) work. Defines scratch space, domains (e.g. personal vs work contexts), inboxes, and staging ("outbox") areas. Recommends
~/scratchand~/local/workfor local;~/tree/<domain>/(withdevel/,projects/,admin/) for remote work organized by domain; and inbox/outbox under~/Downloads,~/local/, or domain trees.
- nexp ::
salotz.026_domain-local-configuration - status :: DRAFT
Proposal: rfcs/salotz.026_domain-local-configuration/README.md
Executive Summary:
Provides a standard mechanism for host-local, domain-scoped configuration using a
.localdirectory alongside project trees (e.g.~/tree/<domain>/...). Enables sharing configuration across git worktrees or sub-projects without duplication. Complements tools like direnv for managing per-directory overrides that are intentionally not committed to remote repositories.