Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TechExtensor KM — MVP

A local-only documentation manager for evaluating whether this system is comfortable to use before committing to full development.

  • One user. No login. No backend. No database.
  • Everything persists in your browser's localStorage (key: txkm-data).
  • Runs entirely with npm run dev.

This is an evaluation prototype, not production code. Auth, multi-user collaboration, AI, real databases, and deployment are intentionally out of scope.


Stack

Layer Choice
Framework Next.js 14 (App Router)
Editor BlockNote 0.17 (Notion-like)
UI MUI v6
State Zustand + persist → localStorage
Search Fuse.js (client-side fuzzy)

Getting started

npm install
npm run dev
# open http://localhost:3000

On first launch you'll see a welcome screen — create your first space to begin.

What you can do

  • Spaces — top-level containers (e.g. "TAF Documentation"). Create from the sidebar or welcome screen.
  • Pages — rich documents inside a space, nestable into a tree. Create via the sidebar +, the space home "New Page" button, or the N shortcut.
  • Editing — click the H1 title to rename (auto-updates the slug + sidebar). The body uses BlockNote: type / for slash commands, tables, headings, etc. Changes auto-save ~1.5s after you stop typing ("Saving…" → "Saved").
  • Metadata — each page has a Draft/Published status, a free-text doc type, and tags. All save on blur.
  • Search — press ⌘K / Ctrl+K for the command palette, or visit /search. Fuzzy search across titles, content, tags, and space names.
  • Organise — collapse the sidebar for more writing room; rename pages inline (double-click in the tree); delete with a confirmation that lists affected subpages.
  • Export — the Export button on any page downloads it as Markdown.

Project structure

src/
├── app/
│   ├── layout.tsx                     # Root layout (Providers + AppShell)
│   ├── page.tsx                       # Welcome / redirect to first space
│   ├── [spaceSlug]/page.tsx           # Space home — page card grid
│   ├── [spaceSlug]/[pageSlug]/page.tsx# Document page (editor)
│   └── search/page.tsx                # Full search results
├── components/
│   ├── layout/   AppShell, Sidebar, NewSpaceDialog
│   ├── editor/   DocEditor (BlockNote + auto-save)
│   ├── pages/    PageHeader, PageCard, Breadcrumbs, AutoSaveIndicator, NewPageDialog
│   ├── search/   CommandPalette (⌘K)
│   └── common/   ConfirmDeleteDialog
├── store/        docs.store.ts (persisted), ui.store.ts, useHasHydrated.ts
├── lib/          search.ts (Fuse.js)
└── types/        index.ts

Resetting data

Everything lives under the txkm-data localStorage key. To start fresh, clear site data in your browser dev tools (Application → Local Storage), or run in the console:

localStorage.removeItem('txkm-data'); location.reload();

About

TechExtensor KM — a local-only documentation manager MVP (Next.js 14, BlockNote, MUI v6, Zustand + localStorage, Fuse.js).

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages