Files
AgentHub/AGENTS.md
T
nntrivi2001 0c2f49876d feat: v2.7.6 — edit users in one form, Settings → Account, display names, copy over plain HTTP
- Users page: one Edit user form (display name, email, role, active, a new or
  generated password, workspaces given or taken back, sign out everywhere),
  validated as a whole before anything is written (PATCH /api/users/:id,
  GET /api/users/:id); users.display_name/email added migration-safe.
- Settings → Account for every signed-in user: profile, own password (the
  current one required, this login kept), sign out other devices
  (/api/me/account, /api/me/password, /api/me/sign-out-others; login cookie
  only, never a pane token).
- Display names wherever a person is named (sidebar, workspace owner groups,
  Users page and audit log); owner_display_name / reader_display additive.
- Users page: admins add and remove Claude/Codex pool accounts.
- Folder browser: an admin with their own Linux account opens in their home;
  the "Server folder" tick opens the host's (never remembered).
- AI Proxy: "Config 9router" beside Add profile when 9router is installed,
  opened on the dashboard's own host (GET /api/ai-proxies/9router).
- Terminal: a tmux selection reaches the clipboard over plain HTTP too
  (writeClipboard's textarea fallback, focus handed back).
- Chat: a file the session touched outside the workspace previews
  (GET /api/sessions/:id/file).
- install-system: `!requiretty` only when visudo accepts it (sudo-rs on
  Ubuntu 25.10+ rejects the setting).
- openapi.yaml regenerated; docs (API, SERVER-MODE, LANES) updated.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 17:10:29 +07:00

2.6 KiB
Raw Permalink Blame History

Codex Project Instructions

Project intent

  • Keep this repository a stable, local-first Claude Code monitoring platform.
  • Maintain correctness across hooks, API, DB, websocket, and UI.

Priorities

  • Correctness over cleverness.
  • Small, scoped, reversible diffs.
  • Preserve existing behavior unless change is requested.
  • Update docs whenever workflow or architecture changes — follow skills/update-project-docs/ automatically at the end of every change-set (README.md — Vietnamese, the default — and README.en.md; docs/OVERVIEW.md + OVERVIEW.vi.md, ARCHITECTURE, wiki + i18n + cache bump, server/client READMEs, docs/*).
  • Every applicable source file you create or update (.js/.ts/.tsx/.cjs/.mjs/.py/.sh/.css) must start with the authorship header: a truthful file overview plus the exact line @author Nguyễn Ngọc Trí Vĩ <vinnt@smartgift.vn>. See skills/file-headers/ and .claude/rules/file-headers.md; verify with bash skills/file-headers/scripts/check-headers.sh.

Workspace stage

AgentHub's codex workspaces — lanes in the API and CLI — (like every non-Claude AI tool workspace) carry no pipeline: the dashboard shows no stage for them and never infers or advances one, so there is no agenthub stage call to make while you work here as Codex.

Where to work

  • server/ for API/routes/data processing.
  • client/ for React UI behavior.
  • scripts/ for hook/install/import/cleanup utilities.

Validation expectations

  • Run only the tests the change touches, never a full suite by default (full suites take 5–6 minutes): npm run test:server -- server/__tests__/<name>.test.js, and in client/ NODE_ENV=test npx vitest related <changed files> --run (or vitest run <test file>). Docs-only changes run no tests.
  • Run a full suite (npm run test:server / npm run test:client) only when genuinely needed: the change touches something every screen uses (Layout, Sidebar, StatusBar, tailwind.config.js, global CSS, shared hooks/lib), a shared server core (server/db.js, server/index.js, auth/scope, middleware), a dependency or build/test config, or more than ~10 code files; or the user asks. The pre-commit hook already picks related vs. full tests per commit, so do not add an extra full run before committing.
  • If any check is skipped, report it explicitly.

Safety expectations

  • Keep destructive capabilities behind explicit configuration gates.
  • Never broaden destructive behavior without explicit user request.
  • Treat hook execution path as fail-safe and non-blocking.

Useful commands

  • Setup: npm run setup
  • Dev: npm run dev
  • Build/start: npm run build then npm start