secryn-cli 0.1.0__tar.gz → 0.1.1__tar.gz
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.
- secryn_cli-0.1.1/PKG-INFO +159 -0
- secryn_cli-0.1.1/README.md +145 -0
- {secryn_cli-0.1.0 → secryn_cli-0.1.1}/pyproject.toml +3 -2
- {secryn_cli-0.1.0 → secryn_cli-0.1.1}/secryn_cli/__init__.py +1 -1
- {secryn_cli-0.1.0 → secryn_cli-0.1.1}/secryn_cli/__main__.py +1 -1
- {secryn_cli-0.1.0 → secryn_cli-0.1.1}/secryn_cli/cli.py +1 -1
- {secryn_cli-0.1.0 → secryn_cli-0.1.1}/secryn_cli/config.py +4 -4
- secryn_cli-0.1.1/secryn_cli.egg-info/PKG-INFO +159 -0
- {secryn_cli-0.1.0 → secryn_cli-0.1.1}/secryn_cli.egg-info/SOURCES.txt +1 -0
- secryn_cli-0.1.0/PKG-INFO +0 -12
- secryn_cli-0.1.0/secryn_cli.egg-info/PKG-INFO +0 -12
- {secryn_cli-0.1.0 → secryn_cli-0.1.1}/secryn_cli/client.py +0 -0
- {secryn_cli-0.1.0 → secryn_cli-0.1.1}/secryn_cli/tests/__init__.py +0 -0
- {secryn_cli-0.1.0 → secryn_cli-0.1.1}/secryn_cli/tests/test_cli.py +0 -0
- {secryn_cli-0.1.0 → secryn_cli-0.1.1}/secryn_cli.egg-info/dependency_links.txt +0 -0
- {secryn_cli-0.1.0 → secryn_cli-0.1.1}/secryn_cli.egg-info/entry_points.txt +0 -0
- {secryn_cli-0.1.0 → secryn_cli-0.1.1}/secryn_cli.egg-info/requires.txt +0 -0
- {secryn_cli-0.1.0 → secryn_cli-0.1.1}/secryn_cli.egg-info/top_level.txt +0 -0
- {secryn_cli-0.1.0 → secryn_cli-0.1.1}/setup.cfg +0 -0
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: secryn-cli
|
|
3
|
+
Version: 0.1.1
|
|
4
|
+
Summary: Secryn CLI — manage your secrets from the terminal
|
|
5
|
+
Author: Secryn
|
|
6
|
+
License: Apache-2.0
|
|
7
|
+
Project-URL: Repository, https://github.com/P4ciuf/secryn
|
|
8
|
+
Requires-Python: >=3.10
|
|
9
|
+
Description-Content-Type: text/markdown
|
|
10
|
+
Requires-Dist: click>=8.0
|
|
11
|
+
Requires-Dist: requests>=2.28
|
|
12
|
+
Provides-Extra: dev
|
|
13
|
+
Requires-Dist: ruff>=0.11; extra == "dev"
|
|
14
|
+
|
|
15
|
+
# Secryn CLI
|
|
16
|
+
|
|
17
|
+
[](https://pypi.org/project/secryn-cli/)
|
|
18
|
+
[](https://pypi.org/project/secryn-cli/)
|
|
19
|
+
[](https://github.com/P4ciuf/secryn/blob/main/LICENSE)
|
|
20
|
+
|
|
21
|
+
Command-line interface for [Secryn](https://secryn.xyz) — manage your secrets, projects, and API keys without leaving the terminal.
|
|
22
|
+
|
|
23
|
+
## Installation
|
|
24
|
+
|
|
25
|
+
### Via pipx (recommended)
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
pipx install secryn-cli
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
### From source
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
cd packages/cli
|
|
35
|
+
pipx install -e .
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
### Via pip + venv
|
|
39
|
+
|
|
40
|
+
```bash
|
|
41
|
+
cd packages/cli
|
|
42
|
+
python3 -m venv .venv
|
|
43
|
+
.venv/bin/pip install -e .
|
|
44
|
+
ln -sf $(pwd)/.venv/bin/sc ~/.local/bin/sc
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
### One-liner install script
|
|
48
|
+
|
|
49
|
+
```bash
|
|
50
|
+
curl -fsSL https://raw.githubusercontent.com/P4ciuf/secryn/main/packages/cli/install.sh | bash
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
Requires Python 3.10+.
|
|
54
|
+
|
|
55
|
+
## Quick Start
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
# Login to your Secryn instance
|
|
59
|
+
sc auth login --email user@example.com --password "your-password"
|
|
60
|
+
|
|
61
|
+
# Or use a custom API URL
|
|
62
|
+
sc --api-url https://api.secryn.xyz/api/v1 auth login
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
The CLI stores configuration and session cookies in `~/.config/secryn/`.
|
|
66
|
+
|
|
67
|
+
## Commands
|
|
68
|
+
|
|
69
|
+
### Authentication
|
|
70
|
+
|
|
71
|
+
```bash
|
|
72
|
+
sc auth login # Interactive login
|
|
73
|
+
sc auth login --email <email> --password <pw> # Non-interactive
|
|
74
|
+
sc auth logout # Logout and clear cookies
|
|
75
|
+
sc auth whoami # Show authenticated user
|
|
76
|
+
sc auth whoami --json # JSON output
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
### Projects
|
|
80
|
+
|
|
81
|
+
```bash
|
|
82
|
+
sc projects list # List all projects
|
|
83
|
+
sc projects list --json # JSON output
|
|
84
|
+
sc projects create --name <name> # Create a project
|
|
85
|
+
sc projects create --name <name> # With description
|
|
86
|
+
--description <desc>
|
|
87
|
+
sc projects delete --id <id> # Delete (with confirmation)
|
|
88
|
+
sc projects delete --id <id> -f # Skip confirmation
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
### Secrets
|
|
92
|
+
|
|
93
|
+
```bash
|
|
94
|
+
sc secrets list --project-id <id> # List secrets
|
|
95
|
+
sc secrets list --project-id <id> --json # JSON output
|
|
96
|
+
sc secrets get --id <id> # Show secret (masked)
|
|
97
|
+
sc secrets get --id <id> --show-value # Show in plain text
|
|
98
|
+
sc secrets get --id <id> --json # JSON output
|
|
99
|
+
sc secrets create --project-id <id> # Create a secret
|
|
100
|
+
--name <name> --value <value>
|
|
101
|
+
--notes <notes> # Optional notes
|
|
102
|
+
sc secrets update --id <id> # Partial update
|
|
103
|
+
--name <new> --value <new>
|
|
104
|
+
--notes <new>
|
|
105
|
+
sc secrets delete --id <id> # Delete secret
|
|
106
|
+
sc secrets delete --id <id> -f # Skip confirmation
|
|
107
|
+
sc secrets export --project-id <id> # Export as .env (stdout)
|
|
108
|
+
sc secrets export --project-id <id> # Export to file
|
|
109
|
+
-o .env
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
### API Keys
|
|
113
|
+
|
|
114
|
+
```bash
|
|
115
|
+
sc api-keys list # List all keys
|
|
116
|
+
sc api-keys list --json # JSON output
|
|
117
|
+
sc api-keys create --name <name> # Create key (read+write)
|
|
118
|
+
sc api-keys create --name <name> # Create with specific permissions
|
|
119
|
+
--permissions read
|
|
120
|
+
sc api-keys delete --id <id> # Delete key
|
|
121
|
+
sc api-keys delete --id <id> -f # Skip confirmation
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
### User & Config
|
|
125
|
+
|
|
126
|
+
```bash
|
|
127
|
+
sc user info # Show user profile
|
|
128
|
+
sc config # Show config paths and values
|
|
129
|
+
sc version # Show CLI version
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
## Global Options
|
|
133
|
+
|
|
134
|
+
| Option | Description |
|
|
135
|
+
| ----------------- | -------------------------------------------------------- |
|
|
136
|
+
| `--api-url <url>` | Override API base URL (default: `http://localhost:3000`) |
|
|
137
|
+
| `--json` | Output in JSON format (where supported) |
|
|
138
|
+
| `--force`, `-f` | Skip confirmation for destructive commands |
|
|
139
|
+
| `--help` | Show help for any command or subcommand |
|
|
140
|
+
|
|
141
|
+
## Environment Variables
|
|
142
|
+
|
|
143
|
+
| Variable | Description |
|
|
144
|
+
| ---------------- | -------------------------- |
|
|
145
|
+
| `SECRYN_API_URL` | Alternative to `--api-url` |
|
|
146
|
+
| `SECRYN_HOME` | Custom config directory |
|
|
147
|
+
|
|
148
|
+
## Configuration Files
|
|
149
|
+
|
|
150
|
+
The CLI stores its state in `~/.config/secryn/`:
|
|
151
|
+
|
|
152
|
+
| File | Content |
|
|
153
|
+
| -------------- | ------------------------------ |
|
|
154
|
+
| `config.json` | API URL, user ID, email |
|
|
155
|
+
| `cookies.json` | JWT session cookies (httpOnly) |
|
|
156
|
+
|
|
157
|
+
## License
|
|
158
|
+
|
|
159
|
+
Apache 2.0 — see [LICENSE](https://github.com/P4ciuf/secryn/blob/main/LICENSE).
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
# Secryn CLI
|
|
2
|
+
|
|
3
|
+
[](https://pypi.org/project/secryn-cli/)
|
|
4
|
+
[](https://pypi.org/project/secryn-cli/)
|
|
5
|
+
[](https://github.com/P4ciuf/secryn/blob/main/LICENSE)
|
|
6
|
+
|
|
7
|
+
Command-line interface for [Secryn](https://secryn.xyz) — manage your secrets, projects, and API keys without leaving the terminal.
|
|
8
|
+
|
|
9
|
+
## Installation
|
|
10
|
+
|
|
11
|
+
### Via pipx (recommended)
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
pipx install secryn-cli
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
### From source
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
cd packages/cli
|
|
21
|
+
pipx install -e .
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
### Via pip + venv
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
cd packages/cli
|
|
28
|
+
python3 -m venv .venv
|
|
29
|
+
.venv/bin/pip install -e .
|
|
30
|
+
ln -sf $(pwd)/.venv/bin/sc ~/.local/bin/sc
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
### One-liner install script
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
curl -fsSL https://raw.githubusercontent.com/P4ciuf/secryn/main/packages/cli/install.sh | bash
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
Requires Python 3.10+.
|
|
40
|
+
|
|
41
|
+
## Quick Start
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
# Login to your Secryn instance
|
|
45
|
+
sc auth login --email user@example.com --password "your-password"
|
|
46
|
+
|
|
47
|
+
# Or use a custom API URL
|
|
48
|
+
sc --api-url https://api.secryn.xyz/api/v1 auth login
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
The CLI stores configuration and session cookies in `~/.config/secryn/`.
|
|
52
|
+
|
|
53
|
+
## Commands
|
|
54
|
+
|
|
55
|
+
### Authentication
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
sc auth login # Interactive login
|
|
59
|
+
sc auth login --email <email> --password <pw> # Non-interactive
|
|
60
|
+
sc auth logout # Logout and clear cookies
|
|
61
|
+
sc auth whoami # Show authenticated user
|
|
62
|
+
sc auth whoami --json # JSON output
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
### Projects
|
|
66
|
+
|
|
67
|
+
```bash
|
|
68
|
+
sc projects list # List all projects
|
|
69
|
+
sc projects list --json # JSON output
|
|
70
|
+
sc projects create --name <name> # Create a project
|
|
71
|
+
sc projects create --name <name> # With description
|
|
72
|
+
--description <desc>
|
|
73
|
+
sc projects delete --id <id> # Delete (with confirmation)
|
|
74
|
+
sc projects delete --id <id> -f # Skip confirmation
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
### Secrets
|
|
78
|
+
|
|
79
|
+
```bash
|
|
80
|
+
sc secrets list --project-id <id> # List secrets
|
|
81
|
+
sc secrets list --project-id <id> --json # JSON output
|
|
82
|
+
sc secrets get --id <id> # Show secret (masked)
|
|
83
|
+
sc secrets get --id <id> --show-value # Show in plain text
|
|
84
|
+
sc secrets get --id <id> --json # JSON output
|
|
85
|
+
sc secrets create --project-id <id> # Create a secret
|
|
86
|
+
--name <name> --value <value>
|
|
87
|
+
--notes <notes> # Optional notes
|
|
88
|
+
sc secrets update --id <id> # Partial update
|
|
89
|
+
--name <new> --value <new>
|
|
90
|
+
--notes <new>
|
|
91
|
+
sc secrets delete --id <id> # Delete secret
|
|
92
|
+
sc secrets delete --id <id> -f # Skip confirmation
|
|
93
|
+
sc secrets export --project-id <id> # Export as .env (stdout)
|
|
94
|
+
sc secrets export --project-id <id> # Export to file
|
|
95
|
+
-o .env
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
### API Keys
|
|
99
|
+
|
|
100
|
+
```bash
|
|
101
|
+
sc api-keys list # List all keys
|
|
102
|
+
sc api-keys list --json # JSON output
|
|
103
|
+
sc api-keys create --name <name> # Create key (read+write)
|
|
104
|
+
sc api-keys create --name <name> # Create with specific permissions
|
|
105
|
+
--permissions read
|
|
106
|
+
sc api-keys delete --id <id> # Delete key
|
|
107
|
+
sc api-keys delete --id <id> -f # Skip confirmation
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
### User & Config
|
|
111
|
+
|
|
112
|
+
```bash
|
|
113
|
+
sc user info # Show user profile
|
|
114
|
+
sc config # Show config paths and values
|
|
115
|
+
sc version # Show CLI version
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
## Global Options
|
|
119
|
+
|
|
120
|
+
| Option | Description |
|
|
121
|
+
| ----------------- | -------------------------------------------------------- |
|
|
122
|
+
| `--api-url <url>` | Override API base URL (default: `http://localhost:3000`) |
|
|
123
|
+
| `--json` | Output in JSON format (where supported) |
|
|
124
|
+
| `--force`, `-f` | Skip confirmation for destructive commands |
|
|
125
|
+
| `--help` | Show help for any command or subcommand |
|
|
126
|
+
|
|
127
|
+
## Environment Variables
|
|
128
|
+
|
|
129
|
+
| Variable | Description |
|
|
130
|
+
| ---------------- | -------------------------- |
|
|
131
|
+
| `SECRYN_API_URL` | Alternative to `--api-url` |
|
|
132
|
+
| `SECRYN_HOME` | Custom config directory |
|
|
133
|
+
|
|
134
|
+
## Configuration Files
|
|
135
|
+
|
|
136
|
+
The CLI stores its state in `~/.config/secryn/`:
|
|
137
|
+
|
|
138
|
+
| File | Content |
|
|
139
|
+
| -------------- | ------------------------------ |
|
|
140
|
+
| `config.json` | API URL, user ID, email |
|
|
141
|
+
| `cookies.json` | JWT session cookies (httpOnly) |
|
|
142
|
+
|
|
143
|
+
## License
|
|
144
|
+
|
|
145
|
+
Apache 2.0 — see [LICENSE](https://github.com/P4ciuf/secryn/blob/main/LICENSE).
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "secryn-cli"
|
|
3
|
-
version = "0.1.
|
|
3
|
+
version = "0.1.1"
|
|
4
4
|
description = "Secryn CLI — manage your secrets from the terminal"
|
|
5
|
+
readme = "README.md"
|
|
5
6
|
license = { text = "Apache-2.0" }
|
|
6
7
|
authors = [{ name = "Secryn" }]
|
|
7
8
|
requires-python = ">=3.10"
|
|
@@ -19,7 +20,7 @@ dev = [
|
|
|
19
20
|
sc = "secryn_cli.cli:main"
|
|
20
21
|
|
|
21
22
|
[project.urls]
|
|
22
|
-
Repository = "https://github.com/
|
|
23
|
+
Repository = "https://github.com/P4ciuf/secryn"
|
|
23
24
|
|
|
24
25
|
[build-system]
|
|
25
26
|
requires = ["setuptools>=68"]
|
|
@@ -669,7 +669,7 @@ def main() -> None:
|
|
|
669
669
|
try:
|
|
670
670
|
cli.main(args=args, prog_name="sc", standalone_mode=False)
|
|
671
671
|
except click.exceptions.Exit as e:
|
|
672
|
-
exit_code = e.
|
|
672
|
+
exit_code = e.exit_code if e.exit_code is not None else 0
|
|
673
673
|
except click.ClickException as e:
|
|
674
674
|
if isinstance(e, click.exceptions.NoArgsIsHelpError):
|
|
675
675
|
click.echo(cli.get_help(click.Context(cli, info_name="sc")))
|
|
@@ -8,7 +8,7 @@ import json
|
|
|
8
8
|
import os
|
|
9
9
|
import platform
|
|
10
10
|
from pathlib import Path
|
|
11
|
-
from typing import Optional
|
|
11
|
+
from typing import Any, Optional
|
|
12
12
|
|
|
13
13
|
APP_NAME = "secryn"
|
|
14
14
|
API_BASE_PATH = "/api/v1"
|
|
@@ -65,7 +65,7 @@ class Config:
|
|
|
65
65
|
self.api_url: str = f"http://localhost:3000{API_BASE_PATH}"
|
|
66
66
|
self.user_id: Optional[str] = None
|
|
67
67
|
self.user_email: Optional[str] = None
|
|
68
|
-
self.version: str = "0.1.
|
|
68
|
+
self.version: str = "0.1.1"
|
|
69
69
|
|
|
70
70
|
@property
|
|
71
71
|
def user_agent(self) -> str:
|
|
@@ -124,7 +124,7 @@ def save_config(cfg: Config) -> None:
|
|
|
124
124
|
config_path().chmod(0o600)
|
|
125
125
|
|
|
126
126
|
|
|
127
|
-
def load_cookies() -> Optional[dict]:
|
|
127
|
+
def load_cookies() -> Optional[list[dict[str, Any]]]:
|
|
128
128
|
"""Load persisted session cookies from disk.
|
|
129
129
|
|
|
130
130
|
Returns:
|
|
@@ -140,7 +140,7 @@ def load_cookies() -> Optional[dict]:
|
|
|
140
140
|
return None
|
|
141
141
|
|
|
142
142
|
|
|
143
|
-
def save_cookies(data: dict) -> None:
|
|
143
|
+
def save_cookies(data: list[dict[str, Any]]) -> None:
|
|
144
144
|
"""Persist session cookies to disk.
|
|
145
145
|
|
|
146
146
|
Writes ``cookies.json`` with mode ``0600`` inside the config directory.
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: secryn-cli
|
|
3
|
+
Version: 0.1.1
|
|
4
|
+
Summary: Secryn CLI — manage your secrets from the terminal
|
|
5
|
+
Author: Secryn
|
|
6
|
+
License: Apache-2.0
|
|
7
|
+
Project-URL: Repository, https://github.com/P4ciuf/secryn
|
|
8
|
+
Requires-Python: >=3.10
|
|
9
|
+
Description-Content-Type: text/markdown
|
|
10
|
+
Requires-Dist: click>=8.0
|
|
11
|
+
Requires-Dist: requests>=2.28
|
|
12
|
+
Provides-Extra: dev
|
|
13
|
+
Requires-Dist: ruff>=0.11; extra == "dev"
|
|
14
|
+
|
|
15
|
+
# Secryn CLI
|
|
16
|
+
|
|
17
|
+
[](https://pypi.org/project/secryn-cli/)
|
|
18
|
+
[](https://pypi.org/project/secryn-cli/)
|
|
19
|
+
[](https://github.com/P4ciuf/secryn/blob/main/LICENSE)
|
|
20
|
+
|
|
21
|
+
Command-line interface for [Secryn](https://secryn.xyz) — manage your secrets, projects, and API keys without leaving the terminal.
|
|
22
|
+
|
|
23
|
+
## Installation
|
|
24
|
+
|
|
25
|
+
### Via pipx (recommended)
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
pipx install secryn-cli
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
### From source
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
cd packages/cli
|
|
35
|
+
pipx install -e .
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
### Via pip + venv
|
|
39
|
+
|
|
40
|
+
```bash
|
|
41
|
+
cd packages/cli
|
|
42
|
+
python3 -m venv .venv
|
|
43
|
+
.venv/bin/pip install -e .
|
|
44
|
+
ln -sf $(pwd)/.venv/bin/sc ~/.local/bin/sc
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
### One-liner install script
|
|
48
|
+
|
|
49
|
+
```bash
|
|
50
|
+
curl -fsSL https://raw.githubusercontent.com/P4ciuf/secryn/main/packages/cli/install.sh | bash
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
Requires Python 3.10+.
|
|
54
|
+
|
|
55
|
+
## Quick Start
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
# Login to your Secryn instance
|
|
59
|
+
sc auth login --email user@example.com --password "your-password"
|
|
60
|
+
|
|
61
|
+
# Or use a custom API URL
|
|
62
|
+
sc --api-url https://api.secryn.xyz/api/v1 auth login
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
The CLI stores configuration and session cookies in `~/.config/secryn/`.
|
|
66
|
+
|
|
67
|
+
## Commands
|
|
68
|
+
|
|
69
|
+
### Authentication
|
|
70
|
+
|
|
71
|
+
```bash
|
|
72
|
+
sc auth login # Interactive login
|
|
73
|
+
sc auth login --email <email> --password <pw> # Non-interactive
|
|
74
|
+
sc auth logout # Logout and clear cookies
|
|
75
|
+
sc auth whoami # Show authenticated user
|
|
76
|
+
sc auth whoami --json # JSON output
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
### Projects
|
|
80
|
+
|
|
81
|
+
```bash
|
|
82
|
+
sc projects list # List all projects
|
|
83
|
+
sc projects list --json # JSON output
|
|
84
|
+
sc projects create --name <name> # Create a project
|
|
85
|
+
sc projects create --name <name> # With description
|
|
86
|
+
--description <desc>
|
|
87
|
+
sc projects delete --id <id> # Delete (with confirmation)
|
|
88
|
+
sc projects delete --id <id> -f # Skip confirmation
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
### Secrets
|
|
92
|
+
|
|
93
|
+
```bash
|
|
94
|
+
sc secrets list --project-id <id> # List secrets
|
|
95
|
+
sc secrets list --project-id <id> --json # JSON output
|
|
96
|
+
sc secrets get --id <id> # Show secret (masked)
|
|
97
|
+
sc secrets get --id <id> --show-value # Show in plain text
|
|
98
|
+
sc secrets get --id <id> --json # JSON output
|
|
99
|
+
sc secrets create --project-id <id> # Create a secret
|
|
100
|
+
--name <name> --value <value>
|
|
101
|
+
--notes <notes> # Optional notes
|
|
102
|
+
sc secrets update --id <id> # Partial update
|
|
103
|
+
--name <new> --value <new>
|
|
104
|
+
--notes <new>
|
|
105
|
+
sc secrets delete --id <id> # Delete secret
|
|
106
|
+
sc secrets delete --id <id> -f # Skip confirmation
|
|
107
|
+
sc secrets export --project-id <id> # Export as .env (stdout)
|
|
108
|
+
sc secrets export --project-id <id> # Export to file
|
|
109
|
+
-o .env
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
### API Keys
|
|
113
|
+
|
|
114
|
+
```bash
|
|
115
|
+
sc api-keys list # List all keys
|
|
116
|
+
sc api-keys list --json # JSON output
|
|
117
|
+
sc api-keys create --name <name> # Create key (read+write)
|
|
118
|
+
sc api-keys create --name <name> # Create with specific permissions
|
|
119
|
+
--permissions read
|
|
120
|
+
sc api-keys delete --id <id> # Delete key
|
|
121
|
+
sc api-keys delete --id <id> -f # Skip confirmation
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
### User & Config
|
|
125
|
+
|
|
126
|
+
```bash
|
|
127
|
+
sc user info # Show user profile
|
|
128
|
+
sc config # Show config paths and values
|
|
129
|
+
sc version # Show CLI version
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
## Global Options
|
|
133
|
+
|
|
134
|
+
| Option | Description |
|
|
135
|
+
| ----------------- | -------------------------------------------------------- |
|
|
136
|
+
| `--api-url <url>` | Override API base URL (default: `http://localhost:3000`) |
|
|
137
|
+
| `--json` | Output in JSON format (where supported) |
|
|
138
|
+
| `--force`, `-f` | Skip confirmation for destructive commands |
|
|
139
|
+
| `--help` | Show help for any command or subcommand |
|
|
140
|
+
|
|
141
|
+
## Environment Variables
|
|
142
|
+
|
|
143
|
+
| Variable | Description |
|
|
144
|
+
| ---------------- | -------------------------- |
|
|
145
|
+
| `SECRYN_API_URL` | Alternative to `--api-url` |
|
|
146
|
+
| `SECRYN_HOME` | Custom config directory |
|
|
147
|
+
|
|
148
|
+
## Configuration Files
|
|
149
|
+
|
|
150
|
+
The CLI stores its state in `~/.config/secryn/`:
|
|
151
|
+
|
|
152
|
+
| File | Content |
|
|
153
|
+
| -------------- | ------------------------------ |
|
|
154
|
+
| `config.json` | API URL, user ID, email |
|
|
155
|
+
| `cookies.json` | JWT session cookies (httpOnly) |
|
|
156
|
+
|
|
157
|
+
## License
|
|
158
|
+
|
|
159
|
+
Apache 2.0 — see [LICENSE](https://github.com/P4ciuf/secryn/blob/main/LICENSE).
|
secryn_cli-0.1.0/PKG-INFO
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
Metadata-Version: 2.4
|
|
2
|
-
Name: secryn-cli
|
|
3
|
-
Version: 0.1.0
|
|
4
|
-
Summary: Secryn CLI — manage your secrets from the terminal
|
|
5
|
-
Author: Secryn
|
|
6
|
-
License: Apache-2.0
|
|
7
|
-
Project-URL: Repository, https://github.com/secryn/secryn
|
|
8
|
-
Requires-Python: >=3.10
|
|
9
|
-
Requires-Dist: click>=8.0
|
|
10
|
-
Requires-Dist: requests>=2.28
|
|
11
|
-
Provides-Extra: dev
|
|
12
|
-
Requires-Dist: ruff>=0.11; extra == "dev"
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
Metadata-Version: 2.4
|
|
2
|
-
Name: secryn-cli
|
|
3
|
-
Version: 0.1.0
|
|
4
|
-
Summary: Secryn CLI — manage your secrets from the terminal
|
|
5
|
-
Author: Secryn
|
|
6
|
-
License: Apache-2.0
|
|
7
|
-
Project-URL: Repository, https://github.com/secryn/secryn
|
|
8
|
-
Requires-Python: >=3.10
|
|
9
|
-
Requires-Dist: click>=8.0
|
|
10
|
-
Requires-Dist: requests>=2.28
|
|
11
|
-
Provides-Extra: dev
|
|
12
|
-
Requires-Dist: ruff>=0.11; extra == "dev"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|