deskssh 0.0.1 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. package/README.md +26 -55
  2. package/bin/deskssh.js +36 -0
  3. package/dist/server.js +851 -0
  4. package/dist/web/assets/index-Bf6XF_tt.css +32 -0
  5. package/dist/web/assets/index-D17lV7-E.js +234 -0
  6. package/{packages/web/dist → dist/web}/index.html +3 -2
  7. package/package.json +34 -38
  8. package/.eslintrc.cjs +0 -21
  9. package/.github/workflows/ci.yml +0 -40
  10. package/.prettierignore +0 -5
  11. package/.prettierrc.json +0 -6
  12. package/CONTRIBUTING.md +0 -59
  13. package/LICENSE +0 -661
  14. package/packages/cli/README.md +0 -11
  15. package/packages/cli/bin/deskssh.js +0 -12
  16. package/packages/cli/package.json +0 -37
  17. package/packages/core/dist/index.d.ts +0 -2
  18. package/packages/core/dist/index.d.ts.map +0 -1
  19. package/packages/core/dist/index.js +0 -6
  20. package/packages/core/dist/index.js.map +0 -1
  21. package/packages/core/package.json +0 -22
  22. package/packages/core/src/index.test.ts +0 -8
  23. package/packages/core/src/index.ts +0 -6
  24. package/packages/core/tsconfig.json +0 -9
  25. package/packages/server/dist/index.d.ts +0 -3
  26. package/packages/server/dist/index.d.ts.map +0 -1
  27. package/packages/server/dist/index.js +0 -7
  28. package/packages/server/dist/index.js.map +0 -1
  29. package/packages/server/package.json +0 -19
  30. package/packages/server/src/index.ts +0 -8
  31. package/packages/server/tsconfig.json +0 -10
  32. package/packages/web/dist/assets/index-DNUNZ8WK.js +0 -65
  33. package/packages/web/index.html +0 -12
  34. package/packages/web/node_modules/.bin/browserslist +0 -17
  35. package/packages/web/node_modules/.bin/vite +0 -17
  36. package/packages/web/package.json +0 -27
  37. package/packages/web/src/App.tsx +0 -17
  38. package/packages/web/src/i18n/en.ts +0 -8
  39. package/packages/web/src/i18n/es.ts +0 -7
  40. package/packages/web/src/i18n/index.ts +0 -27
  41. package/packages/web/src/main.tsx +0 -12
  42. package/packages/web/tsconfig.json +0 -14
  43. package/packages/web/vite.config.ts +0 -6
  44. package/pnpm-workspace.yaml +0 -2
  45. package/specs/001-core/plan.md +0 -246
  46. package/specs/001-core/spec.md +0 -206
  47. package/specs/001-core/tasks.md +0 -110
  48. package/specs/constitution.md +0 -110
  49. package/specs/glossary.md +0 -35
  50. package/specs/vision.md +0 -145
  51. package/tsconfig.base.json +0 -23
  52. package/tsconfig.json +0 -4
  53. package/vitest.config.ts +0 -7
@@ -1,10 +1,11 @@
1
1
  <!doctype html>
2
- <html lang="en">
2
+ <html lang="en" class="dark">
3
3
  <head>
4
4
  <meta charset="UTF-8" />
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
6
  <title>DeskSSH</title>
7
- <script type="module" crossorigin src="/assets/index-DNUNZ8WK.js"></script>
7
+ <script type="module" crossorigin src="/assets/index-D17lV7-E.js"></script>
8
+ <link rel="stylesheet" crossorigin href="/assets/index-Bf6XF_tt.css">
8
9
  </head>
9
10
  <body>
10
11
  <div id="root"></div>
