About basmilius
basmilius is a set of guides for using the @basmilius npm packages across utilities, typed HTTP data access, and Vue 3 application primitives. It helps developers working with these packages find the relevant guide and patterns for each layer.
Key features
- 01Framework-agnostic utility guidance
- 02Typed DTO and HTTP service patterns
- 03Vue 3 store and composable guidance
- 04Package-specific reference catalogs
- 05Cross-layer implementation recipes
Use cases
- 01Finding a helper for dates or downloads
- 02Defining DTOs, adapters, and services
- 03Building Vue data tables or forms
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ basmilius/ skills --skill basmiliusAfter installing, type/basmiliusin Claude Code to confirm it loaded.
Bundled files
References and scripts installed along with SKILL.md.
references/common-patterns.mdcommon-reference.mdcommon.mdhttp-client-patterns.mdhttp-client-reference.mdhttp-client.mdutils-function-index.mdutils.mdDetails
From the project READMEBas Milius packages
The @basmilius npm scope is one stack in three layers, each covered by a
guide in references/:
@basmilius/utils- ~45 framework-agnostic helpers (dates via Luxon, colors, numbers, downloads, DOM, timing, geo/astro, seeded PRNG). Usable in any TypeScript project.@basmilius/http-client- the typed data layer: every body a@dtoclass, every endpoint group aBaseService, raw snake_case JSON mapped by a static@adapter. Builds onutils.@basmilius/common- Vue 3 app primitives: a ref-returningdefineStore,useService+guarded,useDataTable/useDataReport,useDtoForm, a large composable catalog and thinvue-routerwrappers. Assumes Pinia and Vue Router, builds on both packages above.
Shared assumptions: a Vue 3.6 pre-release where Vue is involved (exact range per
the package's peerDependencies), luxon as a peer for dates. @flux-ui/* is a
separate library with its own skill (flux-ui); @basmilius/vite-preset is
deliberately not covered.
Routing: read the package guide before writing code
The per-package traps and judgment live in the guides, not here. Read the matching guide first, then dip into the signature/pattern files as needed:
| Working on | Read first | Then as needed |
|---|---|---|
A date/number/color/download/DOM helper, or anything imported from @basmilius/utils | references/utils.md | references/utils-function-index.md (every function with exact signatures and the browser-vs-pure split) |
| DTOs, adapters, services, requests, (de)serialization, the Vite plugin, tsconfig decorator flags | references/http-client.md | references/http-client-reference.md (full export surface), references/http-client-patterns.md (worked DTO -> adapter -> service recipes, error handling, dirty-save) |
| Stores, data tables/reports, forms, URL state, composables, router helpers, exceptions | references/common.md | references/common-reference.md (composable catalog with signatures), references/common-patterns.md (worked stores, useService, useDataTable view, useDtoForm, useUrlState) |
Tasks often span layers: a data table view touches common (useDataTable),
http-client (the service and DTOs) and sometimes utils (formatting). Read
each involved guide; they are short and cross-link where the layers meet.
Related skills
vue-build-feature/code-style- the library-neutral Vue architecture and SFC patterns these packages slot into;commonis the concrete data/state layervue-build-featuredefers to.flux-ui- the Flux UI component library (separate@flux-uiscope).