npm analyzed 1.53.9

@pixelbyte-software/pixcode

v1.53.9
npm

Self-hosted AI coding agent control room for Claude Code, Cursor CLI, OpenAI Codex, Gemini CLI, Qwen Code, and OpenCode with chat, files, shell, Git, orchestration, API keys, Telegram, MCP, plugins, themes, and desktop/server deployment.

maintainer
alicomert
license
AGPL-3.0-or-later
first seen
2026-06-02
last seen
2026-06-16
releases · 30d
59
short id

Drift inferred · capture-to-capture

No drift recorded — single capability capture; advisories appear once its surface changes.

capabilities 0 tools
transport stdio · http counts 0 tools · 0 res · 0 prompts permission surface via code analysis

no tools enumerated yet for this server.

skills & danger signals npm-tarball
prompt-surface shipped agent-instruction files + hidden-content / dangerous-code findings — quoted from the analyzed source

analyzed v1.53.9 · analyzer v18 · 10h ago

danger signals2

code evidence v1.53.9 · npm-tarball
evidence-backed findings quoted directly from the published source artifact — not inferred

filesystem 115

  • fs package/dist-server/server/claude-sdk.js :15 import { existsSync, readFileSync, promises as fs } from 'fs';
  • fs package/dist-server/server/cli.js :16 import fs from 'fs';
  • fs package/dist-server/server/daemon-manager.js :1 import fs from 'fs';
  • fs package/dist-server/server/daemon/manager.js :1 import fs from 'fs';
  • fs package/dist-server/server/database/db.js :2 import fs from 'node:fs';
  • fs package/dist-server/server/database/json-store.js :1 import fs from 'node:fs';
  • fs package/dist-server/server/gemini-cli.js :2 import { promises as fs } from 'fs';
  • fs package/dist-server/server/index.js :5 import fs, { promises as fsPromises } from 'fs';
  • fs package/dist-server/server/load-env.js :2 import fs from 'fs';
  • fs package/dist-server/server/modules/orchestration/a2a/agent-card.js :4 import { readFileSync } from 'node:fs';
  • fs package/dist-server/server/modules/orchestration/workflows/workflow-store.js :1 import fs from 'node:fs';
  • fs package/dist-server/server/modules/orchestration/workflows/workspace-target.js :1 import { readFileSync } from 'node:fs';
  • fs package/dist-server/server/modules/orchestration/workspace/path-safety.js :1 import fs from 'node:fs';
  • fs package/dist-server/server/modules/orchestration/workspace/workspace-manager.js :1 import fs from 'node:fs';
  • fs package/dist-server/server/modules/orchestration/workspace/worktree-workspace.js :2 import fs from 'node:fs/promises';
  • fs package/dist-server/server/modules/providers/list/claude/claude-auth.provider.js :2 import { readFile } from 'node:fs/promises';
  • fs package/dist-server/server/modules/providers/list/codex/codex-auth.provider.js :2 import { readFile } from 'node:fs/promises';
  • fs package/dist-server/server/modules/providers/list/codex/codex-mcp.provider.js :1 import { mkdir, readFile, writeFile } from 'node:fs/promises';
  • fs package/dist-server/server/modules/providers/list/gemini/gemini-auth.provider.js :2 import { readFile } from 'node:fs/promises';
  • fs package/dist-server/server/modules/providers/list/opencode/opencode-auth.provider.js :2 import { readFile } from 'node:fs/promises';
  • fs package/dist-server/server/modules/providers/list/qwen/qwen-auth.provider.js :2 import { readFile } from 'node:fs/promises';
  • fs package/dist-server/server/modules/providers/provider.routes.js :16 import fs from 'node:fs/promises';
  • fs package/dist-server/server/openai-codex.js :15 import { accessSync, constants } from 'node:fs';
  • fs package/dist-server/server/opencode-cli.js :23 import { promises as fs } from 'fs';
  • fs package/dist-server/server/projects.js :59 import fsSync, { promises as fs } from 'fs';
  • fs package/dist-server/server/qwen-code-cli.js :12 import { promises as fs } from 'fs';
  • fs package/dist-server/server/routes/agent.js :4 import { promises as fs } from 'fs';
  • fs package/dist-server/server/routes/commands.js :1 import { promises as fs } from 'fs';
  • fs package/dist-server/server/routes/cursor.js :1 import { promises as fs } from 'fs';
  • fs package/dist-server/server/routes/git.js :3 import { promises as fs } from 'fs';
  • fs package/dist-server/server/routes/live-view.js :1 import { promises as fs } from 'node:fs';
  • fs package/dist-server/server/routes/plugins.js :3 import fs from 'fs';
  • fs package/dist-server/server/routes/projects.js :1 import { promises as fs } from 'fs';
  • fs package/dist-server/server/services/external-access.js :2 import fs from 'node:fs/promises';
  • fs package/dist-server/server/services/install-jobs.js :36 import fs from 'node:fs';
  • fs package/dist-server/server/services/live-view.js :3 import { promises as fs } from 'node:fs';
  • fs package/dist-server/server/services/managed-runtimes.js :2 import { promises as fs } from 'node:fs';
  • fs package/dist-server/server/services/provider-credentials.js :1 import { promises as fs } from 'node:fs';
  • fs package/dist-server/server/services/provider-models.js :18 import { promises as fs } from 'node:fs';
  • fs package/dist-server/server/services/runtime-manager.js :2 import fs from 'node:fs';
  • fs package/dist-server/server/services/startup-update.js :1 import fs from 'node:fs';
  • fs package/dist-server/server/sessionManager.js :1 import { promises as fs } from 'fs';
  • fs package/dist-server/server/shared/utils.js :2 import { mkdir, readFile, writeFile } from 'node:fs/promises';
  • fs package/dist-server/server/utils/commandParser.js :1 import { promises as fs } from 'fs';
  • fs package/dist-server/server/utils/plugin-loader.js :1 import fs from 'fs';
  • fs package/dist-server/server/utils/port-access.js :2 import fs from 'fs';
  • fs package/dist/generate-icons.js :1 const fs = require('fs');
  • fs package/scripts/fix-node-pty.js :12 import { promises as fs } from 'fs';
  • fs package/scripts/github/create-v1.38-issues.mjs :2 import fs from 'node:fs';
  • fs package/scripts/smoke/changes-panel-layout.mjs :4 import { readFileSync } from 'node:fs';
  • fs package/scripts/smoke/chat-composer-fixed-layout.mjs :4 import { readFileSync } from 'node:fs';
  • fs package/scripts/smoke/chat-realtime-hydration.mjs :4 import { readFileSync } from 'node:fs';
  • fs package/scripts/smoke/chat-session-provider-pools.mjs :2 import { readFileSync } from 'node:fs';
  • fs package/scripts/smoke/chat-session-state.mjs :3 import { readFileSync } from 'node:fs';
  • fs package/scripts/smoke/code-editor-theme.mjs :2 import fs from 'node:fs';
  • fs package/scripts/smoke/code-editor-vscode-engine.mjs :2 import fs from 'node:fs';
  • fs package/scripts/smoke/command-center-agent-writes.mjs :4 import { readFileSync } from 'node:fs';
  • fs package/scripts/smoke/command-center-non-git.mjs :4 import { readFileSync } from 'node:fs';
  • fs package/scripts/smoke/context-packet.mjs :4 import fs from 'node:fs';
  • fs package/scripts/smoke/control-room-ux-redesign.mjs :4 import fs from 'node:fs';
  • fs package/scripts/smoke/default-landing-routing.mjs :4 import fs from 'node:fs';
  • fs package/scripts/smoke/desktop-native-notifications.mjs :1 import fs from 'node:fs';
  • fs package/scripts/smoke/desktop-tray-icon.mjs :2 import { readFileSync } from 'node:fs';
  • fs package/scripts/smoke/discord-release-workflow.mjs :2 import fs from 'node:fs';
  • fs package/scripts/smoke/git-install-update.mjs :3 import fs from 'node:fs';
  • fs package/scripts/smoke/handoff-artifact-protocol.mjs :4 import fs from 'node:fs';
  • fs package/scripts/smoke/live-view-environment.mjs :4 import { mkdir, mkdtemp, writeFile } from 'node:fs/promises';
  • fs package/scripts/smoke/live-view-integration.mjs :1 import { access, chmod, mkdtemp, readFile, writeFile } from 'node:fs/promises';
  • fs package/scripts/smoke/mac-desktop-runtime.mjs :2 import { readFileSync } from 'node:fs';
  • fs package/scripts/smoke/mobile-tunnel-guidance.mjs :4 import { readFileSync } from 'node:fs';
  • fs package/scripts/smoke/multi-project-ui.mjs :2 import { readFileSync } from 'node:fs';
  • fs package/scripts/smoke/multi-worker-slots.mjs :4 import { readFileSync } from 'node:fs';
  • fs package/scripts/smoke/notification-center.mjs :4 import { readFileSync } from 'node:fs';
  • fs package/scripts/smoke/notification-inapp-preference.mjs :4 import { readFileSync } from 'node:fs';
  • fs package/scripts/smoke/orchestration-execution-dashboard.mjs :4 import { readFileSync } from 'node:fs';
  • fs package/scripts/smoke/orchestration-mobile-scroll.mjs :4 import { readFileSync } from 'node:fs';
  • fs package/scripts/smoke/orchestration-model-sync.mjs :4 import { readFileSync } from 'node:fs';
  • fs package/scripts/smoke/orchestration-permission-fallback.mjs :2 import { readFileSync } from 'node:fs';
  • fs package/scripts/smoke/orchestration-runtime-guards.mjs :4 import { readFileSync } from 'node:fs';
  • fs package/scripts/smoke/orchestration-user-facing-output.mjs :4 import { readFileSync } from 'node:fs';
  • fs package/scripts/smoke/permission-policy.mjs :4 import fs from 'node:fs';
  • fs package/scripts/smoke/pixcode-workbench-1-48.mjs :2 import fs from 'node:fs';
  • fs package/scripts/smoke/provider-models-opencode-live.mjs :4 import { mkdtemp } from 'node:fs/promises';
  • fs package/scripts/smoke/provider-selection-status.mjs :2 import fs from 'node:fs';
  • fs package/scripts/smoke/run-state-refresh.mjs :4 import { existsSync, readFileSync } from 'node:fs';
  • fs package/scripts/smoke/runtime-manager.mjs :4 import fs from 'node:fs';
  • fs package/scripts/smoke/shell-manual-disconnect.mjs :4 import { readFileSync } from 'node:fs';
  • fs package/scripts/smoke/side-panel-editor-layout.mjs :4 import { readFileSync } from 'node:fs';
  • fs package/scripts/smoke/static-root-routing.mjs :4 import { readFileSync } from 'node:fs';
  • fs package/scripts/smoke/strict-handoff-compact.mjs :4 import { readFileSync } from 'node:fs';
  • fs package/scripts/smoke/taskmaster-config.mjs :4 import { existsSync, readFileSync } from 'node:fs';
  • fs package/scripts/smoke/telegram-control.mjs :4 import { mkdirSync, readFileSync, rmSync } from 'node:fs';
  • fs package/scripts/smoke/tunnel-persistence.mjs :4 import { readFileSync } from 'node:fs';
  • fs package/scripts/smoke/update-issue-progress.mjs :4 import { existsSync, readFileSync } from 'node:fs';
  • fs package/scripts/smoke/update-ux.mjs :3 import { readFileSync } from 'node:fs';
  • fs package/scripts/smoke/v138-completion.mjs :4 import { mkdirSync, readFileSync, rmSync } from 'node:fs';
  • fs package/scripts/smoke/v138-desktop-release-hardening.mjs :2 import fs from 'node:fs';
  • fs package/scripts/smoke/v143-remote-control.mjs :4 import fs from 'node:fs';
  • fs package/scripts/smoke/v144-production-loop.mjs :4 import fs from 'node:fs';
  • fs package/scripts/smoke/v145-platformization.mjs :4 import fs from 'node:fs';
  • fs package/scripts/smoke/v146-control-room-ui.mjs :4 import fs from 'node:fs';
  • fs package/scripts/smoke/version-modal-autoshow.mjs :4 import { readFileSync } from 'node:fs';
  • fs package/scripts/smoke/vscode-workbench-layout.mjs :1 import { existsSync, readFileSync } from 'node:fs';
  • fs package/scripts/smoke/vscode-workbench-polish.mjs :2 import fs from 'node:fs';
  • fs package/scripts/smoke/workflow-fallback-replay.mjs :4 import fs from 'node:fs';
  • fs package/scripts/smoke/workflow-templates.mjs :4 import fs from 'node:fs';
  • fs package/scripts/smoke/workflow-trace-timeline.mjs :3 import fs from 'node:fs';
  • fs package/scripts/update-git-install.mjs :3 import fs from 'node:fs';
  • fs package/server/claude-sdk.js :16 import { existsSync, readFileSync, promises as fs } from 'fs';
  • fs package/server/cli.js :17 import fs from 'fs';
  • fs package/server/daemon-manager.js :1 import fs from 'fs';
  • fs package/server/daemon/manager.js :1 import fs from 'fs';
  • fs package/server/database/db.js :2 import fs from 'node:fs';
  • fs package/server/database/json-store.js :1 import fs from 'node:fs';
  • fs package/server/gemini-cli.js :2 import { promises as fs } from 'fs';

