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
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
packagedirectory in welshman, runnpm 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.