Skip to content

Commit 2294261

Browse files
authored
Merge pull request #5 from minchodang/develop
Feat: pacakge setup and etc settings
2 parents 01c75cf + 9d00f13 commit 2294261

8 files changed

Lines changed: 321 additions & 144 deletions

File tree

.github/CODEOWNERS

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
# Global code owners
2+
* @minchodang
3+
4+
# CLI package specific
5+
/packages/cli/ @minchodang
6+
7+
# GitHub Actions and CI/CD
8+
/.github/ @minchodang
9+
10+
# Documentation
11+
/README.md @minchodang
12+
/packages/cli/README.md @minchodang
13+
14+
# Package configuration
15+
/package.json @minchodang
16+
/packages/cli/package.json @minchodang
17+
/pnpm-workspace.yaml @minchodang
18+
/turbo.json @minchodang

.github/workflows/release.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,11 @@ on:
77

88
concurrency: ${{ github.workflow }}-${{ github.ref }}
99

10+
permissions:
11+
contents: write
12+
pull-requests: write
13+
packages: write
14+
1015
jobs:
1116
release:
1217
name: Release
@@ -52,6 +57,7 @@ jobs:
5257
publish: pnpm release
5358
title: 'chore: release packages'
5459
commit: 'chore: release packages'
60+
createGithubReleases: true
5561
env:
5662
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
5763
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}

LICENSE

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
MIT License
2+
3+
Copyright (c) 2024 simple-remote-ssh
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

README.md

Lines changed: 81 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -1,85 +1,113 @@
1-
# Turborepo starter
1+
# Simple Remote SSH
22

3-
This is an official starter Turborepo.
3+
🚀 **A simple and convenient SSH connection management tool**
44

5-
## Using this example
5+
Easily manage and connect to your SSH hosts with an intuitive CLI interface. Store host configurations, manage authentication methods, and execute commands automatically upon connection.
66

7-
Run the following command:
7+
## ✨ Features
88

9-
```sh
10-
npx create-turbo@latest
9+
- 🔗 **Easy Connection**: Connect to saved hosts with a single command
10+
- 📋 **Host Management**: Add, edit, and delete SSH hosts interactively
11+
- 🎯 **Interactive Interface**: Intuitive host selection with prompts
12+
- 🔑 **Multiple Auth Methods**: SSH keys, password, or default SSH settings
13+
- 🤖 **Auto Commands**: Execute commands automatically on connection
14+
- 🏷️ **Tag System**: Organize hosts with custom tags
15+
-**Quick Access**: Short and memorable commands
16+
17+
## 📦 Installation
18+
19+
```bash
20+
# Install globally from npm
21+
npm install -g simple-remote-ssh
22+
23+
# Or using yarn
24+
yarn global add simple-remote-ssh
25+
26+
# Or using pnpm
27+
pnpm add -g simple-remote-ssh
1128
```
1229

13-
## What's inside?
30+
## 🚀 Quick Start
31+
32+
```bash
33+
# Add your first SSH host
34+
simple-ssh add
1435

15-
This Turborepo includes the following packages/apps:
36+
# List all saved hosts
37+
simple-ssh list
1638

17-
### Apps and Packages
39+
# Connect to a host (interactive selection)
40+
simple-ssh
1841

