Implements NeoHaskell INTEGRATION modules under Integrations/ for a context, in the GREEN phase when a verified integration node (outbound or inbound) needs code. Covers three patterns: outbound per-trigger (nullary marker type, EntityOf instance, pure…
neohaskell/skills
SkillsMP has collected 26 skills from neohaskell/skills. Open a skill to review its source and details.
- Latest recorded source activity
- SkillsMP catalog refreshed
- skills collected
- 26
- GitHub stars
- 0
- GitHub forks
- 0
Skills in this repository
Showing 26 of 26 collected skills.
Implements a NeoHaskell QUERY / read-model module at Queries/Name.hs — the record, Json and ToSchema instances, canAccess and canView auth functions, the deriveQuery macro, and a hand-written QueryOf instance whose combine returns Update, NoOp, or Delete. Use…
The NeoHaskell COLLECTIONS cheatsheet for concrete data-structure operations: Array (no filter — use takeIf/dropIf; get returns Maybe; foldl is element-first left fold for replays), Map (set/get/contains/remove; reduce takes acc first), Text…
Designs an Event Modeling blueprint for a NeoHaskell feature and appends it ADDITIVELY to the project's event-model.json — a submodel, chapters, slices, and command/event/query/integration nodes plus edges — creating the file if absent and staying compliant…
Implements a NeoHaskell COMMAND module at Commands/Name.hs — the record, getEntityId, a three-argument decide function, EntityOf and TransportsOf type instances, and the command TH macro. Use in the GREEN phase after neohaskell-domain-modeling stubbed the…
Implements a NeoHaskell EVENT: creates the payload module Events/Name.hs (in-file type always named Event), adds the variant to the context Event.hs ADT, extends getEventEntityId with a new branch, and adds the matching case to the Entity.hs update fold. Use…
The NeoHaskell `neo` CLI subcommand-and-flag reference. Use when the user needs to know WHICH `neo` subcommand and flags to run for a tooling intent: building, running, testing, scaffolding (neo new, library vs app), locking domain files, opening the IDE, or…
Explains NeoHaskell's DEPLOYED-CODE IMMUTABILITY model and how to change a frozen domain file: the .locked-files manifest, how neo lock and the neo build pre-build gate freeze every file under Commands/ Events/ Queries/, and the exact V-BUMP rule (change…
Tells an agent how to RUN a NeoHaskell app and work with its LIVE HTTP surface. Use whenever asked to start the app / run the server, hit or POST to an endpoint, read a query, view or download the OpenAPI spec, open the Scalar docs UI, open the event-modeling…
The NeoHaskell CORE PRELUDE cheatsheet: the canonical 'import Core' module header, the Core-exported pipe / compose / append operators and their vanilla-Haskell dollar-dot equivalents, panic / Unit / unit / pass, the #{expr} fmt string-interpolation SYNTAX,…
The NeoHaskell DOMAIN-PHASE discipline for turning a failing test's implied types into precise domain types: value objects with smart constructors, ADTs that make illegal states unrepresentable, parse-don't-validate at the boundary, and the…
The top-level ENTRY POINT and orchestrator for building a whole feature in a NeoHaskell event-sourced / CQRS app, end to end. Use when the user wants to add, build, implement, or design a WHOLE feature, start a new NeoHaskell project, or fix a bug in…
The NeoHaskell per-bounded-context FOLDER and MODULE SKELETON for an event-sourced project: the thin Core.hs barrel, Entity.hs aggregate, Event.hs ADT, per-payload Events/ files (type literally named Event), lockable vs unlockable directories, the instance…
The NeoHaskell RECORDS and JSON cheatsheet: the 'data X = X { ... } deriving (Generic)' pattern, EMPTY 'instance Json.FromJSON X' / 'instance Json.ToJSON X' (never deriving/TH/anyclass, never hand-written toJSON/parseJSON), 'instance ToSchema X' on query read…
Gates a freshly-appended NeoHaskell event-model.json BEFORE any code, in three passes: PASS 1 JSON-Schema shape offline against the vendored v1 schema; PASS 2 referential integrity (edge endpoints resolve, entityId/duplicate-id/edge-endpoint-type checks,…
Registers already-implemented NeoHaskell modules as LIVE HTTP endpoints in the GREEN phase — step 6 that flips the outer hurl e2e from 404 to the expected response. Use AFTER implement-command / implement-event-and-update-entity / implement-query / implement-…
Writes the two NeoHaskell FEATURE-LEVEL specs for a slice, both PURE and IN-DOMAIN with no HTTP: an Acceptance spec (decide then Array.foldl update then combine) at step 2, and a Property spec (QuickCheck replay of the entity update fold via Array.foldl…
Writes Hurl end-to-end .hurl test files under tests/ for NeoHaskell features — POST /commands/kebab-name and GET /queries/kebab-name on localhost:8080 — with [Captures] to bind entityId, [Asserts] to verify responses, and [Options] retry for eventually-…
Writes RED-first Hspec UNIT specs for the three pure NeoHaskell building blocks in isolation — Decider (a command's decide), Projection (a query's combine), and Outbound (an integration's handleEvent) — using the Test testlib, Decider.runDecision, and…
Turns a vague NeoHaskell feature ask into a concrete, event-modeling-ready Feature Brief by running an Event Modeling DISCOVERY INTERVIEW (the 'and then what happens?' probing) — naming past-tense business facts (events), imperative commands, read models,…
Adds a NEW FIELD to an EXISTING NeoHaskell entity module backward-compatibly: the record declaration, initialState value, update fold case, and a JSON decoder that still loads OLD snapshots missing the new field. Use whenever a slice needs a field that does…
Use when adding CONFIGURATION fields or SECRETS to a NeoHaskell project: declaring a field in Config.hs with the defineConfig TH DSL, wiring it via Application.withConfig, reading it with Config.get in an integration or factory, or setting up .env /…
SCAFFOLDS the one-time CI pipeline file that runs neohaskell-code-review on every pull/merge request headlessly, with no third-party review SaaS. Use when SETTING UP automated PR review for a NeoHaskell project, wiring code review into CI, or making…
Diff-scoped PR REVIEWER for NeoHaskell event-sourced (ES/CQRS) projects. Scopes to git diff base..head, classifies each changed file, and emits severity-ranked file:line findings (blocker/major/minor/nit) with the violated rule and a fix. Catches vanilla-…
The NeoHaskell EFFECTS and ERROR-HANDLING cheatsheet: Task err value (error type first) with Task.yield / throw / andThen / runOrPanic and Task.fromIO as the IO-to-Task bridge; Result with Ok/Err; Maybe with withDefault/andThen; do-let instead of let-in or…
The per-SLICE test-first development discipline for a NeoHaskell event-sourced feature, run AFTER the event model is verified: outside-in RED then DOMAIN then GREEN then DOMAIN then REFACTOR, one assertion per test, Given-When-Then naming, strict phase…