Lattice
연구를 위한 작업공간
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
A heads-up display for the Second Brain in Google Drive. Plain HTML, CSS and JavaScript with no build step, plus two small Vercel functions for the planner. The dashboard only ever asks for read-only Drive access (drive.readonly) and nothing depends on a home PC.
Two views, switched from the top bar: Dashboard (index.html) and Planner (planner.html).README 전문 보기 ↗A personal command center for the Second Brain in Google Drive. Plain HTML, CSS and JavaScript with no build step, plus small Vercel functions for the planner. The browser only ever asks for read-only Drive access (drive.readonly) and nothing depends on a home PC. The plan for version 2 is in docs/cortex-v2-spec.md.
Six tabs in the shared top bar, one clean URL each (vercel.json turns on cleanUrls), so every tab is linkable and the back button works. On screens narrower than 1100px the tabs fold into the menu button.
| Tab | Route | What it does today |
|---|---|---|
| Home | / | Today strip (date, time, weather with today's high and low), today's schedule with the largest open block, Second Brain summary, links to every tab and your quick links |
| Planner | /planner | Tasks, today, this week and this month (see below) |
| Finances | /finances | Placeholder until phase 4 |
| News | /news | Placeholder until phase 5 |
| Vault | /vault | Every note with its title and one-line summary (frontmatter name and description), type tag, filters, search and an in-app reader |
| Ops | /ops | Second Brain checklist (sweep and Muse check from Todoist), notes changed over 30 days (with a table view), Drive storage. Project cards arrive in phase 3 |
Every Home panel has a plain heading and ends with a link to the place that has the detail. Each source fails on its own: a broken weather or calendar feed shows a message in its own panel.
Signed out, Home, Finances, News, Vault and Ops show only a sign-in screen: no panels and no sample data. The Planner keeps its own dashboard key and shows nothing until the key and its routes work.
/demo)/demo is the portfolio version: every tab (/demo, /demo/planner, /demo/finances, /demo/news, /demo/vault, /demo/ops) runs the real pages with made-up sample data, so the layouts are the same as the real app on desktop and phone.
data-write="<what it does>" and the demo handles them.config.js.vercel.json rewrites the demo routes to the real pages and sends X-Robots-Tag: noindex. There is no sitemap. The old /?demo=1 link redirects to /demo.src/demo/. It uses the same TypeScript types as the real data (src/types.d.ts); npm test type-checks the demo data and the /api routes against them, so the two can't drift apart. Finances and News sample data is ready for phases 4 and 5.One screen with your Todoist tasks, today hour by hour (6 AM to 10 PM) with open time blocks, the week Sunday to Saturday on the same hours, and the month with event titles only.
@quick (under 45 minutes)@deep (45 minutes or more)Tasks labeled @system (automated, like "Brain sweep ran") are left out of every bucket, count and Home. Label names live in config/topics.json (size labels and topic labels); task-rules.js holds the shared rules Home and the Planner both use. A label in the config that doesn't exist in Todoist is ignored. Home's Top 3 shows each task's topics as text chips, and tasks with a private topic (@health, @money) show only as "Health task" or "Money task" there; full titles stay in the Planner. Until the API is set up, the planner says what is missing and shows no tasks; sample data is only on /demo/planner.
Set these in Vercel (Project → Settings → Environment Variables); .env.example explains each one:
TODOIST_TOKEN: Todoist → Settings → Integrations → Developer → API tokenGCAL_ICS_URLS: each Google Calendar's "Secret address in iCal format", comma-separated. Anyone with one of these URLs can read that calendar.DASH_KEY: any long random string. The planner asks for it once per device and remembers it there.Google's iCal feed can lag your live calendar by minutes to a few hours.
| File | Purpose |
|---|---|
index.html, home.js | Home tab |
vault.html, vault.js | Vault tab |
ops.html, ops.js | Ops tab |
finances.html, news.html, tab.js | Placeholder tabs |
planner.html, planner.css, planner.js | Planner tab |
header.js | Shared top bar and tab menu |
brain.js | Shared sign-in screen, Drive link, note types, titles and summaries |
src/demo/ | /demo: mode.js (banner, "Demo only" message, demo links and profile) and the sample data |
src/types.d.ts, tsconfig.json, test/ | Shared data types and the checks npm test runs (no build step) |
styles.css | Styling for every tab |
config/topics.json | Todoist size and topic labels, and which topics are private on Home |
task-rules.js | Shared task rules: labels, Critical, Planner buckets, Home title privacy |
config.js | Your settings: Google client ID, folder ID, weather location, quick links, routines |
hud.js | Ring clock and bar chart |
drive.js | Read-only Google Drive access |
weather.js | Weather from Open-Meteo |
api/tasks.js | Todoist tasks, labels, projects and sections for the Planner and Home (needs DASH_KEY) |
api/checks.js | Ops checklist health checks: the newest completion of "Brain sweep ran" and "Muse check ran" in the last 7 days, from Todoist's activity log (needs DASH_KEY) |
api/calendar.js | Google Calendar events from iCal feeds (needs ); also used by Home's schedule |
cortex-brain project to this repository (Settings → Git). No build command or output directory is needed; Vercel installs ical-expander for the calendar function from package.json..../auth/drive.readonly scope.https://cortex-brain-task-forge3.vercel.app)..apps.googleusercontent.com) into googleClientId in config.js. The client secret is not used.Aiming for WCAG 2.2 AA: one h1 per tab, landmarks and headings for every panel, a skip link, visible focus outlines, 44px touch targets, status shown with words and icons rather than colour alone, a table view for the activity chart, and animations switched off when the system asks for reduced motion.
DASH_KEYvercel.json | Clean URLs for the tabs, /demo routes and their noindex header |
.env.example | The three planner settings to set in Vercel |