Skip to content

cluesurf/tool

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

63 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 






@cluesurf/tool

A Hackable Workshop 𐌎




Overview

Monorepo for the four desktop apps:

icon glyph app domain folder package status
β–£ term terminal tool/term/ @cluesurf/term active
β–₯ base databases tool/base/ @cluesurf/base stub
β–¦ mesh infrastructure tool/mesh/ @cluesurf/mesh stub
β–€ view logs tool/view/ @cluesurf/view stub

All four share a common platform (Electron + React + xterm.js + Tailwind). Per-app source lives at tool/<name>/code/; per-app Electron shell at tool/<name>/dock/. Shared platform packages will eventually live at the repo-root code/ folder (Phase 2).

(Just playing around with these right now, seeing how hackable and useful coulud make them 😁).

Develop Term

pnpm install                                # one-time
pnpm --filter @cluesurf/term-dock dev       # launch dev
pnpm --filter @cluesurf/term make           # build the runtime library
pnpm --filter @cluesurf/term-dock package:mac   # build Term.app
pnpm --filter @cluesurf/term-dock open      # launch the built .app
pnpm --filter @cluesurf/term ship           # release to GitHub + brew tap

Or via the root-level convenience scripts:

pnpm term:dev
pnpm term:make
pnpm term:package
pnpm term:open
pnpm term:ship
pnpm term:icons

Layout

tool/                                   # @cluesurf/tool monorepo root (this folder)
β”œβ”€β”€ package.json
β”œβ”€β”€ pnpm-workspace.yaml                 # workspaces: tool/term, tool/term/dock
β”œβ”€β”€ readme.md
└── tool/
    β”œβ”€β”€ term/                           # @cluesurf/term (the runtime library)
    β”‚   β”œβ”€β”€ code/                       # library source
    β”‚   β”‚   β”œβ”€β”€ base/                   # tree / types / ids / layout / theme
    β”‚   β”‚   β”œβ”€β”€ boot/                   # Electron main + preload entries
    β”‚   β”‚   β”œβ”€β”€ desktop/                # macOS / win / linux helpers
    β”‚   β”‚   β”œβ”€β”€ face/                   # React components (palette, find, slab, dock, …)
    β”‚   β”‚   β”œβ”€β”€ node/                   # PTY manager, state-store, paths, program
    β”‚   β”‚   β”œβ”€β”€ theme/                  # color themes (term/, dracula, monokai, …)
    β”‚   β”‚   └── tailwind/               # preset.css
    β”‚   β”œβ”€β”€ dock/                       # @cluesurf/term-dock (Electron app shell)
    β”‚   β”‚   β”œβ”€β”€ boot/                   # Electron main + preload entry points
    β”‚   β”‚   β”œβ”€β”€ call/                   # `term` CLI source + bash launcher
    β”‚   β”‚   β”œβ”€β”€ code/                   # base.tsx, main.tsx, index.html, assets/
    β”‚   β”‚   └── electron.vite.config.ts
    β”‚   β”œβ”€β”€ view/                       # term.svg, term.png (icon sources)
    β”‚   β”œβ”€β”€ task/                       # icons.sh, ship.sh, verify.sh, trust-keychain.sh
    β”‚   β”œβ”€β”€ test/                       # smoke tests + zone/ demo workspace
    β”‚   β”œβ”€β”€ note/                       # user-facing docs (concepts, hotkeys, …)
    β”‚   └── package.json
    β”œβ”€β”€ base/                           # @cluesurf/base β€” stub
    β”œβ”€β”€ mesh/                           # @cluesurf/mesh β€” stub
    └── view/                           # @cluesurf/view β€” stub

Naming conventions

  • Each app's runtime library is @cluesurf/<name> and lives at tool/<name>/code/. Published to npm.
  • Each app's Electron shell is @cluesurf/<name>-dock and lives at tool/<name>/dock/. Private β€” packaged via electron-builder into a separately-branded .app.
  • User project config lives at <project>/.tool/<name>/ β€” so a project that uses both Term and View would have .tool/term/ and .tool/view/ side by side. The umbrella .tool/ dir replaces the old .rock/.

License

GPL-3.0-or-later.

ClueSurf

Made by ClueSurf, meditating on the universe Β€. Follow the work on YouTube, X, Instagram, Substack, Facebook, and LinkedIn, and browse more of our open-source work on GitHub.

About

A Hackable Workshop 𐌎

Resources

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors