shai-cli 0.1.0 → 0.1.1
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.
- checksums.yaml +4 -4
- data/README.md +120 -80
- data/lib/shai/commands/configurations.rb +2 -1
- data/lib/shai/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 2d4d5f46776b74f36b7f259d6edb67489f519dbc98b5ae5b0e44be82fed60d2d
|
|
4
|
+
data.tar.gz: 9669269dd3ac52f2161a488e68364da7e58ecb0d32328ca901ed18014b7ed8ef
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: a4d113fbd60fbd071f71d47ece7aba4848e9160f41feda7bcdfe39612d0c029f96a85dc31ebe473121b964459d20d2264ce080cb83a4ada5238e619273a1590c
|
|
7
|
+
data.tar.gz: 768577aecf1ec1e52301dededa606b7f2864fab148f1ad620bcc027a9fbc648e9559dedd1cbcea629fdaf3ad46c99830d99175307fd10a03f611f455003ef953
|
data/README.md
CHANGED
|
@@ -1,6 +1,26 @@
|
|
|
1
1
|
# shai-cli
|
|
2
2
|
|
|
3
|
-
Command-line tool for
|
|
3
|
+
Command-line tool for creating, sharing, and installing AI agent configurations.
|
|
4
|
+
|
|
5
|
+
shai lets you treat AI configurations like dotfiles: reproducible, shareable, and easy to install across machines.
|
|
6
|
+
|
|
7
|
+
Website: https://shaicli.dev
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Why this exists
|
|
12
|
+
|
|
13
|
+
I kept tweaking AI prompts, agent setups, and configuration files, then losing track of what actually worked. Copy-pasting from notes, Slack, or old repos didn’t scale.
|
|
14
|
+
|
|
15
|
+
shai is a small tool I built to make AI configurations:
|
|
16
|
+
|
|
17
|
+
- **Reproducible** (same setup everywhere)
|
|
18
|
+
- **Shareable** (public or private)
|
|
19
|
+
- **Easy to install** (one command)
|
|
20
|
+
|
|
21
|
+
This is an early project and intentionally minimal. It’s built to solve a real problem I had, and I’m sharing it to see if it’s useful to others.
|
|
22
|
+
|
|
23
|
+
---
|
|
4
24
|
|
|
5
25
|
## Installation
|
|
6
26
|
|
|
@@ -25,6 +45,8 @@ bundle install
|
|
|
25
45
|
bundle exec rake install
|
|
26
46
|
```
|
|
27
47
|
|
|
48
|
+
---
|
|
49
|
+
|
|
28
50
|
## Quick Start
|
|
29
51
|
|
|
30
52
|
```bash
|
|
@@ -42,59 +64,103 @@ shai init
|
|
|
42
64
|
shai push
|
|
43
65
|
```
|
|
44
66
|
|
|
67
|
+
---
|
|
68
|
+
|
|
45
69
|
## Commands
|
|
46
70
|
|
|
71
|
+
### No Login Required
|
|
72
|
+
|
|
73
|
+
These commands work without authentication for public configurations:
|
|
74
|
+
|
|
75
|
+
| Command | Description |
|
|
76
|
+
| ------------------------- | ------------------------------------------------------ |
|
|
77
|
+
| `shai search <query>` | Search public configurations |
|
|
78
|
+
| `shai install <config>` | Install a public configuration (use `owner/slug` format) |
|
|
79
|
+
| `shai uninstall <config>` | Uninstall a public configuration |
|
|
80
|
+
|
|
81
|
+
```bash
|
|
82
|
+
# No login needed for public configs
|
|
83
|
+
shai search "claude code"
|
|
84
|
+
shai install anthropic/claude-expert
|
|
85
|
+
shai uninstall anthropic/claude-expert
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
---
|
|
89
|
+
|
|
47
90
|
### Authentication
|
|
48
91
|
|
|
49
|
-
| Command
|
|
50
|
-
|
|
51
|
-
| `shai login`
|
|
92
|
+
| Command | Description |
|
|
93
|
+
| ------------- | ------------------------------------- |
|
|
94
|
+
| `shai login` | Log in to shaicli.dev |
|
|
52
95
|
| `shai logout` | Log out and remove stored credentials |
|
|
53
|
-
| `shai whoami` | Show current authentication status
|
|
96
|
+
| `shai whoami` | Show current authentication status |
|
|
97
|
+
|
|
98
|
+
```bash
|
|
99
|
+
$ shai whoami
|
|
100
|
+
Logged in as johndoe (John Doe)
|
|
101
|
+
Token expires: March 11, 2026
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
---
|
|
54
105
|
|
|
55
106
|
### Discovery
|
|
56
107
|
|
|
57
|
-
| Command
|
|
58
|
-
|
|
59
|
-
| `shai list`
|
|
108
|
+
| Command | Description |
|
|
109
|
+
| --------------------- | ---------------------------- |
|
|
110
|
+
| `shai list` | List your configurations |
|
|
60
111
|
| `shai search <query>` | Search public configurations |
|
|
61
112
|
|
|
113
|
+
---
|
|
114
|
+
|
|
62
115
|
### Using Configurations
|
|
63
116
|
|
|
64
|
-
| Command
|
|
65
|
-
|
|
66
|
-
| `shai install <config>`
|
|
67
|
-
| `shai uninstall <config>` | Remove an installed configuration
|
|
117
|
+
| Command | Description |
|
|
118
|
+
| ------------------------- | ---------------------------------------- |
|
|
119
|
+
| `shai install <config>` | Install a configuration to local project |
|
|
120
|
+
| `shai uninstall <config>` | Remove an installed configuration |
|
|
121
|
+
|
|
122
|
+
```bash
|
|
123
|
+
$ shai uninstall anthropic/claude-expert
|
|
124
|
+
[✔] Fetching anthropic/claude-expert...
|
|
125
|
+
Remove 3 files and 1 folder from 'anthropic/claude-expert'? (y/N) y
|
|
126
|
+
|
|
127
|
+
✓ Uninstalled anthropic/claude-expert
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
---
|
|
68
131
|
|
|
69
132
|
### Authoring Configurations
|
|
70
133
|
|
|
71
|
-
| Command
|
|
72
|
-
|
|
73
|
-
| `shai init`
|
|
74
|
-
| `shai push`
|
|
75
|
-
| `shai status`
|
|
76
|
-
| `shai diff`
|
|
77
|
-
| `shai config show`
|
|
78
|
-
| `shai config set <key> <value>` | Update configuration metadata
|
|
79
|
-
| `shai delete <slug>`
|
|
134
|
+
| Command | Description |
|
|
135
|
+
| ------------------------------- | ---------------------------------- |
|
|
136
|
+
| `shai init` | Initialize a new configuration |
|
|
137
|
+
| `shai push` | Push local changes to remote |
|
|
138
|
+
| `shai status` | Show local changes vs remote |
|
|
139
|
+
| `shai diff` | Show diff between local and remote |
|
|
140
|
+
| `shai config show` | Show configuration details |
|
|
141
|
+
| `shai config set <key> <value>` | Update configuration metadata |
|
|
142
|
+
| `shai delete <slug>` | Delete a configuration from remote |
|
|
143
|
+
|
|
144
|
+
---
|
|
80
145
|
|
|
81
146
|
## Configuration
|
|
82
147
|
|
|
83
148
|
### Environment Variables
|
|
84
149
|
|
|
85
|
-
| Variable
|
|
86
|
-
|
|
87
|
-
| `SHAI_API_URL`
|
|
88
|
-
| `SHAI_CONFIG_DIR` | Directory for credentials
|
|
89
|
-
| `SHAI_TOKEN`
|
|
90
|
-
| `NO_COLOR`
|
|
150
|
+
| Variable | Description | Default |
|
|
151
|
+
| ----------------- | ----------------------------- | --------------------- |
|
|
152
|
+
| `SHAI_API_URL` | API endpoint URL | `https://shaicli.dev` |
|
|
153
|
+
| `SHAI_CONFIG_DIR` | Directory for credentials | `~/.config/shai` |
|
|
154
|
+
| `SHAI_TOKEN` | Override authentication token | - |
|
|
155
|
+
| `NO_COLOR` | Disable colored output | - |
|
|
156
|
+
|
|
157
|
+
---
|
|
91
158
|
|
|
92
159
|
### .shairc File
|
|
93
160
|
|
|
94
161
|
When authoring configurations, a `.shairc` file is created in your project root:
|
|
95
162
|
|
|
96
163
|
```yaml
|
|
97
|
-
# .shairc - Shai configuration
|
|
98
164
|
slug: my-config
|
|
99
165
|
include:
|
|
100
166
|
- .claude/**
|
|
@@ -104,89 +170,63 @@ exclude:
|
|
|
104
170
|
- "**/.env"
|
|
105
171
|
```
|
|
106
172
|
|
|
107
|
-
| Field
|
|
108
|
-
|
|
109
|
-
| `slug`
|
|
110
|
-
| `include` | Glob patterns for files to include
|
|
111
|
-
| `exclude` | Glob patterns for files to exclude
|
|
112
|
-
|
|
113
|
-
## Examples
|
|
173
|
+
| Field | Description |
|
|
174
|
+
| --------- | ---------------------------------------- |
|
|
175
|
+
| `slug` | Unique identifier for your configuration |
|
|
176
|
+
| `include` | Glob patterns for files to include |
|
|
177
|
+
| `exclude` | Glob patterns for files to exclude |
|
|
114
178
|
|
|
115
|
-
|
|
179
|
+
---
|
|
116
180
|
|
|
117
|
-
|
|
118
|
-
shai search --tag claude --tag coding
|
|
119
|
-
```
|
|
120
|
-
|
|
121
|
-
### Install to specific directory
|
|
181
|
+
## Examples
|
|
122
182
|
|
|
123
183
|
```bash
|
|
184
|
+
# Install to a specific directory
|
|
124
185
|
shai install anthropic/claude-expert --path ./my-project
|
|
125
|
-
```
|
|
126
186
|
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
```bash
|
|
187
|
+
# Preview installation without making changes
|
|
130
188
|
shai install anthropic/claude-expert --dry-run
|
|
131
|
-
```
|
|
132
|
-
|
|
133
|
-
### Force overwrite existing files
|
|
134
189
|
|
|
135
|
-
|
|
190
|
+
# Force overwrite existing files
|
|
136
191
|
shai install anthropic/claude-expert --force
|
|
137
192
|
```
|
|
138
193
|
|
|
139
|
-
|
|
194
|
+
---
|
|
140
195
|
|
|
141
|
-
|
|
142
|
-
shai init
|
|
143
|
-
# Follow prompts, select "public" visibility
|
|
144
|
-
shai push
|
|
145
|
-
```
|
|
196
|
+
## Feedback and discussion
|
|
146
197
|
|
|
147
|
-
|
|
198
|
+
Feedback is very welcome.
|
|
148
199
|
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
shai config set visibility public
|
|
152
|
-
shai config set description "A better description"
|
|
153
|
-
```
|
|
200
|
+
- Use **GitHub Discussions** for ideas, use cases, or open-ended thoughts
|
|
201
|
+
- Use **Issues** for concrete bugs, confusing behavior, or specific improvements
|
|
154
202
|
|
|
155
|
-
|
|
203
|
+
There are two pinned issues to guide feedback:
|
|
156
204
|
|
|
157
|
-
|
|
205
|
+
- **Feedback** — what’s unclear, missing, or not useful
|
|
206
|
+
- **Ideas** — possible improvements or directions
|
|
158
207
|
|
|
159
|
-
|
|
160
|
-
bundle install
|
|
161
|
-
```
|
|
162
|
-
|
|
163
|
-
### Run tests
|
|
208
|
+
This project is intentionally small, so not every idea will be built. The goal right now is learning and signal.
|
|
164
209
|
|
|
165
|
-
|
|
166
|
-
bundle exec rspec
|
|
167
|
-
```
|
|
210
|
+
---
|
|
168
211
|
|
|
169
|
-
|
|
212
|
+
## Development
|
|
170
213
|
|
|
171
214
|
```bash
|
|
215
|
+
bundle install
|
|
216
|
+
bundle exec rspec
|
|
172
217
|
bundle exec standardrb
|
|
173
218
|
```
|
|
174
219
|
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
Create `.env.development`:
|
|
220
|
+
Local development:
|
|
178
221
|
|
|
179
222
|
```bash
|
|
180
223
|
SHAI_API_URL=http://localhost:3001
|
|
181
224
|
SHAI_CONFIG_DIR=.config/shai-dev
|
|
182
|
-
```
|
|
183
|
-
|
|
184
|
-
Run commands in development mode:
|
|
185
|
-
|
|
186
|
-
```bash
|
|
187
225
|
SHAI_ENV=development bundle exec bin/shai <command>
|
|
188
226
|
```
|
|
189
227
|
|
|
228
|
+
---
|
|
229
|
+
|
|
190
230
|
## License
|
|
191
231
|
|
|
192
232
|
MIT
|
|
@@ -211,7 +211,8 @@ module Shai
|
|
|
211
211
|
option :dry_run, type: :boolean, default: false, desc: "Show what would be removed"
|
|
212
212
|
option :path, type: :string, default: ".", desc: "Path where configuration is installed"
|
|
213
213
|
def uninstall(configuration = nil)
|
|
214
|
-
|
|
214
|
+
# No auth required - uninstall just fetches tree (works for public configs)
|
|
215
|
+
# and removes local files
|
|
215
216
|
|
|
216
217
|
base_path = File.expand_path(options[:path])
|
|
217
218
|
installed_path = File.join(base_path, INSTALLED_FILE)
|
data/lib/shai/version.rb
CHANGED