
Research
/Security News
Mini Shai-Hulud Campaign Hits Red Hat Cloud Services npm Packages
A mini Shai-Hulud campaign compromised Red Hat Cloud Services npm packages to steal developer and CI/CD secrets during installation.
@callumalpass/mdbase
Advanced tools
TypeScript implementation of the mdbase spec: a structured markdown collection with typed frontmatter, validation, queries, links, and watch/caching semantics.
This repo is a reference implementation used to run the conformance suite in ~/projects/mdbase-spec/tests.
_types/ with inheritancenpm install
npm run build
npm test
Run the synthetic profiler with default workload:
./scripts/profile.sh
Write results to a JSON file with custom sizing:
./scripts/profile.sh --files 5000 --query-iters 500 --output .ops/profile/latest.json
The profiler reports latency percentiles (p50, p95, p99), averages, and throughput for core operations (open, read, query_basic, query_formula, update, rename_update_refs, create, delete, cache_rebuild).
The public API is async. Open a collection, run operations, then close it.
import { Collection } from "mdbase";
const opened = await Collection.open("/path/to/collection");
if (opened.error) throw new Error(opened.error.message);
const collection = opened.collection!;
const read = await collection.read("notes/example.md");
const query = await collection.query({
types: ["task"],
where: "status == \"open\" && priority >= 2",
order_by: [{ field: "priority", direction: "desc" }],
});
await collection.close();
All operations are methods on Collection:
read(path)validate(path?)create({ path, frontmatter|fields, body, type|types })update({ path, fields|frontmatter, body })delete(path, { check_backlinks? })rename({ from, to, update_refs? })query({ types?, where?, order_by?, limit?, offset?, include_body?, context_file?, formulas? })batchDelete({ where, dry_run?, check_backlinks? })batchUpdate({ where?, fields?, updates?, dry_run? })backfill({ type?, where?, fields?, apply?, dry_run? })migrate({ id, dry_run? })cacheRebuild()cacheClear()close()See src/operations/collection.ts for the authoritative behavior.
Collections are configured with mdbase.yaml:
spec_version: "0.2.1"
settings:
types_folder: "_types"
migrations_folder: "_types/_migrations"
default_validation: "warn" # off | warn | error
default_strict: false
include_subfolders: true
rename_update_refs: true
cache_folder: ".mdbase"
Type definitions live in the types folder (default _types/) as markdown files with frontmatter:
---
name: task
fields:
title:
type: string
required: true
status:
type: enum
values: [open, closed]
parent:
type: link
target: task
---
Cache is async and backed by SQLite in a worker (src/cache/worker.js). It is used opportunistically to speed up reads; correctness does not depend on cache presence. Use cacheRebuild() and cacheClear() for tests or maintenance.
The conformance runner is in test/conformance.test.ts. It reads YAML test files from ~/projects/mdbase-spec/tests and executes them against this implementation.
| Project | Description |
|---|---|
| mdbase-workouts | Workout tracker with chat interface, built on mdbase |
src/operations/collection.ts main implementationsrc/expressions/ query language + evaluationsrc/links/ link parsing and body extractionsrc/config/ config loadingsrc/types/ type loading and validation helperssrc/cache/ async cache store + workertest/ conformance test runnerFAQs
TypeScript implementation of the mdbase specification
We found that @callumalpass/mdbase demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Research
/Security News
A mini Shai-Hulud campaign compromised Red Hat Cloud Services npm packages to steal developer and CI/CD secrets during installation.

Research
/Security News
The North Korean malware loader hides in a Packagist-listed package and its GitHub branch to fetch and execute remote code in a likely Contagious Interview-style lure.

Security News
The Rust project is moving toward formal rules on LLM use in contributions after months of internal debate over maintainer burden, code quality, and contributor experience.