hodlbod 5b8fef5b23
tests / tests (push) Failing after 5m8s
Fix NIP conformance in domain kinds; add domain docs/skill
NIP fixes:
- RelayMembers (13534): use NIP-43 `member` tags (not `p`) and set the required
  NIP-70 `-` protected tag.
- Profile (kind 0): remove display-name support entirely (getter, setter, display()
  fallback, and the search weight).
- Comment (1111): A/a tags now carry a real address, not the event id.
- BlossomServerList (10063): normalize server URLs with normalizeUrl (HTTP), not
  normalizeRelayUrl (which forced wss://).
- HandlerRecommendation (31989): fix inverted removeRecommendation filter; add
  setSupportedKind()/supportedKind() for the NIP-89 d-tag.
- Report (1984): place the report-type string on the e tag (note reports) or p tag
  (profile reports); always emit the p tag.

Docs/skills:
- Add @welshman/domain docs (docs/domain/) and the welshman-domain skill.
- Prune @welshman/util docs/skill of the moved Profile/List/Handler/Encryptable
  helpers; register domain in the sidebar, index, and skills README.
- Apply accuracy fixes to the @welshman/app docs/skill.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BsMjvv7krpZeHK1Njeneru
2026-06-20 14:55:21 +00:00
2025-04-02 10:15:49 -07:00
2025-10-13 15:08:42 -07:00
2025-09-30 15:55:18 -07:00
2023-09-20 13:52:45 -07:00
2026-06-19 22:21:06 -07:00
2025-04-02 10:15:49 -07:00
2026-06-16 12:31:46 -07:00
2025-02-28 15:30:57 -08:00
2025-04-09 11:58:29 -07:00
2025-04-09 11:58:29 -07:00
2023-03-25 11:58:52 -05:00
2026-02-25 13:13:08 -08:00
2026-05-28 11:57:52 -07:00
2026-06-10 14:31:27 -07:00
2025-04-02 10:15:49 -07:00
2026-06-18 11:41:21 -07:00
2025-04-02 10:15:49 -07:00
2025-04-08 15:11:15 -07:00
2026-06-18 11:41:21 -07:00
2025-04-09 13:47:59 -07:00

Welshman

A nostr toolkit focused on creating highly a configurable client system, extracted from the Coracle nostr client.

Linking

If you're developing an application which requires changes to welshman, you'll need to use npm link to link the two. This is an annoying process, and is only supported if using npm.

  • Clone welshman and the repository that depends on it
  • Within each package directory in welshman, run npm link
  • Within your application directory, link all welshman dependencies simultaneously (or else only one will get linked. A command that does this is: rm -rf node_modules; npm i; cat package.json|js '.dependencies|keys[]'|grep welshman|xargs npm link.

If you run npm install in your application directory, you'll need to repeat the final step above. Finally, if you're using the editor module, you may run into some dependency version conflicts. I recommend editing the command above to exclude the editor.

Agent Skills

Welshman ships with agent skills for AI coding tools. Each skill covers a specific package and is auto-loaded when relevant to your current task.

npx skills add coracle-social/welshman

This will prompt you to select which skills to install and which agent tool to install them for. Use -g to install globally across all your projects instead of just the current one.

See skills/README.md for the full list and details on how they activate.

S
Description
No description provided
Readme MIT 4.4 MiB
Languages
TypeScript 99.4%
CSS 0.3%
JavaScript 0.3%