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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f13b2f27c4542d4f5fe83f06e781589bd69bde8bd618e7b8ce494fd1d4ab621b
4
- data.tar.gz: 94129b59f660fcff737602a475b891d87526968bd3ee4b28d495012a225d6cd5
3
+ metadata.gz: 2d4d5f46776b74f36b7f259d6edb67489f519dbc98b5ae5b0e44be82fed60d2d
4
+ data.tar.gz: 9669269dd3ac52f2161a488e68364da7e58ecb0d32328ca901ed18014b7ed8ef
5
5
  SHA512:
6
- metadata.gz: 4d89e81bdb2d09f584d53fb9c652e61d38ec7e40378e2ccca88b12b75bed765dd0aa18692fd0599a17095ec331f0e5aabfdcabea1da5c89df9ad927cacb396dc
7
- data.tar.gz: e636e3d6f766962c11df07de32e70fd62944e2e09c4a0e2acbb723291b75e5425e2b922a98e55e110bb12c3fd277d27993c9e9eda912713065f6897086ed5248
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 managing and sharing AI agent configurations via [shaicli.dev](https://shaicli.dev).
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 | Description |
50
- |---------|-------------|
51
- | `shai login` | Log in to shaicli.dev |
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 | Description |
58
- |---------|-------------|
59
- | `shai list` | List your configurations |
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 | Description |
65
- |---------|-------------|
66
- | `shai install <config>` | Install a configuration to local project |
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 | Description |
72
- |---------|-------------|
73
- | `shai init` | Initialize a new configuration |
74
- | `shai push` | Push local changes to remote |
75
- | `shai status` | Show local changes vs remote |
76
- | `shai diff` | Show diff between local and remote |
77
- | `shai config show` | Show configuration details |
78
- | `shai config set <key> <value>` | Update configuration metadata |
79
- | `shai delete <slug>` | Delete a configuration from remote |
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 | Description | Default |
86
- |----------|-------------|---------|
87
- | `SHAI_API_URL` | API endpoint URL | `https://shaicli.dev` |
88
- | `SHAI_CONFIG_DIR` | Directory for credentials | `~/.config/shai` |
89
- | `SHAI_TOKEN` | Override authentication token | - |
90
- | `NO_COLOR` | Disable colored output | - |
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 | Description |
108
- |-------|-------------|
109
- | `slug` | Unique identifier for your configuration |
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
- ### Search by tags
179
+ ---
116
180
 
117
- ```bash
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
- ### Preview installation without making changes
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
- ```bash
190
+ # Force overwrite existing files
136
191
  shai install anthropic/claude-expert --force
137
192
  ```
138
193
 
139
- ### Create a public configuration
194
+ ---
140
195
 
141
- ```bash
142
- shai init
143
- # Follow prompts, select "public" visibility
144
- shai push
145
- ```
196
+ ## Feedback and discussion
146
197
 
147
- ### Update configuration metadata
198
+ Feedback is very welcome.
148
199
 
149
- ```bash
150
- shai config set name "My Updated Config"
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
- ## Development
203
+ There are two pinned issues to guide feedback:
156
204
 
157
- ### Setup
205
+ - **Feedback** — what’s unclear, missing, or not useful
206
+ - **Ideas** — possible improvements or directions
158
207
 
159
- ```bash
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
- ```bash
166
- bundle exec rspec
167
- ```
210
+ ---
168
211
 
169
- ### Run linter
212
+ ## Development
170
213
 
171
214
  ```bash
215
+ bundle install
216
+ bundle exec rspec
172
217
  bundle exec standardrb
173
218
  ```
174
219
 
175
- ### Local development
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
- require_auth!
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
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Shai
4
- VERSION = "0.1.0"
4
+ VERSION = "0.1.1"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: shai-cli
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sebastian Jimenez