lockthard-cli 0.1.4__tar.gz → 0.2.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.
@@ -1,92 +1,92 @@
1
- Metadata-Version: 2.4
2
- Name: lockthard-cli
3
- Version: 0.1.4
4
- Summary: Super efficient CLI for LOCKTHARD AI tools directory and agents
5
- Author-email: Lockthard Team <info@lockthard.es>
6
- License: MIT
7
- Project-URL: Homepage, https://lockthard.es
8
- Keywords: cli,ai-tools,agents,mcp,lockthard
9
- Classifier: Development Status :: 4 - Beta
10
- Classifier: Environment :: Console
11
- Classifier: Intended Audience :: Developers
12
- Classifier: Programming Language :: Python :: 3
13
- Classifier: Programming Language :: Python :: 3.10
14
- Classifier: Programming Language :: Python :: 3.11
15
- Classifier: Programming Language :: Python :: 3.12
16
- Classifier: Topic :: Utilities
17
- Requires-Python: >=3.10
18
- Description-Content-Type: text/markdown
19
- Requires-Dist: click>=8.1.0
20
- Requires-Dist: requests>=2.28.0
21
- Requires-Dist: rich>=13.0.0
22
-
23
- # LOCKTHARD CLI (`lockthard`)
24
-
25
- A super efficient, scriptable command-line interface and AI agent client for **LOCKTHARD** (https://lockthard.es).
26
-
27
- Allows both human developers and autonomous AI agents (Claude Code, Antigravity, Aider, Cursor, etc.) to query, search, and inspect 61+ tablets and 1200+ AI tools with minimum token usage and zero prompt overhead.
28
-
29
- ## Installation
30
-
31
- ```bash
32
- pip install lockthard-cli
33
- ```
34
-
35
- Or run without installing:
36
-
37
- ```bash
38
- pipx run lockthard-cli --help
39
- ```
40
-
41
- ## Quick Start
42
-
43
- ### 1. Authentication
44
- Get your API key from [lockthard.es](https://lockthard.es).
45
-
46
- - **For AI Agents & CI/CD:**
47
- ```bash
48
- export LOCKTHARD_API_KEY="lk_your_token_here"
49
- ```
50
- - **Interactive Browser Login (Humans):**
51
- ```bash
52
- lockthard login
53
- ```
54
- - **Manual Login:**
55
- ```bash
56
- lockthard login --token "lk_your_token_here"
57
- ```
58
-
59
- ### 2. Commands
60
-
61
- ```bash
62
- # Ping service
63
- lockthard ping
64
-
65
- # Search tools (returns concise ASCII table)
66
- lockthard search "ocr"
67
-
68
- # Search tools in raw JSON (for agents / jq)
69
- lockthard search "ocr" --json
70
-
71
- # List all tablets
72
- lockthard tablets list
73
-
74
- # Inspect a specific tablet
75
- lockthard tablets get ocr
76
-
77
- # Inspect tool details
78
- lockthard tools get "Chandra OCR"
79
-
80
- # Display CLI agent guide
81
- lockthard guide
82
- ```
83
-
84
- ## Options
85
-
86
- - `--json` / `-j`: Output raw JSON without Rich styling.
87
- - `--url` / `-u`: Override base server URL (default: `https://lockthard.es`).
88
- - `--token` / `-t`: Override API token.
89
-
90
- ## License
91
-
92
- MIT License
1
+ Metadata-Version: 2.4
2
+ Name: lockthard-cli
3
+ Version: 0.2.1
4
+ Summary: CLI and AI agent client for LOCKTHARD — query 2100+ curated AI tools across 86+ tablets
5
+ Author-email: Lockthard Team <info@lockthard.es>
6
+ License: MIT
7
+ Project-URL: Homepage, https://lockthard.es
8
+ Keywords: cli,ai-tools,agents,mcp,lockthard
9
+ Classifier: Development Status :: 4 - Beta
10
+ Classifier: Environment :: Console
11
+ Classifier: Intended Audience :: Developers
12
+ Classifier: Programming Language :: Python :: 3
13
+ Classifier: Programming Language :: Python :: 3.10
14
+ Classifier: Programming Language :: Python :: 3.11
15
+ Classifier: Programming Language :: Python :: 3.12
16
+ Classifier: Topic :: Utilities
17
+ Requires-Python: >=3.10
18
+ Description-Content-Type: text/markdown
19
+ Requires-Dist: click>=8.1.0
20
+ Requires-Dist: requests>=2.28.0
21
+ Requires-Dist: rich>=13.0.0
22
+
23
+ # LOCKTHARD CLI (`lockthard`)
24
+
25
+ A super efficient, scriptable command-line interface and AI agent client for **LOCKTHARD** (https://lockthard.es).
26
+
27
+ Allows both human developers and autonomous AI agents (Claude Code, Antigravity, Aider, Cursor, etc.) to query, search, and inspect 61+ tablets and 1200+ AI tools with minimum token usage and zero prompt overhead.
28
+
29
+ ## Installation
30
+
31
+ ```bash
32
+ pip install lockthard-cli
33
+ ```
34
+
35
+ Or run without installing:
36
+
37
+ ```bash
38
+ pipx run lockthard-cli --help
39
+ ```
40
+
41
+ ## Quick Start
42
+
43
+ ### 1. Authentication
44
+ Get your API key from [lockthard.es](https://lockthard.es).
45
+
46
+ - **For AI Agents & CI/CD:**
47
+ ```bash
48
+ export LOCKTHARD_API_KEY="lk_your_token_here"
49
+ ```
50
+ - **Interactive Browser Login (Humans):**
51
+ ```bash
52
+ lockthard login
53
+ ```
54
+ - **Manual Login:**
55
+ ```bash
56
+ lockthard login --token "lk_your_token_here"
57
+ ```
58
+
59
+ ### 2. Commands
60
+
61
+ ```bash
62
+ # Ping service
63
+ lockthard ping
64
+
65
+ # Search tools (returns concise ASCII table)
66
+ lockthard search "ocr"
67
+
68
+ # Search tools in raw JSON (for agents / jq)
69
+ lockthard search "ocr" --json
70
+
71
+ # List all tablets
72
+ lockthard tablets list
73
+
74
+ # Inspect a specific tablet
75
+ lockthard tablets get ocr
76
+
77
+ # Inspect tool details
78
+ lockthard tools get "Chandra OCR"
79
+
80
+ # Display CLI agent guide
81
+ lockthard guide
82
+ ```
83
+
84
+ ## Options
85
+
86
+ - `--json` / `-j`: Output raw JSON without Rich styling.
87
+ - `--url` / `-u`: Override base server URL (default: `https://lockthard.es`).
88
+ - `--token` / `-t`: Override API token.
89
+
90
+ ## License
91
+
92
+ MIT License
@@ -2,4 +2,4 @@
2
2
  LOCKTHARD CLI - Command Line Interface and Agent Client for LOCKTHARD.
3
3
  """
4
4
 
5
- __version__ = "0.1.4"
5
+ __version__ = "0.2.1"
@@ -1,4 +1,6 @@
1
+ import json
1
2
  import sys
3
+ from pathlib import Path
2
4
  from typing import Optional
3
5
  import click
4
6
 
@@ -15,8 +17,10 @@ from .formatters import (
15
17
  print_tool_details,
16
18
  print_cli_tools,
17
19
  print_agent_guide,
18
- print_agent_skill
20
+ HAS_RICH,
21
+ console,
19
22
  )
23
+ from rich.markdown import Markdown
20
24
 
21
25
 
22
26
  def _handle_error(err: Exception):
@@ -25,6 +29,11 @@ def _handle_error(err: Exception):
25
29
  sys.exit(1)
26
30
 
27
31
 
32
+ def _get_as_json(ctx: click.Context, local_flag: bool) -> bool:
33
+ """Merge global --json with local subcommand --json flag."""
34
+ return ctx.obj.get("as_json", False) or local_flag
35
+
36
+
28
37
  @click.group(invoke_without_command=False)
29
38
  @click.option("--url", "-u", default=None, help="Base URL del servidor LOCKTHARD (default: https://lockthard.es).")
30
39
  @click.option("--token", "-t", default=None, help="API Key / Token de autenticación (lk_...).")
@@ -44,13 +53,16 @@ def cli(ctx: click.Context, url: Optional[str], token: Optional[str], as_json: b
44
53
 
45
54
 
46
55
  @cli.command()
56
+ @click.option("--json", "-j", "as_json_local", is_flag=True, default=False,
57
+ help="Salida en JSON bruto (ideal para scripts y agentes).")
47
58
  @click.pass_context
48
- def ping(ctx: click.Context):
59
+ def ping(ctx: click.Context, as_json_local: bool):
49
60
  """Verifica la conectividad con el servidor de LOCKTHARD y el estado del token."""
50
61
  client: LockthardClient = ctx.obj["client"]
62
+ as_json = _get_as_json(ctx, as_json_local)
51
63
  try:
52
64
  res = client.ping()
53
- print_ping_result(res, as_json=ctx.obj["as_json"])
65
+ print_ping_result(res, as_json=as_json)
54
66
  except LockthardError as e:
55
67
  _handle_error(e)
56
68
 
@@ -98,16 +110,19 @@ def logout():
98
110
 
99
111
 
100
112
  @cli.command()
113
+ @click.option("--json", "-j", "as_json_local", is_flag=True, default=False,
114
+ help="Salida en JSON bruto (ideal para scripts y agentes).")
101
115
  @click.argument("query")
102
116
  @click.option("--tablet", "-t", help="Filtrar por ID de tablet específica.")
103
117
  @click.option("--limit", "-l", default=20, type=int, help="Límite de resultados (default: 20).")
104
118
  @click.pass_context
105
- def search(ctx: click.Context, query: str, tablet: Optional[str], limit: int):
119
+ def search(ctx: click.Context, as_json_local: bool, query: str, tablet: Optional[str], limit: int):
106
120
  """Busca herramientas por palabra clave en LOCKTHARD."""
107
121
  client: LockthardClient = ctx.obj["client"]
122
+ as_json = _get_as_json(ctx, as_json_local)
108
123
  try:
109
124
  results = client.search_tools(query=query, tablet_id=tablet, limit=limit)
110
- print_search_results(query, results, as_json=ctx.obj["as_json"])
125
+ print_search_results(query, results, as_json=as_json)
111
126
  except LockthardError as e:
112
127
  _handle_error(e)
113
128
 
@@ -119,28 +134,34 @@ def tablets():
119
134
 
120
135
 
121
136
  @tablets.command(name="list")
137
+ @click.option("--json", "-j", "as_json_local", is_flag=True, default=False,
138
+ help="Salida en JSON bruto (ideal para scripts y agentes).")
122
139
  @click.option("--query", "-q", help="Filtrar tablets por título o categoría.")
123
140
  @click.pass_context
124
- def list_tablets_cmd(ctx: click.Context, query: Optional[str]):
141
+ def list_tablets_cmd(ctx: click.Context, as_json_local: bool, query: Optional[str]):
125
142
  """Lista los 61+ tablets y categorías disponibles."""
126
143
  client: LockthardClient = ctx.obj["client"]
144
+ as_json = _get_as_json(ctx, as_json_local)
127
145
  try:
128
146
  res = client.list_tablets(query=query)
129
- print_tablets_list(res, as_json=ctx.obj["as_json"])
147
+ print_tablets_list(res, as_json=as_json)
130
148
  except LockthardError as e:
131
149
  _handle_error(e)
132
150
 
133
151
 
134
152
  @tablets.command(name="get")
153
+ @click.option("--json", "-j", "as_json_local", is_flag=True, default=False,
154
+ help="Salida en JSON bruto (ideal para scripts y agentes).")
135
155
  @click.argument("tablet_id")
136
156
  @click.option("--limit", "-l", type=int, help="Límite de herramientas a devolver.")
137
157
  @click.pass_context
138
- def get_tablet_cmd(ctx: click.Context, tablet_id: str, limit: Optional[int]):
158
+ def get_tablet_cmd(ctx: click.Context, as_json_local: bool, tablet_id: str, limit: Optional[int]):
139
159
  """Obtiene el contenido completo de un tablet por su ID (ej. ocr, open-source)."""
140
160
  client: LockthardClient = ctx.obj["client"]
161
+ as_json = _get_as_json(ctx, as_json_local)
141
162
  try:
142
163
  res = client.get_tablet(tablet_id=tablet_id, limit=limit)
143
- print_tablet_content(res, as_json=ctx.obj["as_json"])
164
+ print_tablet_content(res, as_json=as_json)
144
165
  except LockthardError as e:
145
166
  _handle_error(e)
146
167
 
@@ -152,26 +173,32 @@ def tools():
152
173
 
153
174
 
154
175
  @tools.command(name="get")
176
+ @click.option("--json", "-j", "as_json_local", is_flag=True, default=False,
177
+ help="Salida en JSON bruto (ideal para scripts y agentes).")
155
178
  @click.argument("tool_id")
156
179
  @click.pass_context
157
- def get_tool_cmd(ctx: click.Context, tool_id: str):
180
+ def get_tool_cmd(ctx: click.Context, as_json_local: bool, tool_id: str):
158
181
  """Obtiene los detalles y comandos recomendados de una herramienta específica."""
159
182
  client: LockthardClient = ctx.obj["client"]
183
+ as_json = _get_as_json(ctx, as_json_local)
160
184
  try:
161
185
  res = client.get_tool_details(tool_id=tool_id)
162
- print_tool_details(res, as_json=ctx.obj["as_json"])
186
+ print_tool_details(res, as_json=as_json)
163
187
  except LockthardError as e:
164
188
  _handle_error(e)
165
189
 
166
190
 
167
191
  @cli.command(name="cli-tools")
192
+ @click.option("--json", "-j", "as_json_local", is_flag=True, default=False,
193
+ help="Salida en JSON bruto (ideal para scripts y agentes).")
168
194
  @click.pass_context
169
- def cli_tools_cmd(ctx: click.Context):
195
+ def cli_tools_cmd(ctx: click.Context, as_json_local: bool):
170
196
  """Lista las herramientas especializadas de línea de comandos en LOCKTHARD."""
171
197
  client: LockthardClient = ctx.obj["client"]
198
+ as_json = _get_as_json(ctx, as_json_local)
172
199
  try:
173
200
  res = client.get_cli_tools()
174
- print_cli_tools(res, as_json=ctx.obj["as_json"])
201
+ print_cli_tools(res, as_json=as_json)
175
202
  except LockthardError as e:
176
203
  _handle_error(e)
177
204
 
@@ -183,9 +210,33 @@ def guide():
183
210
 
184
211
 
185
212
  @cli.command()
186
- def skill():
187
- """Genera la especificación SKILL.md completa para que un Agente de IA la importe."""
188
- print_agent_skill()
213
+ @click.pass_context
214
+ def skill(ctx: click.Context):
215
+ """Muestra la SKILL.md integrada del paquete para que un Agente de IA la importe."""
216
+ import importlib.resources
217
+ try:
218
+ # Try to read SKILL.md bundled with the package
219
+ pkg_dir = Path(__file__).parent.parent
220
+ skill_path = pkg_dir / "SKILL.md"
221
+ if not skill_path.exists():
222
+ # Fallback: try importlib.resources
223
+ try:
224
+ ref = importlib.resources.files("lockthard_cli").parent.joinpath("SKILL.md")
225
+ content = ref.read_text(encoding="utf-8")
226
+ except Exception:
227
+ raise FileNotFoundError("SKILL.md no encontrada en el paquete.")
228
+ else:
229
+ content = skill_path.read_text(encoding="utf-8")
230
+
231
+ if ctx.obj.get("as_json"):
232
+ print(json.dumps({"skill": content}, ensure_ascii=False))
233
+ else:
234
+ if HAS_RICH and console:
235
+ console.print(Markdown(content))
236
+ else:
237
+ print(content)
238
+ except Exception as e:
239
+ _handle_error(LockthardError(f"No se pudo leer SKILL.md: {e}"))
189
240
 
190
241
 
191
242
  def main():
@@ -247,45 +247,5 @@ Bienvenido a la CLI de **LOCKTHARD**. Esta interfaz permite a Agentes de IA (Cla
247
247
  print(guide_md)
248
248
 
249
249
 
250
- def print_agent_skill():
251
- skill_content = """---
252
- name: lockthard
253
- description: "Scriptable CLI and AI agent client for LOCKTHARD (lockthard.es). Allows searching 2100+ AI tools, exploring 81+ tablets, retrieving tool installation commands, and inspecting tool details with minimum token overhead."
254
- version: 0.1.0
255
- ---
256
-
257
- # LOCKTHARD CLI - Agent Skill Guide
258
-
259
- Use this CLI to query the LOCKTHARD AI tools directory, find specific tools, get installation/setup commands, and browse tablets.
260
-
261
- ## Authentication
262
- Set the environment variable `LOCKTHARD_API_KEY`:
263
- ```bash
264
- export LOCKTHARD_API_KEY="lk_your_token"
265
- ```
266
-
267
- ## Recommended Workflow for AI Agents
268
- Always use the `--json` (`-j`) flag to receive clean JSON output.
269
-
270
- 1. **Verify status:** `lockthard ping`
271
- 2. **Search tools:** `lockthard search "ocr" --json`
272
- 3. **List all tablets:** `lockthard tablets list --json`
273
- 4. **Get tablet tools:** `lockthard tablets get ocr --json`
274
- 5. **Get tool details:** `lockthard tools get "Chandra OCR" --json`
275
- 6. **List CLI tools:** `lockthard cli-tools --json`
276
-
277
- ## Commands Reference
278
-
279
- | Command | Description | Example |
280
- |---|---|---|
281
- | `lockthard ping` | Check connection & auth status | `lockthard ping` |
282
- | `lockthard search <query>` | Search 2100+ tools | `lockthard search "ocr" -j` |
283
- | `lockthard tablets list` | List 81+ tablets | `lockthard tablets list -j` |
284
- | `lockthard tablets get <id>` | Inspect tablet content | `lockthard tablets get open-source -j` |
285
- | `lockthard tools get <id>` | Detailed tool info & CLI commands | `lockthard tools get "copilotkit" -j` |
286
- | `lockthard cli-tools` | List dedicated CLI tools | `lockthard cli-tools -j` |
287
- | `lockthard guide` | Show agent guide | `lockthard guide` |
288
- | `lockthard skill` | Output this SKILL.md definition | `lockthard skill` |
289
- """
290
- print(skill_content)
250
+
291
251
 
@@ -1,92 +1,92 @@
1
- Metadata-Version: 2.4
2
- Name: lockthard-cli
3
- Version: 0.1.4
4
- Summary: Super efficient CLI for LOCKTHARD AI tools directory and agents
5
- Author-email: Lockthard Team <info@lockthard.es>
6
- License: MIT
7
- Project-URL: Homepage, https://lockthard.es
8
- Keywords: cli,ai-tools,agents,mcp,lockthard
9
- Classifier: Development Status :: 4 - Beta
10
- Classifier: Environment :: Console
11
- Classifier: Intended Audience :: Developers
12
- Classifier: Programming Language :: Python :: 3
13
- Classifier: Programming Language :: Python :: 3.10
14
- Classifier: Programming Language :: Python :: 3.11
15
- Classifier: Programming Language :: Python :: 3.12
16
- Classifier: Topic :: Utilities
17
- Requires-Python: >=3.10
18
- Description-Content-Type: text/markdown
19
- Requires-Dist: click>=8.1.0
20
- Requires-Dist: requests>=2.28.0
21
- Requires-Dist: rich>=13.0.0
22
-
23
- # LOCKTHARD CLI (`lockthard`)
24
-
25
- A super efficient, scriptable command-line interface and AI agent client for **LOCKTHARD** (https://lockthard.es).
26
-
27
- Allows both human developers and autonomous AI agents (Claude Code, Antigravity, Aider, Cursor, etc.) to query, search, and inspect 61+ tablets and 1200+ AI tools with minimum token usage and zero prompt overhead.
28
-
29
- ## Installation
30
-
31
- ```bash
32
- pip install lockthard-cli
33
- ```
34
-
35
- Or run without installing:
36
-
37
- ```bash
38
- pipx run lockthard-cli --help
39
- ```
40
-
41
- ## Quick Start
42
-
43
- ### 1. Authentication
44
- Get your API key from [lockthard.es](https://lockthard.es).
45
-
46
- - **For AI Agents & CI/CD:**
47
- ```bash
48
- export LOCKTHARD_API_KEY="lk_your_token_here"
49
- ```
50
- - **Interactive Browser Login (Humans):**
51
- ```bash
52
- lockthard login
53
- ```
54
- - **Manual Login:**
55
- ```bash
56
- lockthard login --token "lk_your_token_here"
57
- ```
58
-
59
- ### 2. Commands
60
-
61
- ```bash
62
- # Ping service
63
- lockthard ping
64
-
65
- # Search tools (returns concise ASCII table)
66
- lockthard search "ocr"
67
-
68
- # Search tools in raw JSON (for agents / jq)
69
- lockthard search "ocr" --json
70
-
71
- # List all tablets
72
- lockthard tablets list
73
-
74
- # Inspect a specific tablet
75
- lockthard tablets get ocr
76
-
77
- # Inspect tool details
78
- lockthard tools get "Chandra OCR"
79
-
80
- # Display CLI agent guide
81
- lockthard guide
82
- ```
83
-
84
- ## Options
85
-
86
- - `--json` / `-j`: Output raw JSON without Rich styling.
87
- - `--url` / `-u`: Override base server URL (default: `https://lockthard.es`).
88
- - `--token` / `-t`: Override API token.
89
-
90
- ## License
91
-
92
- MIT License
1
+ Metadata-Version: 2.4
2
+ Name: lockthard-cli
3
+ Version: 0.2.1
4
+ Summary: CLI and AI agent client for LOCKTHARD — query 2100+ curated AI tools across 86+ tablets
5
+ Author-email: Lockthard Team <info@lockthard.es>
6
+ License: MIT
7
+ Project-URL: Homepage, https://lockthard.es
8
+ Keywords: cli,ai-tools,agents,mcp,lockthard
9
+ Classifier: Development Status :: 4 - Beta
10
+ Classifier: Environment :: Console
11
+ Classifier: Intended Audience :: Developers
12
+ Classifier: Programming Language :: Python :: 3
13
+ Classifier: Programming Language :: Python :: 3.10
14
+ Classifier: Programming Language :: Python :: 3.11
15
+ Classifier: Programming Language :: Python :: 3.12
16
+ Classifier: Topic :: Utilities
17
+ Requires-Python: >=3.10
18
+ Description-Content-Type: text/markdown
19
+ Requires-Dist: click>=8.1.0
20
+ Requires-Dist: requests>=2.28.0
21
+ Requires-Dist: rich>=13.0.0
22
+
23
+ # LOCKTHARD CLI (`lockthard`)
24
+
25
+ A super efficient, scriptable command-line interface and AI agent client for **LOCKTHARD** (https://lockthard.es).
26
+
27
+ Allows both human developers and autonomous AI agents (Claude Code, Antigravity, Aider, Cursor, etc.) to query, search, and inspect 61+ tablets and 1200+ AI tools with minimum token usage and zero prompt overhead.
28
+
29
+ ## Installation
30
+
31
+ ```bash
32
+ pip install lockthard-cli
33
+ ```
34
+
35
+ Or run without installing:
36
+
37
+ ```bash
38
+ pipx run lockthard-cli --help
39
+ ```
40
+
41
+ ## Quick Start
42
+
43
+ ### 1. Authentication
44
+ Get your API key from [lockthard.es](https://lockthard.es).
45
+
46
+ - **For AI Agents & CI/CD:**
47
+ ```bash
48
+ export LOCKTHARD_API_KEY="lk_your_token_here"
49
+ ```
50
+ - **Interactive Browser Login (Humans):**
51
+ ```bash
52
+ lockthard login
53
+ ```
54
+ - **Manual Login:**
55
+ ```bash
56
+ lockthard login --token "lk_your_token_here"
57
+ ```
58
+
59
+ ### 2. Commands
60
+
61
+ ```bash
62
+ # Ping service
63
+ lockthard ping
64
+
65
+ # Search tools (returns concise ASCII table)
66
+ lockthard search "ocr"
67
+
68
+ # Search tools in raw JSON (for agents / jq)
69
+ lockthard search "ocr" --json
70
+
71
+ # List all tablets
72
+ lockthard tablets list
73
+
74
+ # Inspect a specific tablet
75
+ lockthard tablets get ocr
76
+
77
+ # Inspect tool details
78
+ lockthard tools get "Chandra OCR"
79
+
80
+ # Display CLI agent guide
81
+ lockthard guide
82
+ ```
83
+
84
+ ## Options
85
+
86
+ - `--json` / `-j`: Output raw JSON without Rich styling.
87
+ - `--url` / `-u`: Override base server URL (default: `https://lockthard.es`).
88
+ - `--token` / `-t`: Override API token.
89
+
90
+ ## License
91
+
92
+ MIT License
@@ -4,8 +4,8 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "lockthard-cli"
7
- version = "0.1.4"
8
- description = "Super efficient CLI for LOCKTHARD AI tools directory and agents"
7
+ version = "0.2.1"
8
+ description = "CLI and AI agent client for LOCKTHARD — query 2100+ curated AI tools across 86+ tablets"
9
9
  readme = "README.md"
10
10
  license = { text = "MIT" }
11
11
  requires-python = ">=3.10"
@@ -37,3 +37,6 @@ lockthard = "lockthard_cli.cli:main"
37
37
 
38
38
  [tool.setuptools.packages.find]
39
39
  where = ["."]
40
+
41
+ [tool.setuptools.package-data]
42
+ "*" = ["SKILL.md"]
@@ -1,4 +1,4 @@
1
- [egg_info]
2
- tag_build =
3
- tag_date = 0
4
-
1
+ [egg_info]
2
+ tag_build =
3
+ tag_date = 0
4
+
File without changes