shell / exec 41

  • shell package/dist-server/server/claude-sdk.js :172 // `child_process.spawn(command, args)` with no shell — and its own
  • shell package/dist-server/server/cli.js :20 import { spawn } from 'node:child_process';
  • shell package/dist-server/server/cursor-cli.js :1 import { spawn } from 'child_process';
  • shell package/dist-server/server/daemon-manager.js :4 import { spawnSync } from 'child_process';
  • shell package/dist-server/server/daemon/manager.js :5 import { execFileSync, spawn } from 'child_process';
  • shell package/dist-server/server/gemini-cli.js :1 import { spawn } from 'child_process';
  • shell package/dist-server/server/index.js :12 import { spawn } from 'child_process';
  • shell package/dist-server/server/modules/orchestration/preview/port-watcher.js :1 import { execFile } from 'node:child_process';
  • shell package/dist-server/server/modules/orchestration/workspace/docker-workspace.js :4 const { execFile } = await import('node:child_process');
  • shell package/dist-server/server/modules/orchestration/workspace/workspace-manager.js :18 async exec(command, args = []) {
  • shell package/dist-server/server/modules/orchestration/workspace/worktree-workspace.js :1 import { execFile } from 'node:child_process';
  • shell package/dist-server/server/modules/providers/list/cursor/cursor-auth.provider.js :63 childProcess = spawn(this.cliPath(), ['status']);
  • shell package/dist-server/server/opencode-cli.js :22 import { spawn } from 'child_process';
  • shell package/dist-server/server/qwen-code-cli.js :11 import { spawn } from 'child_process';
  • shell package/dist-server/server/routes/agent.js :1 import { spawn } from 'child_process';
  • shell package/dist-server/server/routes/git.js :1 import { spawn } from 'child_process';
  • shell package/dist-server/server/routes/projects.js :3 import { spawn } from 'child_process';
  • shell package/dist-server/server/routes/user.js :1 import { spawn } from 'child_process';
  • shell package/dist-server/server/services/external-access.js :1 import { spawn } from 'node:child_process';
  • shell package/dist-server/server/services/install-jobs.js :20 * to `process.env.PATH`. Every existing `cross-spawn(binary)` call
  • shell package/dist-server/server/services/live-view.js :1 import { spawn } from 'node:child_process';
  • shell package/dist-server/server/services/managed-runtimes.js :1 import { spawn } from 'node:child_process';
  • shell package/dist-server/server/services/platformization.js :4 import { execFile, spawn } from 'node:child_process';
  • shell package/dist-server/server/services/provider-cli-versions.js :1 import { execFile } from 'node:child_process';
  • shell package/dist-server/server/services/runtime-manager.js :1 import { spawn } from 'node:child_process';
  • shell package/dist-server/server/services/startup-update.js :3 import { spawn, spawnSync } from 'node:child_process';
  • shell package/dist-server/server/utils/commandParser.js :3 import { execFile } from 'child_process';
  • shell package/dist-server/server/utils/gitConfig.js :1 import { spawn } from 'child_process';
  • shell package/dist-server/server/utils/plugin-loader.js :4 import { spawn } from 'child_process';
  • shell package/dist-server/server/utils/plugin-process-manager.js :1 import { spawn } from 'child_process';
  • shell package/dist-server/server/utils/port-access.js :5 import { execSync } from 'child_process';
  • shell package/dist/assets/vendor-codemirror-CIYNS698.js :9 */var Ra;function em(){if(Ra)return Bi;Ra=1;var n=Jp(),e=Symbol.for("react.element"),t=Symbol.for("react.fragment"),i=Object.prototype.hasOwnProperty,r=n.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_F
  • shell package/scripts/github/create-vscode-workbench-issues.mjs :2 import { spawnSync } from 'node:child_process';
  • shell package/scripts/smoke/git-install-update.mjs :2 import { spawnSync } from 'node:child_process';
  • shell package/scripts/update-git-install.mjs :2 import { spawn } from 'node:child_process';
  • shell package/server/claude-sdk.js :210 // `child_process.spawn(command, args)` with no shell — and its own
  • shell package/server/cli.js :21 import { spawn } from 'node:child_process';
  • shell package/server/cursor-cli.js :1 import { spawn } from 'child_process';
  • shell package/server/daemon-manager.js :4 import { spawnSync } from 'child_process';
  • shell package/server/daemon/manager.js :5 import { execFileSync, spawn } from 'child_process';
  • shell package/server/gemini-cli.js :1 import { spawn } from 'child_process';

network 28

  • net package/dist-server/server/cli.js :19 import net from 'node:net';
  • net package/dist-server/server/daemon-manager.js :5 import { request } from 'node:http';
  • net package/dist-server/server/daemon/manager.js :2 import http from 'http';
  • net package/dist-server/server/index.js :8 import http from 'http';
  • net package/dist-server/server/modules/orchestration/preview/preview-proxy.js :25 const upstream = await fetch(target, {
  • net package/dist-server/server/modules/providers/list/gemini/gemini-auth.provider.js :117 const tokenRes = await fetch(`https://oauth2.googleapis.com/tokeninfo?access_token=${accessToken}`, {
  • net package/dist-server/server/modules/providers/provider.routes.js :17 import http from 'node:http';
  • net package/dist-server/server/routes/live-view.js :336 const upstream = await fetch(targetUrl, {
  • net package/dist-server/server/routes/plugins.js :2 import http from 'http';
  • net package/dist-server/server/services/live-view.js :4 import net from 'node:net';
  • net package/dist-server/server/services/managed-runtimes.js :102 const response = await fetch(url, { headers });
  • net package/dist-server/server/services/platformization.js :974 const response = await fetch(`${url}/api/auth/status`, { signal: controller.signal });
  • net package/dist-server/server/services/provider-models.js :101 const response = await fetch(endpoint, {
  • net package/dist-server/server/services/public-api-manifest.js :72 const response = await fetch(new URL(path, this.baseUrl), {
  • net package/dist-server/server/services/remote-connection.js :92 const response = await fetch(`${normalized.remoteUrl}/api/auth/status`, {
  • net package/dist-server/server/services/startup-update.js :60 const response = await fetch(registryUrl, { headers: { accept: 'application/json' } });
  • net package/dist-server/server/services/telegram/control-center.js :221 const res = await fetch(`${localApiBase()}${path}`, {
  • net package/dist-server/server/services/telegram/telegram-http-client.js :37 const res = await fetch(url, {
  • net package/dist-server/server/services/webhooks.js :140 const response = await fetch(webhook.url, {
  • net package/dist/sw.js :38 fetch(event.request).catch(() => caches.match('/manifest.json').then(() =>
  • net package/scripts/github/create-v1.38-issues.mjs :3 import https from 'node:https';
  • net package/scripts/smoke/live-view-integration.mjs :2 import net from 'node:net';
  • net package/scripts/smoke/orchestration-api.mjs :12 const response = await fetch(`${baseUrl}${path}`, {
  • net package/scripts/smoke/orchestration-live-run.mjs :45 const response = await fetch(`${baseUrl}${path}`, {
  • net package/scripts/smoke/provider-rest-api.mjs :41 const response = await fetch(`${apiUrl}/api/agent`, {
  • net package/server/cli.js :20 import net from 'node:net';
  • net package/server/daemon-manager.js :5 import { request } from 'node:http';
  • net package/server/daemon/manager.js :2 import http from 'http';

secrets 13

  • secrets package/dist-server/server/gemini-cli.js :35 const apiKey = process.env.GEMINI_API_KEY;
  • secrets package/dist-server/server/middleware/auth.js :5 const JWT_SECRET = process.env.JWT_SECRET || appConfigDb.getOrCreateJwtSecret();
  • secrets package/dist-server/server/modules/providers/list/claude/claude-auth.provider.js :90 if (process.env.ANTHROPIC_API_KEY?.trim()) {
  • secrets package/dist-server/server/modules/providers/list/gemini/gemini-auth.provider.js :62 if (process.env.GEMINI_API_KEY?.trim()) {
  • secrets package/dist-server/server/modules/providers/list/qwen/qwen-auth.provider.js :73 if (process.env.QWEN_API_KEY?.trim()) {
  • secrets package/dist-server/server/services/platformization.js :257 const material = process.env.PIXCODE_SECRET_KEY || process.env.JWT_SECRET || appConfigDb.getOrCreateJwtSecret();
  • secrets package/dist-server/server/services/provider-models.js :332 claude: process.env.ANTHROPIC_API_KEY,
  • secrets package/scripts/github/create-v1.38-issues.mjs :246 const token = process.env.GITHUB_TOKEN;
  • secrets package/scripts/github/create-vscode-workbench-issues.mjs :113 GH_TOKEN: process.env.GITHUB_TOKEN || process.env.GH_TOKEN || '',
  • secrets package/scripts/smoke/orchestration-api.mjs :4 const apiKey = process.env.PIXCODE_API_KEY;
  • secrets package/scripts/smoke/orchestration-live-run.mjs :4 const apiKey = process.env.PIXCODE_API_KEY;
  • secrets package/scripts/smoke/provider-rest-api.mjs :6 const apiKey = process.env.PIXCODE_API_KEY || process.env.PIXCODE_AGENT_API_KEY || '';
  • secrets package/server/gemini-cli.js :40 const apiKey = process.env.GEMINI_API_KEY;

database 3

  • db package/dist-server/server/database/db.js :70 const mod = require('better-sqlite3');
  • db package/dist-server/server/projects.js :64 import Database from 'better-sqlite3';
  • db package/server/database/db.js :77 const mod = require('better-sqlite3');

install hooks 1

  • postinstall package/package.json :62 node scripts/fix-node-pty.js

declared dependencies 98

  • @anthropic-ai/claude-agent-sdk@^0.2.116
  • @iarna/toml@^2.2.5
  • @octokit/rest@^22.0.0
  • @openai/codex-sdk@^0.101.0
  • bcryptjs@^3.0.3
  • better-sqlite3@^12.6.2
  • chokidar@^4.0.3
  • cors@^2.8.5
  • cross-spawn@^7.0.3
  • express@^4.18.2
  • gray-matter@^4.0.3
  • jsonwebtoken@^9.0.2
  • mime-types@^3.0.1
  • monaco-editor@^0.55.1
  • multer@^2.0.1
  • node-fetch@^2.7.0
  • node-pty@^1.2.0-beta.12
  • tar@^7.5.13
  • web-push@^3.6.7
  • ws@^8.14.2
  • @codemirror/lang-css@^6.3.1
  • @codemirror/lang-html@^6.4.9
  • @codemirror/lang-javascript@^6.2.4
  • @codemirror/lang-json@^6.0.1
  • @codemirror/lang-markdown@^6.3.3
  • @codemirror/lang-python@^6.2.1
  • @codemirror/merge@^6.11.1
  • @codemirror/theme-one-dark@^6.1.2
  • @commitlint/cli@^20.5.0
  • @commitlint/config-conventional@^20.5.0
  • @eslint/js@^9.39.3
  • @heroicons/react@^2.2.0
  • @monaco-editor/react@^4.7.0
  • @release-it/conventional-changelog@^10.0.5
  • @replit/codemirror-minimap@^0.5.2
  • @tailwindcss/typography@^0.5.16
  • @types/better-sqlite3@^7.6.13
  • @types/cross-spawn@^6.0.6
  • @types/express@^5.0.6
  • @types/node@^22.19.7
  • @types/qrcode@^1.5.6
  • @types/react@^18.2.43
  • @types/react-dom@^18.2.17
  • @uiw/react-codemirror@^4.23.13
  • @vitejs/plugin-react@^4.6.0
  • @xterm/addon-clipboard@^0.1.0
  • @xterm/addon-fit@^0.10.0
  • @xterm/addon-web-links@^0.11.0
  • @xterm/addon-webgl@^0.18.0
  • @xterm/xterm@^5.5.0
  • auto-changelog@^2.5.0
  • autoprefixer@^10.4.16
  • class-variance-authority@^0.7.1
  • clsx@^2.1.1
  • concurrently@^8.2.2
  • eslint@^9.39.3
  • eslint-import-resolver-typescript@^4.4.4
  • eslint-plugin-boundaries@^6.0.2
  • eslint-plugin-import-x@^4.16.1
  • eslint-plugin-react@^7.37.5
  • eslint-plugin-react-hooks@^7.0.1
  • eslint-plugin-react-refresh@^0.5.2
  • eslint-plugin-tailwindcss@^3.18.2
  • eslint-plugin-unused-imports@^4.4.1
  • fuse.js@^7.0.0
  • globals@^17.4.0
  • gsap@^3.12.5
  • husky@^9.1.7
  • i18next@^25.7.4
  • i18next-browser-languagedetector@^8.2.0
  • jszip@^3.10.1
  • katex@^0.16.25
  • lint-staged@^16.3.2
  • lucide-react@^0.515.0
  • node-gyp@^12.0.0
  • postcss@^8.4.32
  • qrcode@^1.5.4
  • react@^18.2.0
  • react-dom@^18.2.0
  • react-dropzone@^14.2.3
  • react-error-boundary@^4.1.2
  • react-i18next@^16.5.3
  • react-markdown@^10.1.0
  • react-router-dom@^6.8.1
  • react-syntax-highlighter@^16.1.1
  • rehype-katex@^7.0.1
  • rehype-raw@^7.0.0
  • release-it@^19.0.5
  • remark-gfm@^4.0.0
  • remark-math@^6.0.0
  • sharp@^0.34.2
  • tailwind-merge@^3.3.1
  • tailwindcss@^3.4.0
  • tsc-alias@^1.8.16
  • tsx@^4.21.0
  • typescript@^5.9.3
  • typescript-eslint@^8.56.1
  • vite@^7.0.4