package/package.json CHANGED
@@ -1,51 +1,47 @@
1
1
  {
2
2
  "name": "deskssh",
3
- "version": "0.0.1",
4
- "private": false,
5
- "description": "A graphical desktop over plain SSH — workspace root",
3
+ "version": "0.1.0",
4
+ "description": "A graphical desktop over plain SSH — run it locally and manage your servers from the browser.",
6
5
  "license": "AGPL-3.0-or-later",
7
6
  "type": "module",
8
- "engines": {
9
- "node": ">=20"
10
- },
11
- "packageManager": "pnpm@9.15.9",
12
- "scripts": {
13
- "build": "pnpm -r build",
14
- "test": "vitest run",
15
- "test:watch": "vitest",
16
- "typecheck": "tsc -b",
17
- "lint": "eslint .",
18
- "format": "prettier --write .",
19
- "format:check": "prettier --check ."
20
- },
21
- "devDependencies": {
22
- "@types/node": "^20.14.0",
23
- "@typescript-eslint/eslint-plugin": "^7.13.0",
24
- "@typescript-eslint/parser": "^7.13.0",
25
- "eslint": "^8.57.0",
26
- "eslint-config-prettier": "^9.1.0",
27
- "prettier": "^3.3.2",
28
- "typescript": "^5.4.5",
29
- "vitest": "^1.6.0"
30
- },
31
- "main": "index.js",
32
- "dependencies": {
33
- "eslint-scope": "^7.2.2",
34
- "eslint-visitor-keys": "^3.4.3"
35
- },
36
- "repository": {
37
- "type": "git",
38
- "url": "git+https://github.com/nestorrguez/DeskSSH.git"
7
+ "bin": {
8
+ "deskssh": "bin/deskssh.js"
39
9
  },
10
+ "files": [
11
+ "bin",
12
+ "dist",
13
+ "README.md"
14
+ ],
40
15
  "keywords": [
41
16
  "ssh",
42
- "desk",
17
+ "sftp",
43
18
  "gui",
44
- "client"
19
+ "desktop",
20
+ "sysadmin",
21
+ "devops",
22
+ "agentless"
45
23
  ],
46
- "author": "Nestor Rodriguez",
24
+ "homepage": "https://github.com/nestorrguez/DeskSSH",
25
+ "repository": {
26
+ "type": "git",
27
+ "url": "git+https://github.com/nestorrguez/DeskSSH.git"
28
+ },
47
29
  "bugs": {
48
30
  "url": "https://github.com/nestorrguez/DeskSSH/issues"
49
31
  },
50
- "homepage": "https://github.com/nestorrguez/DeskSSH#readme"
32
+ "engines": {
33
+ "node": ">=20"
34
+ },
35
+ "scripts": {
36
+ "build": "true",
37
+ "bundle": "node build.mjs",
38
+ "prepack": "node build.mjs"
39
+ },
40
+ "dependencies": {
41
+ "ssh2": "^1.15.0",
42
+ "ws": "^8.21.0"
43
+ },
44
+ "devDependencies": {
45
+ "esbuild": "^0.28.1"
46
+ }
51
47
  }
package/.eslintrc.cjs DELETED
@@ -1,21 +0,0 @@
1
- /* eslint-env node */
2
- module.exports = {
3
- root: true,
4
- parser: '@typescript-eslint/parser',
5
- parserOptions: {
6
- ecmaVersion: 2022,
7
- sourceType: 'module',
8
- ecmaFeatures: { jsx: true },
9
- },
10
- plugins: ['@typescript-eslint'],
11
- extends: ['eslint:recommended', 'plugin:@typescript-eslint/recommended', 'prettier'],
12
- env: {
13
- es2022: true,
14
- node: true,
15
- browser: true,
16
- },
17
- ignorePatterns: ['dist', 'node_modules', '*.cjs'],
18
- rules: {
19
- '@typescript-eslint/no-unused-vars': ['error', { argsIgnorePattern: '^_' }],
20
- },
21
- };
@@ -1,40 +0,0 @@
1
- name: CI
2
-
3
- on:
4
- push:
5
- branches: [main]
6
- pull_request:
7
- branches: [main]
8
-
9
- jobs:
10
- build:
11
- runs-on: ubuntu-latest
12
- steps:
13
- - uses: actions/checkout@v4
14
-
15
- - name: Setup pnpm
16
- uses: pnpm/action-setup@v4
17
-
18
- - name: Setup Node.js
19
- uses: actions/setup-node@v4
20
- with:
21
- node-version: 22
22
- cache: pnpm
23
-
24
- - name: Install dependencies
25
- run: pnpm install --frozen-lockfile
26
-
27
- - name: Format check
28
- run: pnpm format:check
29
-
30
- - name: Lint
31
- run: pnpm lint
32
-
33
- - name: Typecheck
34
- run: pnpm typecheck && pnpm --filter @deskssh/web typecheck
35
-
36
- - name: Test
37
- run: pnpm test
38
-
39
- - name: Build
40
- run: pnpm build
package/.prettierignore DELETED
@@ -1,5 +0,0 @@
1
- node_modules
2
- dist
3
- build
4
- pnpm-lock.yaml
5
- LICENSE
package/.prettierrc.json DELETED
@@ -1,6 +0,0 @@
1
- {
2
- "semi": true,
3
- "singleQuote": true,
4
- "trailingComma": "all",
5
- "printWidth": 100
6
- }
package/CONTRIBUTING.md DELETED
@@ -1,59 +0,0 @@
1
- # Contributing to DeskSSH
2
-
3
- Thanks for your interest in DeskSSH! This project is built with **Spec-Driven
4
- Development (SDD)**: design decisions are made in `specs/` **before** they reach the
5
- code. That keeps the project coherent and lets anyone understand _why_ things are
6
- the way they are.
7
-
8
- ## Ground rules
9
-
10
- - **English only** in the repository (code, comments, docs, commit messages, specs).
11
- The repo is public and international.
12
- - **Read the specs first.** Start with [`specs/vision.md`](specs/vision.md) and
13
- [`specs/constitution.md`](specs/constitution.md). The constitution lists
14
- **non-negotiable** principles — if a change conflicts with one, it won't be
15
- accepted unless the constitution is explicitly amended.
16
- - **Spec before code.** No behavior change lands without the spec being updated
17
- first. For a non-trivial change, open a discussion/PR on the relevant document in
18
- `specs/` before writing code.
19
- - **Traceability.** Functional requirements have IDs (`FR-XXX`). Reference the
20
- `FR-`/Article a change serves in the spec, tasks and PR description.
21
-
22
- ## Project layout
23
-
24
- ```
25
- specs/ Source of truth (vision, constitution, glossary, 001-core/*)
26
- packages/
27
- core/ Frontend-agnostic core (SSH sessions, adapters, contract)
28
- server/ Web gateway (keeps SSH sessions, exposes the API)
29
- web/ Browser UI (desktop shell + app views)
30
- ```
31
-
32
- ## Local development
33
-
34
- Requirements: **Node.js >= 20** and **pnpm 9** (`corepack enable pnpm` or
35
- `npm i -g pnpm@9`).
36
-
37
- ```bash
38
- pnpm install # install all workspaces
39
- pnpm typecheck # type-check core + server
40
- pnpm lint # ESLint
41
- pnpm test # Vitest
42
- pnpm build # build all packages
43
- pnpm format # apply Prettier
44
- ```
45
-
46
- CI runs format-check, lint, typecheck, test and build on every push/PR — please make
47
- sure they pass locally first.
48
-
49
- ## Commits & pull requests
50
-
51
- - Keep commits focused; write clear messages in English.
52
- - Describe **what** and **why**, and reference the `FR-`/Article involved.
53
- - Be kind and constructive. DeskSSH aims to be a welcoming, accessibility-first
54
- project.
55
-
56
- ## License
57
-
58
- By contributing, you agree that your contributions are licensed under
59
- **AGPL-3.0-or-later**, the project's license.