octo-web
CLAUDE.md1.2k starsChanged 5 months agoApache-2.0View on GitHub
Octo-web is the web frontend for DMWork (enterprise IM platform). It's a pnpm monorepo with Turborepo, React + TypeScript. Global App Object: WKApp.shared is the singleton entry point for app-wide state, API clients, module registration, and navigation. ViewModel Pattern: Components use ProviderListener-based ViewModels (not Redux/Zustand): Module Registration: Each package exports a Module class registered in apps/web/src/index.tsx: DMWork uses a multi-tier mention protocol: - @所有人 (all humans) → UID sentinel -2, mention.humans=1 - @所有AI (all AIs) → UID sentinel -3, mention.ais=1…
- Installs packages
We split this CLAUDE.md into the rules it gives an agent
1 rule. About 0 are common, 0 are distinctive, and 1 is very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈0
Distinctive · estimate
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 93
Commit messages: English, Conventional Commits (feat:, fix:, etc.)
≈ “Common” is an estimate: at least 1 in 5 of the 25,680 CLAUDE.md files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
CLAUDE.md
This file provides guidance to Claude Code when working with code in this repository.
Project Overview
Octo-web is the web frontend for DMWork (enterprise IM platform). It's a pnpm monorepo with Turborepo, React + TypeScript.
- Package Manager: pnpm
- Build Tool: Vite + Turborepo
- Test Framework: Vitest
- Default Branch:
main
Common Commands
# Install dependencies
pnpm install
# Development
pnpm dev # start dev server (excludes extension)
pnpm dev:all # start all including extension
# Build
pnpm build # production build
# Test
cd apps/web && pnpm test # run vitest
# Lint
pnpm lint # turbo-orchestrated lint across all packagesArchitecture
Monorepo Structure
apps/
web/ — Main web application (Vite + React)
extension/ — Browser extension
packages/
dmworkbase/ — Core shared components (Chat, ChannelSetting, Conversation)
dmworkcontacts/ — Contacts module
dmworkdatasource/ — Data layer
dmworklogin/ — Authentication
dmworksummary/ — Summary/notes feature
dmworkappbot/ — App bot integration
eslint-config-custom/ — Shared ESLint config
tsconfig/ — Shared TS configKey Patterns
Global App Object: WKApp.shared is the singleton entry point for app-wide state, API clients, module registration, and navigation.
WKApp.shared.registerModule(new MyModule())
WKApp.apiClient.config.apiURL
WKApp.shared.currentSpaceIdViewModel Pattern: Components use ProviderListener-based ViewModels (not Redux/Zustand):
export class ChatVM extends ProviderListener {
// reactive state + business logic
}Module Registration: Each package exports a Module class registered in apps/web/src/index.tsx:
import { MyModule } from '@octo/my-package'
WKApp.shared.registerModule(new MyModule())Mention System
DMWork uses a multi-tier mention protocol:
@所有人(all humans) → UID sentinel-2,mention.humans=1@所有AI(all AIs) → UID sentinel-3,mention.ais=1@具体用户→ standard UID inmention.uids[]
Key files: voiceMention.ts, MessageInput/index.tsx, mention parsing in dmworkbase
CSS
Plain CSS files (no CSS Modules, no Tailwind). Styles co-located with components.
Coding Conventions
- Commit messages: English, Conventional Commits (
feat:,fix:, etc.) - Branch types from AGENTS.config.json:
feat,fix,refactor,chore,docs,test - Components: PascalCase directories,
index.tsxentry - ViewModels:
vm.tsorvm.tsxin component directory - Tests:
__tests__/directory or*.test.tsco-located - Imports: use workspace package names for cross-package imports:
@octo/base,@octo/contacts,@octo/datasource,@octo/login@dmwork/summary,@dmwork/appbot
- Type safety: avoid
any— use proper types orunknownwith type guards - API calls: go through
WKApp.apiClient, do NOT create separate axios/fetch instances
Trending
Steady: 0 new projects took it in the last 4 weeks, none the 4 weeks before.thin data
Who's talking about Mininglamp-OSS/octo-web
- Mininglamp-OSS/octo-marketplace“feat: forward skill source versions during recruitment”GitHub · Oct 28, 2026
- Mininglamp-OSS/octo-smart-summary“feat(summary): unify task search matching, folding and counts”GitHub · Oct 22, 2026
- Mininglamp-OSS/octo-smart-summary“feat(summary): support versioned and separate saves after optimization”GitHub · Oct 21, 2026
- Mininglamp-OSS/octo-smart-summary“feat(summary): save optimized previews as summary versions”GitHub · Oct 19, 2026
- Mininglamp-OSS/octo-server“feat(user): support gated profile contact details”GitHub · Sep 29, 2026
The biggest 5 of 17 mentions linking to the repository that our crawl found. Each line is their own headline.
See all 17
Talked about on GitHub (17 times).
On GitHub · 17
- Oct 28, 2026feat: forward skill source versions during recruitment — Mininglamp-OSS/octo-marketplace0 reactions · 1 comment
- Oct 22, 2026feat(summary): unify task search matching, folding and counts — Mininglamp-OSS/octo-smart-summary0 reactions
- Oct 21, 2026feat(summary): support versioned and separate saves after optimization — Mininglamp-OSS/octo-smart-summary0 reactions
- Oct 19, 2026feat(summary): save optimized previews as summary versions — Mininglamp-OSS/octo-smart-summary0 reactions
- Sep 29, 2026feat(user): support gated profile contact details — Mininglamp-OSS/octo-server0 reactions
12 more on GitHub
- Sep 23, 2026feat(message): aggregate unread counts by Space — Mininglamp-OSS/octo-server0 reactions · 5 comments
- Sep 23, 2026[octo-server #903] feat(message): include per-Space unread totals in conversation sync — YMJ-ML/octo-server-backlog0 reactions · 6 comments
- Sep 23, 2026feat(message): include per-Space unread totals in conversation sync — Mininglamp-OSS/octo-server0 reactions
- Aug 31, 2026feat(common): appconfig adds drive_search_on display flag — Mininglamp-OSS/octo-server0 reactions · 1 comment
- Aug 11, 2026fix(group): clear uploaded avatar on generated save — Mininglamp-OSS/octo-server0 reactions · 2 comments
- Aug 10, 2026OCT-8: expose group avatar custom fields for existing group editor — Mininglamp-OSS/octo-server0 reactions
- Aug 10, 2026fix(group): expose avatar custom fields in channel extra — Mininglamp-OSS/octo-server0 reactions · 1 comment
- Jul 23, 2026feat(mcp): add view count tracking — Mininglamp-OSS/octo-marketplace0 reactions · 1 comment
- Jul 23, 2026fix(i18n): align user-facing product terminology — Mininglamp-OSS/octo-server0 reactions · 2 comments
- Jul 2, 2026feat: add Octo (Mininglamp-OSS) product page — CiferaTeam/awesome-agents-team0 reactions
- Jun 12, 2026feat(runtime-onboarding): web endpoint 替代 BotFather /daemon 命令 — Mininglamp-OSS/octo-server0 reactions · 1 comment
- May 20, 2026fix(bot_api): GET /v1/obo/grants returns grantee_bot_name (YUJ-1358) — Mininglamp-OSS/octo-server0 reactions
In this repositoryOne other file it gives its agents.
- AGENTS.mdAGENTS.md
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

