Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
65 changes: 65 additions & 0 deletions AGENTS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
# siren-node — Agent Instructions

Read this file at the start of every session. It is deliberately thin: it tells
you where the real context lives, not what the context is. Standards, patterns,
and anti-patterns live in the Navigator knowledgebase, not here.

## What This Repo Is

Official Siren SDK for Node.js and TypeScript — records affiliate and
incentive events (sales, refunds, site visits) and verifies signed webhooks
against the Siren API. Zero-runtime-dependency library published to npm as
`@novatorius/siren`; built with tsup, tested with Vitest.

- **Initiative:** `siren` (declared in `navigator.yaml`)
- **Repository:** `Novatorius/siren-node`

## Before Coding: Load the KB Context

Repo standards live in the Navigator KB, referenced from `knowledgeDependencies`
in `navigator.yaml`. They are not in your training data.

1. If `.claude/kb-context.md` exists, read it.
2. If it doesn't, generate it, then read it:

```bash
navigator kb context
```

Do not skip this step. For targeted lookups afterwards:

```bash
navigator kb search "<topic>" --initiative=siren --json
navigator kb show <id>
```

## Verification

The `ci` block in `navigator.yaml` is the contract. Run its commands before and
after every change and leave them green:

```bash
npm ci # ci.setup
npm test # ci.test
npm run typecheck # ci.lint
```

What "done" means (PR audit, testing tiers, UAT proof) is defined in the KB:
`global-definition-of-done`. Test-modification rules:
`global-unit-testing-standards-modifying-existing-tests`. Both load via kb context.

## Session End

Journal early and often, not just at the end — journals are the update feed;
discovery docs (Navigator sources) hold current state. Conventions live in the
KB: `journaling-at-novatorius` and `discovery-process`. Quick path: the `/log`
skill, or:

```bash
navigator journal submit "<summary>" "<narrative content>" \
--initiative=siren --tags=siren-node --json
```

If this session produced decisions or durable understanding, that is discovery —
capture it per `discovery-process` (journal + charter drafts), don't let it
evaporate into chat history.
1 change: 1 addition & 0 deletions CLAUDE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Read AGENTS.md.
16 changes: 16 additions & 0 deletions navigator.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
initiative: siren
ci:
setup: npm ci
test: npm test
lint: npm run typecheck
knowledgeDependencies:
- initiative: phpnomad
description: "Org-wide engineering doctrine"
critical:
- global-definition-of-done
- global-failure-and-logging-doctrine
- global-unit-testing-standards-modifying-existing-tests
- global-taxonomy-and-sdk-doctrine
- global-integration-testing-standards-introduction
- global-e2e-testing-standards-introduction
- global-pattern-decidability-doctrine
Loading