# spiderly

> .NET (C#) boilerplate code generator that transforms an EF Core model into a fully customizable .NET (C#) + Angular web app

- **URL**: https://www.freshcrate.ai/projects/spiderly
- **Author**: filiptrivan
- **Category**: Frameworks
- **Latest version**: `v19.8.3` (2026-05-30)
- **License**: MIT
- **Source**: https://github.com/filiptrivan/spiderly
- **Homepage**: https://www.spiderly.dev
- **Language**: C#
- **GitHub**: 51 stars, 19 forks
- **Registry**: github
- **Tags**: `angular`, `azure`, `c#`, `code-generation`, `code-generator`, `crud`, `crud-generator`, `csharp`, `csharp-sourcegenerator`

## Description

.NET (C#) boilerplate code generator that transforms an EF Core model into a fully customizable .NET (C#) + Angular web app

## Recent releases

| Version | Date | Urgency | Changes |
| --- | --- | --- | --- |
| `v19.8.3` | 2026-05-30 | High | ## What's Changed  - fix(deps): restore last CI-green Angular package-lock (ab790b18) - fix(deps): regenerate Angular package-lock to repair lockfile integrity (f28d036a) - chore(deps): update readdirp to version 4.1.2 and add peer dependencies (73f5b3e4) - docs(skills): document [WithOne] one-to-one in entity-design + ef-migrations (c422ac09) - refactor(o2o): IsForeignKeyReferenceNav predicate + shared ResolveDeleteBehavior (57efb798) - docs(e2e): why codegen changes aren't done until the e2e i |
| `v19.8.2` | 2026-05-19 | High | ## What's Changed  - feat(generators): enable bulk delete on init-scaffolded User and Role lists (6600de9) - refactor(security): emit JWT user id as standard "sub" claim (905ab80) - docs(skills): explain app-layer semantics of [CascadeDelete] (60c5cb4) - refactor(generators): drop dormant sr-Latn-RS seed from init template (f58a0b8) - fix(generators): canonicalize Ng validator translation tag order (d262d9b) - feat(skills): add e2e-testing consumer skill for Playwright patterns (3e1de80) - feat( |
| `v19.8.1` | 2026-05-13 | High | ## What's Changed  - feat(editor): return image dimensions from upload endpoints (2601a13) - feat(shared): optional SameSiteMode override on ApplyCookieSettings (ac37809) - fix(generators): handle namespace-qualified nameof in [WithMany] (1ac7bf9) - chore: ignore Verify temp/lock files; drop leaked .swp blobs (ee330d7) - test(generators): snapshot tests for high-risk generators via Verify (932d2a7) - feat(generators): add SPIDERLY018 entity primary key validation (9206a0c) - feat(generators): ad |
| `v19.8.0` | 2026-05-10 | High | ## What's Changed  - fix(generators): pre-register DiskStorageService in init template (eb80520) - feat(storage): per-property storage attributes; drop Cloudinary + Azure built-ins (96ad6b9) - ci(release): enforce develop branch on release pipeline (4eb3aae)   ## Packages Published  ### NuGet Packages - [Spiderly.Shared 19.8.0](https://www.nuget.org/packages/Spiderly.Shared/19.8.0) - [Spiderly.SourceGenerators 19.8.0](https://www.nuget.org/packages/Spiderly.SourceGenerators/19.8.0) - [Spiderly.S |
| `v19.7.7` | 2026-04-28 | High | ## What's Changed  - docs(e2e-fixtures): document overlay pattern, PrimeNG v19 pitfalls, and CI debug procedure (335a02f) - docs(ng-data-table): note showMatchModes default and match-mode label resolution (f8bdbfd) - fix(e2e-fixtures): force-click boolean filter checkbox to bypass overlay reposition jitter (29a5097) - fix(e2e-fixtures): match numeric filter mode by rendered label, not translation key (4b92e97) - fix(e2e-fixtures): enable match-mode dropdown on Price column for numeric filter tes |
| `v19.7.6` | 2026-04-24 | High | ## What's Changed  - fix(e2e-fixtures): supply orderNumber on direct TaskComment saves (b60cb3b) - fix(e2e-fixtures): declare OrderNumber on TaskComment for UIOrderedOneToMany child (55b5569) - refactor(source-generators): drop namespace-based class enrollment (e2d0064) - docs(skill-custom-endpoints): prefer auto-generated TS over manual api.service.ts (6ecfc42) - test(e2e-fixtures): cover nested UIOrderedOneToMany dropdowns at two depths (8a2714f) - fix(ng-details): load MultiSelect/Dropdown op |
| `v19.7.5` | 2026-04-20 | High | ## What's Changed  - Run full solution build during spiderly init (b8904eb) - Refactor code structure for improved readability and maintainability (1659561)   ## Packages Published  ### NuGet Packages - [Spiderly.Shared 19.7.5](https://www.nuget.org/packages/Spiderly.Shared/19.7.5) - [Spiderly.SourceGenerators 19.7.5](https://www.nuget.org/packages/Spiderly.SourceGenerators/19.7.5) - [Spiderly.Security 19.7.5](https://www.nuget.org/packages/Spiderly.Security/19.7.5) - [Spiderly.Infrastructure 19 |
| `v19.7.4` | 2026-04-20 | High | ## What's Changed  - Prefix upload e2e filenames with '0-' to satisfy id-from-filename convention (0351e7e) - Require [AcceptedFileTypes] on every blob property + AVIF signature (46cc9e5) - Use real mp4 fixture for Product VideoUrl upload e2e test (da15612) - Replace hand-maintained magic-byte map with Mime-Detective (19bb31e) - Show item count in bulk delete confirmation dialog (07405d6) - Convert HangfireFailedJobNotificationFilter class comment to /// <summary> (acdbbd8) - Replace // comments |
| `v19.7.3` | 2026-04-16 | High | ## What's Changed  - Add Telegram notification for failed Hangfire jobs (3b9feb6) - Mark [M2M] junction templates with [SpiderlyEntity] (c026bf8) - Extend marker-attribute classification to Services/DataMappers/Enums (11233fe) - Scope attribute enrollment to the requested category (9597d08) - Mark e2e-fixture entities with [SpiderlyEntity] (8add013) - Switch entity/DTO/controller classification to marker attributes (529b10a) - Isolate SPIDERLY### diagnostics per entity in generators (b1b6caf) - |
| `v19.7.2` | 2026-04-10 | High | ## What's Changed  - Fix CommaSeparated filter using parent entity ID type instead of child (05fdf87) - fix: add DisablePayloadSigning to S3StorageService for R2 compatibility (0ea507a) - update: docs (a518abe) - chore: add spiderly-cli placeholder package (50662bd) - feat: handle HackerException explicitly in global exception handler (cd2d69d) - feat: better telegram error notifications handling (34d3787) - refactor: Convert rerouteToSavedObject to a class method (6ae7765)   ## Packages Publish |

## Citation

- HTML: https://www.freshcrate.ai/projects/spiderly
- Markdown: https://www.freshcrate.ai/projects/spiderly.md
- Dependencies JSON: https://www.freshcrate.ai/api/projects/spiderly/deps

_Generated by freshcrate.ai. Indexes github releases for AI-agent ecosystem packages._
