TreeMap
A free, open-source disk-space visualizer. Squarified treemap, duplicate hunting, disk-full forecasting, and cleanup that only ever moves files to the Trash.
A React calendar built on Temporal: week, month, day and agenda views with exact time zone handling.
ProductivityTypeScript · MDXGitHub @MoltenshipOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗A React 19 calendar built on the Temporal API. Time handles dates, time zones, navigation, calendar state, fast event lookups, and saving changes. Your events stay in the shape your app already uses. Week, day, month, year, and agenda views come as shadcn/ui-style source that you copy into your app and own.
Status: release candidate. The packages are on npm as a release candidate for 1.0.0. The API can still change before 1.0.0 if the release candidate turns up problems.
pnpm add @moltenship/calendar react react-dom
You need React 19, a runtime with Temporal (Node.js 26+; a polyfill in browsers without it), and
TypeScript 6+ with "lib": ["ESNext"].
The smallest calendar, with a hand-written view. The Quick start uses the built-in views instead.
import {
createCalendar,
defineCalendarView,
defineEventAdapter,
plainDateInterval,
} from "@moltenship/calendar";
interface Meeting {
id: string;
title: string;
start: Temporal.Instant;
end: Temporal.Instant;
}
const eventAdapter = defineEventAdapter<Meeting>()({
getId: (meeting) => meeting.id,
getTitle: (meeting) => meeting.title,
getInterval: (meeting) => ({ kind: "timed", start: meeting.start, end: meeting.end }),
getResourceIds: () => [],
});
// A minimal view: the meetings on the visible day.
const dayView = defineCalendarView({
name: "day",
strategy: {
getRange: (date) => plainDateInterval(date, date.add({ days: 1 })),
navigate: (date, delta) => date.add({ days: delta }),
getTitle: (range, { locale }) => range.start.toLocaleString(locale, { dateStyle: "full" }),
project: ({ snapshot, instantRange }) => snapshot.queryTimed(instantRange),
},
Renderer: ({ projection }) => (
<ul>
{projection.map((meeting) => (
<li key={meeting.id}>{meeting.title}</li>
))}
</ul>
),
});
const Calendar = createCalendar<Meeting>()({ eventAdapter, views: [dayView] });
export function MeetingCalendar({ meetings }: { meetings: readonly Meeting[] }) {
return (
<Calendar.Root
events={meetings}
defaultAnchorDate={Temporal.PlainDate.from("2026-10-08")}
defaultTimeZone="Europe/Berlin"
locale="en-US"
weekRules={{ firstDay: 1, minimalDays: 4, weekend: [6, 7] }}
>
<Calendar.PreviousTrigger>Previous</Calendar.PreviousTrigger>
<Calendar.Title />
<Calendar.NextTrigger>Next</Calendar.NextTrigger>
<Calendar.ActiveView />
</Calendar.Root>
);
}
Read the docs at time.molten.sh. Good places to start:
The live demo is a Google Calendar-style app built from
the same views. Its source is in apps/demo.
To work on the docs, run vp run dev and edit the MDX in
apps/showcase/content/docs. Start the demo with
vp run demo#dev.
The repository uses the Vite+ toolchain (vp) and Node.js 26.
vp install # install dependencies
vp check # format, lint, and type-check
vp test # run the tests
vp run ready # everything CI runs
vp run ready:full # the release gate
architecture.md is the design the project is building toward.docs/adr records individual design decisions.docs/internal has contributor notes: quality gates, package layout,
benchmarks, and verification records.CHANGELOG.md has 1.0.0-rc.1's.MIT. @moltenship/ics also bundles Unicode CLDR data under the Unicode License v3, so
it's MIT AND Unicode-3.0; see its
THIRD-PARTY-NOTICES.md.