19-
- `docs`: a [Next.js](https://nextjs.org/) app
20-
- `web`: another [Next.js](https://nextjs.org/) app
21-
- `@repo/ui`: a stub React component library shared by both `web` and `docs` applications
22-
- `@repo/eslint-config`: `eslint` configurations (includes `eslint-config-next` and `eslint-config-prettier`)
23-
- `@repo/typescript-config`: `tsconfig.json`s used throughout the monorepo
42+
# Connect to specific host
43+
simple-ssh connect my-server
44+
```
2445

25-
Each package/app is 100% [TypeScript](https://www.typescriptlang.org/).
46+
## 📖 Documentation
2647

27-
### Utilities
48+
For detailed usage instructions, examples, and API reference, see the [CLI package documentation](./packages/cli/README.md).
2849

29-
This Turborepo has some additional tools already setup for you:
50+
## 🏗️ Project Structure
3051

31-
- [TypeScript](https://www.typescriptlang.org/) for static type checking
32-
- [ESLint](https://eslint.org/) for code linting
33-
- [Prettier](https://prettier.io) for code formatting
52+
This is a monorepo built with [Turborepo](https://turbo.build/) containing:
3453

35-
### Build
54+
### Packages
3655

37-
To build all apps and packages, run the following command:
56+
- **`packages/cli`** - The main CLI tool for SSH connection management
57+
- **`packages/ui`** - Shared UI components (for future extensions)
58+
- **`packages/eslint-config`** - Shared ESLint configurations
59+
- **`packages/typescript-config`** - Shared TypeScript configurations
3860

39-
```
40-
cd my-turborepo
41-
pnpm build
42-
```
61+
### Apps
4362

44-
### Develop
63+
- **`apps/docs`** - Documentation website (planned)
64+
- **`apps/web`** - Web interface (planned)
4565

46-
To develop all apps and packages, run the following command:
66+
## 🛠️ Development
4767

48-
```
49-
cd my-turborepo
68+
```bash
69+
# Install dependencies
70+
pnpm install
71+
72+
# Build all packages
73+
pnpm build
74+
75+
# Develop with watch mode
5076
pnpm dev
77+
78+
# Run tests
79+
pnpm test
80+
81+
# Lint code
82+
pnpm lint
5183
```
5284

53-
### Remote Caching
85+
## 🤝 Contributing
5486

55-
> [!TIP]
56-
> Vercel Remote Cache is free for all plans. Get started today at [vercel.com](https://vercel.com/signup?/signup?utm_source=remote-cache-sdk&utm_campaign=free_remote_cache).
87+
Contributions are welcome! Please feel free to submit a Pull Request.
5788

58-
Turborepo can use a technique known as [Remote Caching](https://turbo.build/repo/docs/core-concepts/remote-caching) to share cache artifacts across machines, enabling you to share build caches with your team and CI/CD pipelines.
89+
1. Fork the repository
90+
2. Create your feature branch (`git checkout -b feature/amazing-feature`)
91+
3. Commit your changes (`git commit -m 'Add some amazing feature'`)
92+
4. Push to the branch (`git push origin feature/amazing-feature`)
93+
5. Open a Pull Request
5994

60-
By default, Turborepo will cache locally. To enable Remote Caching you will need an account with Vercel. If you don't have an account you can [create one](https://vercel.com/signup?utm_source=turborepo-examples), then enter the following commands:
95+
## 📄 License
6196

62-
```
63-
cd my-turborepo
64-
npx turbo login
65-
```
97+
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
6698

67-
This will authenticate the Turborepo CLI with your [Vercel account](https://vercel.com/docs/concepts/personal-accounts/overview).
99+
## 👤 Author
68100

69-
Next, you can link your Turborepo to your Remote Cache by running the following command from the root of your Turborepo:
101+
**minchodang** <minsu910725@gmail.com>
70102

71-
```
72-
npx turbo link
73-
```
103+
- GitHub: [@minchodang](https://github.com/minchodang)
104+
105+
## 🔗 Links
74106

75-
## Useful Links
107+
- [npm package](https://www.npmjs.com/package/simple-remote-ssh)
108+
- [GitHub Repository](https://github.com/kangminsu/simple_remote_ssh)
109+
- [Issue Tracker](https://github.com/kangminsu/simple_remote_ssh/issues)
76110

77-
Learn more about the power of Turborepo:
111+
---
78112

79-
- [Tasks](https://turbo.build/repo/docs/core-concepts/monorepos/running-tasks)
80-
- [Caching](https://turbo.build/repo/docs/core-concepts/caching)
81-
- [Remote Caching](https://turbo.build/repo/docs/core-concepts/remote-caching)
82-
- [Filtering](https://turbo.build/repo/docs/core-concepts/monorepos/filtering)
83-
- [Configuration Options](https://turbo.build/repo/docs/reference/configuration)
84-
- [CLI Usage](https://turbo.build/repo/docs/reference/command-line-reference)
85-
# my-turbo-repo-template
113+
**Star this repository if you find it helpful!**

packages/cli/CHANGELOG.md

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
# simple-remote-ssh
2+
3+
## 0.1.1
4+
5+
### Patch Changes
6+
7+
- e499e1f: # 🎉 Simple Remote SSH v0.1.0 - Initial Release
8+
9+
## ✨ Key Features
10+
11+
### SSH Host Management
12+
13+
- **Add Host**: `simple-ssh add` - Interactive host information input
14+
- **List Hosts**: `simple-ssh list` - View saved host list
15+
- **Edit Host**: `simple-ssh edit <hostname>` - Modify host information
16+
- **Remove Host**: `simple-ssh remove <hostname>` - Delete host
17+
18+
### SSH Connection
19+
20+
- **Interactive Connection**: `simple-ssh` - Select and connect to host
21+
- **Direct Connection**: `simple-ssh connect <hostname>` - Connect directly to specific host
22+
- **Connection Options**: Username and port override support
23+
24+
### Authentication Methods
25+
26+
- **SSH Key File**: Secure key-based authentication
27+
- **Password**: Interactive password input on connection
28+
- **Default SSH Settings**: Use system default SSH configuration
29+
30+
### Additional Features
31+
32+
- **Tag System**: Host categorization and management
33+
- **Description Field**: Per-host notes
34+
- **Colorful UI**: Intuitive user interface
35+
36+
## 🚀 Installation & Usage
37+
38+
```bash
39+
# Global installation
40+
npm install -g simple-remote-ssh
41+
42+
# Usage
43+
simple-ssh --help
44+
```
45+
46+
## 💾 Configuration File
47+
48+
Host information is securely stored in `~/.ssh-easy/config.json`.

packages/cli/LICENSE

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
MIT License
2+
3+
Copyright (c) 2024 simple-remote-ssh
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

0 commit comments

Comments
 (0)