Documentation
¶
Overview ¶
Package core is abcd's transport-agnostic engine. Every capability is a function taking a structured request and returning a structured result; nothing here writes to stdout or knows about a CLI, MCP, or prompt surface. The front doors under internal/surface/* marshal these results for their transport. This separation is the single constraint that lets the CLI, the markdown plugin surface, and a future MCP server share one core.
Index ¶
Constants ¶
This section is empty.
Variables ¶
var Version = "dev"
Version is abcd's version, stamped at build time via -ldflags -X (see the Makefile). It defaults to "dev" for un-stamped local builds.
Functions ¶
This section is empty.
Types ¶
type StatusInfo ¶
type StatusInfo struct {
Dir string `json:"dir"`
IsGitRepo bool `json:"is_git_repo"`
HasRecord bool `json:"has_record"` // .abcd/development present
WorkTiers []string `json:"work_tiers"` // which .abcd/ tiers exist
}
StatusInfo is the result of Status: a read-only "where am I" snapshot of a directory, mirroring abcd's bare-invocation status convention (never mutates).
func Status ¶
func Status(dir string) (StatusInfo, error)
Status inspects dir without mutating it and reports whether it is a git repo and which abcd surfaces are present.
type VersionInfo ¶
VersionInfo is the result of NewVersion.
func NewVersion ¶
func NewVersion() VersionInfo
NewVersion reports abcd's identity and build version.
Directories
¶
| Path | Synopsis |
|---|---|
|
Package ahoy is abcd's install/update engine for `abcd ahoy`.
|
Package ahoy is abcd's install/update engine for `abcd ahoy`. |
|
Package banlist is abcd's two-layer banned-names store (itd-74, spc-20).
|
Package banlist is abcd's two-layer banned-names store (itd-74, spc-20). |
|
Package capture is abcd's transport-agnostic issue-ledger engine: the write side of a per-repo issue ledger that replaces the free-form .work/issues.md.
|
Package capture is abcd's transport-agnostic issue-ledger engine: the write side of a per-repo issue ledger that replaces the free-form .work/issues.md. |
|
Package changelog is abcd's transport-agnostic release-derivation domain: the version and the changelog are facts derived from the records that shipped, not numbers and lines a human types (itd-73, spc-10).
|
Package changelog is abcd's transport-agnostic release-derivation domain: the version and the changelog are facts derived from the records that shipped, not numbers and lines a human types (itd-73, spc-10). |
|
Package cite is the live half of the citation gate: the on-demand refresh that fetches every cited URL and writes the committed baseline the zero-network docs lint then enforces offline.
|
Package cite is the live half of the citation gate: the on-demand refresh that fetches every cited URL and writes the committed baseline the zero-network docs lint then enforces offline. |
|
Package frontmatter is abcd's shared markdown-frontmatter line scanner.
|
Package frontmatter is abcd's shared markdown-frontmatter line scanner. |
|
Package glossary derives the brief glossary's own index from the term files.
|
Package glossary derives the brief glossary's own index from the term files. |
|
Package guard is abcd's transport-agnostic shell-hazard registry (itd-103, spc-16).
|
Package guard is abcd's transport-agnostic shell-hazard registry (itd-103, spc-16). |
|
Package history is abcd's native session-transcript store: the write/read/ redact engine that populates ~/.abcd/history/<root-sha>/transcripts/ and retires the specstory shim (adr-29).
|
Package history is abcd's native session-transcript store: the write/read/ redact engine that populates ~/.abcd/history/<root-sha>/transcripts/ and retires the specstory shim (adr-29). |
|
Package ideate is the deterministic frame around abcd's idea-admission protocol (itd-104, spc-18): the three-leg gauntlet an idea may be put through before it is allowed to become a record entry.
|
Package ideate is the deterministic frame around abcd's idea-admission protocol (itd-104, spc-18): the three-leg gauntlet an idea may be put through before it is allowed to become a record entry. |
|
Package identity checks that the git author identity a commit would use in a managed repo matches the identity pinned in .abcd/config/identity.json.
|
Package identity checks that the git author identity a commit would use in a managed repo matches the identity pinned in .abcd/config/identity.json. |
|
Package intent is abcd's transport-agnostic native intent store (intent lifecycle, itd-80).
|
Package intent is abcd's transport-agnostic native intent store (intent lifecycle, itd-80). |
|
Package issueschema is the issue record's frontmatter schema as DATA: the one list of properties issue.schema.json marks required, held where every gate that asks the question can read it.
|
Package issueschema is the issue record's frontmatter schema as DATA: the one list of properties issue.schema.json marks required, held where every gate that asks the question can read it. |
|
Package launch is abcd's transport-agnostic launch engine: it assembles the release bundle under a default-deny taxonomy, runs the native secret+PII scan, checks manifest lockstep, and previews newest-per-line retention — all as a dry-run that renders decisions without writing an artefact or touching the network.
|
Package launch is abcd's transport-agnostic launch engine: it assembles the release bundle under a default-deny taxonomy, runs the native secret+PII scan, checks manifest lockstep, and previews newest-per-line retention — all as a dry-run that renders decisions without writing an artefact or touching the network. |
|
scaffold
Package scaffold renders and writes the changelog-driven release machinery — release.yml, auto-release.yml, and the adr-37 runbook — into a managed repo that lacks it (itd-93, spc-14).
|
Package scaffold renders and writes the changelog-driven release machinery — release.yml, auto-release.yml, and the adr-37 runbook — into a managed repo that lacks it (itd-93, spc-14). |
|
Package lifeboat holds the brief-to-lifeboat contract and, later, the source adapters that fill it.
|
Package lifeboat holds the brief-to-lifeboat contract and, later, the source adapters that fill it. |
|
Package lint is abcd's record-drift gate: it reads a JSON config and lints the markdown design record, returning findings.
|
Package lint is abcd's record-drift gate: it reads a JSON config and lints the markdown design record, returning findings. |
|
Package memory is abcd's transport-agnostic curated-knowledge substrate at .abcd/memory/ (itd-36 / adr-13).
|
Package memory is abcd's transport-agnostic curated-knowledge substrate at .abcd/memory/ (itd-36 / adr-13). |
|
Package positioning holds a repository's canonical self-description — its title, tagline, and elevator pitch — and the deterministic check that every rendered surface still says it.
|
Package positioning holds a repository's canonical self-description — its title, tagline, and elevator pitch — and the deterministic check that every rendered surface still says it. |
|
Package record is the read side of `abcd <id>`: dispatch on a record id — iss-N, itd-N, spc-N, adr-N — and report what the record is, its links, and the concrete next move for its lifecycle state (spc-26).
|
Package record is the read side of `abcd <id>`: dispatch on a record id — iss-N, itd-N, spc-N, adr-N — and report what the record is, its links, and the concrete next move for its lifecycle state (spc-26). |
|
Package recordid is abcd's canonical home for the record-id space: the native timestamp-numeric mint (mint.go), the read-side resolver (resolve.go), and the legacy max+1 allocator support this file keeps for the families that have not yet adopted the mint seam.
|
Package recordid is abcd's canonical home for the record-id space: the native timestamp-numeric mint (mint.go), the read-side resolver (resolve.go), and the legacy max+1 allocator support this file keeps for the families that have not yet adopted the mint seam. |
|
Package release is the transport-agnostic composition of a release cut: the deterministic half of `abcd launch ship` and the whole of `abcd changelog`.
|
Package release is the transport-agnostic composition of a release cut: the deterministic half of `abcd launch ship` and the whole of `abcd changelog`. |
|
Package audit is abcd's read-only repo-conformance engine: it evaluates a set of declarative rules against a repository and returns findings.
|
Package audit is abcd's read-only repo-conformance engine: it evaluates a set of declarative rules against a repository and returns findings. |
|
Package rules is abcd's transport-agnostic modular rules loader (itd-3).
|
Package rules is abcd's transport-agnostic modular rules loader (itd-3). |
|
Package site is the home of the abcd site verb family (adr-47).
|
Package site is the home of the abcd site verb family (adr-47). |
|
Package spec is abcd's transport-agnostic native spec store (intent lifecycle, itd-64).
|
Package spec is abcd's transport-agnostic native spec store (intent lifecycle, itd-64). |
|
Package surface models abcd's public compatibility surface — the commands, flags, and manifest entries a consumer can bind to — as a transport-agnostic value that is snapshotted, committed, and diffed between releases (itd-73, spc-10).
|
Package surface models abcd's public compatibility surface — the commands, flags, and manifest entries a consumer can bind to — as a transport-agnostic value that is snapshotted, committed, and diffed between releases (itd-73, spc-10). |
|
Package update implements the core of `abcd update` (itd-130 / spc-32): a user-invoked fetch/verify/swap for the PATH-installed binary.
|
Package update implements the core of `abcd update` (itd-130 / spc-32): a user-invoked fetch/verify/swap for the PATH-installed binary. |
|
Package vintage is abcd's staleness comparator: it establishes whether the running binary is the one that should be running, by comparing the binary's own build vintage against a reference supplied by a provider.
|
Package vintage is abcd's staleness comparator: it establishes whether the running binary is the one that should be running, by comparing the binary's own build vintage against a reference supplied by a provider. |