TreeMap
무료 오픈소스 디스크 사용량 시각화 도구로, 사각형 트리맵·중복 파일 탐색·디스크 가득 예측·정리 시 파일을 휴지통으로만 이동한다
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기ad-suriya/weft-web-app-
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
WEFT — Workflow Execution & Focus Thread
One Goal. Every Device. One Continuous Workflow.
Cross-device work execution that remembers where you stopped. WEFT turns an
intention into a workflow that can be paused on one device and resumed — at the
exact step, with its context — on another.
Built on chrome-extension-boilerplate-react-vite by Seo Jong Hak
• Constant interruptions break the flow of work.
• Lost context forces you to reconstruct what you were doing.
• Re-seating takes time — finding the task, files, tabs, and next step again.README 전문 보기 ↗One Goal. Every Device. One Continuous Workflow.
Cross-device work execution that remembers where you stopped. WEFT turns an intention into a workflow that can be paused on one device and resumed — at the exact step, with its context — on another.
Built on chrome-extension-boilerplate-react-vite by Seo Jong Hak
Planners don't block. Blockers don't plan. WEFT does both, and it resumes your exact work state.
Goal → Workflow → Work → Context → State → Resume ↺
You describe a goal in one line. WEFT produces an ordered, trackable workflow, runs a focused work session against it, captures the context you touch (pages, references, notes), and persists all of it as work state so any surface can pick up exactly where the last one left off.
WEFT is one workflow across three connected surfaces, all syncing through the shared work state:
| Surface | Role | Where |
|---|---|---|
| Android app | Capture · Control · Resume — quick capture, app blocking, one-tap Do Not Disturb, resume | separate repo |
| Laptop dashboard | Execute · Work — command center for planning, focus sessions, and progress | dashboard/ (this repo) |
| Browser extension | Context · Evidence — capture tasks/references from webpages, stay focused, sync state | chrome-extension/ + pages/ (this repo) |
This repository contains the web dashboard and the browser extension. The Android app ships from its own repo.
├── chrome-extension/ # Extension core, manifest, background script
├── pages/ # Individual extension UI surfaces
│ ├── popup/ # Extension popup
│ ├── side-panel/ # Side panel UI
│ ├── focus-lock/ # Focus blocking / interrupt page
│ ├── task-capture/ # Context-aware capture UI
│ ├── new-tab/ options/ content*/ devtools*/
├── packages/ # Shared workspace packages
│ ├── types/ storage/ messaging/ ui/ i18n/ shared/ …
├── dashboard/
│ ├── frontend/ # React dashboard UI
│ └── backend/ # FastAPI backend (internally "Task Weave Engine")
├── scripts/ # Build / env helper scripts
└── docs/ # JUDGES.html, privacy notes
git clone https://github.com/ad-suriya/weft-web-app-.git
cd weft-web-app-
pnpm install # also creates the root .env (build flags, no secrets)
pnpm build # production build → dist/
Load it in Chrome:
chrome://extensions/dist folderFor development with HMR, run pnpm dev instead of pnpm build, then load dist.
cp dashboard/backend/.env.example dashboard/backend/.env
# fill in the two lines marked >>> FILL IN <<< and set up credentials
# (see the comments in .env.example)
cd dashboard/backend
pip install -r requirements.txt
uvicorn main:app --reload --port 8000 # http://localhost:8000
Without Firestore credentials the backend automatically uses an in-memory mock
(db_mock.py), so it still runs for local development.
cd dashboard/frontend
npm install
npm run dev # http://localhost:5173
The dashboard landing page has a "Try it instantly — no sign-up" button that mints an isolated guest session and drops you into a pre-seeded workspace (a goal, a workflow, sample tasks, one finished session). No Google account and no extension required. See docs/JUDGES.html.
pnpm zip → dist-zip/extension-<timestamp>.zipchrome://extensions/, enables Developer mode,
clicks Load unpacked, and selects the unzipped folderpnpm dev — development build with HMRpnpm build — production buildpnpm zip — build and package the extension into dist-zip/pnpm lint / pnpm lint:fix — ESLintpnpm type-check — TypeScript type checkingpnpm e2e — build, zip, and run end-to-end testsSee dashboard/backend/.env.example for every backend variable and what it does. Key ones:
GEMINI_API_KEY, GOOGLE_CLOUD_PROJECT, GEMINI_MODEL — the AI workflow engineFIREBASE_PROJECT_ID, USE_FIRESTORE, GOOGLE_APPLICATION_CREDENTIALS — storageGOOGLE_OAUTH_CLIENT_ID, GOOGLE_OAUTH_CLIENT_SECRET — Google sign-inGoogle Calendar sync (planned) — two-way sync between the generated
time-blocked schedule and the user's Google Calendar: read existing events to
avoid conflicts when scheduling focus blocks, and write planned blocks and
deadlines back as calendar events. Handled by
dashboard/backend/calendar_sync.py; needs a
Web application OAuth client with the
https://www.googleapis.com/auth/calendar.events scope.
Midnight Syntax — Suriya A D · Pratyush R · Shravanth
Built on the excellent chrome-extension-boilerplate-react-vite starter by Seo Jong Hak.
MIT
Contributions are welcome — please feel free to open a Pull Request.