agnostic-prompt-aps 1.1.6__py3-none-any.whl → 1.1.7__py3-none-any.whl

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,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: agnostic-prompt-aps
3
- Version: 1.1.6
3
+ Version: 1.1.7
4
4
  Summary: CLI to install and manage the Agnostic Prompt Standard (APS) skill and platform templates.
5
5
  Author: Agnostic Prompt Standard contributors
6
6
  License: MIT
@@ -1,10 +1,10 @@
1
- agnostic_prompt_aps-1.1.6.dist-info/licenses/LICENSE,sha256=bixK0b9fG-B4jQ16f5FD8qbhuEo-ivFA1MojYWAjbAQ,1114
2
- aps_cli/__init__.py,sha256=e9yNEQwVIgXzQhkio1Wkvn6XXiwoN8UakODh2E0-fg0,49
1
+ agnostic_prompt_aps-1.1.7.dist-info/licenses/LICENSE,sha256=bixK0b9fG-B4jQ16f5FD8qbhuEo-ivFA1MojYWAjbAQ,1114
2
+ aps_cli/__init__.py,sha256=PdAvR0HXClSg963A-VZ1RhZC19UjMEtP_p19FZsVuj4,49
3
3
  aps_cli/__main__.py,sha256=cGvRl_jCFxhnuk_cxPOYbJIJCKnh6O0dT9p9NwK309g,127
4
- aps_cli/cli.py,sha256=FvVq6tr5FIng13eKavOepe_SU7E_xsQYeiJDPn1M64A,18715
5
- aps_cli/core.py,sha256=SDXe5222_ZwYzn9ZwVdHcBdYoTfyjrT9peLPk8hHZSw,11622
4
+ aps_cli/cli.py,sha256=03Y0JSwD1tWdYIUQsdviAOHktw6NdTr3ANAXXKVz0ew,19294
5
+ aps_cli/core.py,sha256=v6IEZ2W2E0R1URXq4vwLM_2Q4xg3zWxt2fqT8EkjHlY,11594
6
6
  aps_cli/schemas.py,sha256=x4Yqm0u4utNdr7QdfZBCCDg0bBI0lM6FYpy19YsPyBE,4986
7
- aps_cli/payload/agnostic-prompt-standard/SKILL.md,sha256=w9p8Vy4WnjEg5CjuWn9hoq5avlqSMVqcXYOgaZ1x908,3207
7
+ aps_cli/payload/agnostic-prompt-standard/SKILL.md,sha256=6ys73LBsxR9xOcmaozZ3nWRPf_mo2pdMHd4D6QJ8d1E,3281
8
8
  aps_cli/payload/agnostic-prompt-standard/assets/constants/constants-json-block-v1.0.0.example.md,sha256=xFwyXhYK1s4IcHG7b_951lpOCvi4pmIenWG0QNvYn3Q,314
9
9
  aps_cli/payload/agnostic-prompt-standard/assets/constants/constants-text-block-v1.0.0.example.md,sha256=JHIO0ph7Pa1eBUyoqn8rYmtNivVADJD1K1uOllEY5GM,454
10
10
  aps_cli/payload/agnostic-prompt-standard/assets/formats/format-code-changes-full-v1.0.0.example.md,sha256=CTt0CS0ZLy3pNjc-wxxG8kIZvM8KOEIaXtzNJwHSc1A,754
@@ -22,14 +22,14 @@ aps_cli/payload/agnostic-prompt-standard/platforms/_template/README.md,sha256=9N
22
22
  aps_cli/payload/agnostic-prompt-standard/platforms/_template/manifest.json,sha256=0BWKB95FcJU-Nn0ZCLoE5td9q0vfbYgOq9rjW8OhQlw,523
23
23
  aps_cli/payload/agnostic-prompt-standard/platforms/_template/tools-registry.json,sha256=myt1MAnLArg_BWMiiMpj1fcWQy_Ve-LLIYPITtYlM5o,231
24
24
  aps_cli/payload/agnostic-prompt-standard/platforms/claude-code/README.md,sha256=OSYK-SkgaD8rYfpolJJJ2aI8KK8iH8YQIZPHdMGNYF0,6963
25
- aps_cli/payload/agnostic-prompt-standard/platforms/claude-code/manifest.json,sha256=rFPhdQEeYQVmuABEQO7z03jtnMxpxJpOTslPJiqTQ8g,2397
25
+ aps_cli/payload/agnostic-prompt-standard/platforms/claude-code/manifest.json,sha256=KDlcW1B_oHncSin7sH3elnGa4Uf_ge3bd48WAq7tx7Y,2936
26
26
  aps_cli/payload/agnostic-prompt-standard/platforms/claude-code/tools-registry.json,sha256=j3bHgu4D7hGFs0WgQEWY7GglLP-ceubI4g_3s2EzN5k,8447
27
27
  aps_cli/payload/agnostic-prompt-standard/platforms/claude-code/frontmatter/agent-frontmatter.md,sha256=PbAKJlJoCRBKg6hbkCIV4sb0U62nPWGiMB3IVvfmIBg,2398
28
28
  aps_cli/payload/agnostic-prompt-standard/platforms/claude-code/frontmatter/rules-frontmatter.md,sha256=W6_UWAHUco_E8B-QhKDyZ3e7-HETvfouyye9PlPlW5E,857
29
29
  aps_cli/payload/agnostic-prompt-standard/platforms/opencode/manifest.json,sha256=ElfHNd9QVyAgGrZ0gBhI0tBwZiB4YywWetMTCb4UhpA,883
30
- aps_cli/payload/agnostic-prompt-standard/platforms/opencode/tools-registry.json,sha256=kl75v0hxeDb09_mcx2IR79iD2S3N0ls82VbFlecvWzE,73
30
+ aps_cli/payload/agnostic-prompt-standard/platforms/opencode/tools-registry.json,sha256=H2ML_k3bv4k54O8IipjvcLli80GVrHrxWZdVZK3Ojf8,165
31
31
  aps_cli/payload/agnostic-prompt-standard/platforms/vscode-copilot/README.md,sha256=Az2HrIYb_ixz2NWzc_U5DDMkiyV1Xj-SuPZflYZlKl4,2620
32
- aps_cli/payload/agnostic-prompt-standard/platforms/vscode-copilot/manifest.json,sha256=bJK8KfbBPJNsp3Ot_3h4daeN6VnJXKRHuCxDSugFj40,1928
32
+ aps_cli/payload/agnostic-prompt-standard/platforms/vscode-copilot/manifest.json,sha256=TMB_NqemDlMKAym9Ps4UjqJQQJFe8XrvWx9NmoXryKc,2483
33
33
  aps_cli/payload/agnostic-prompt-standard/platforms/vscode-copilot/tools-registry.json,sha256=yomjl-_jztd2I0-CGF8plnYtvAWrT-t0StqJF8LoQ04,14966
34
34
  aps_cli/payload/agnostic-prompt-standard/platforms/vscode-copilot/frontmatter/agent-frontmatter.md,sha256=FXXhAofu4PKxmbKSPtIJIEGfHz6BD-XhQOYBHgdGoTU,1071
35
35
  aps_cli/payload/agnostic-prompt-standard/platforms/vscode-copilot/frontmatter/instructions-frontmatter.md,sha256=Mso-Yz7EEoAWlDbJy_2ydt267f1wwDzwrNL7J-QFhqk,356
@@ -43,8 +43,8 @@ aps_cli/payload/agnostic-prompt-standard/references/04-schemas-and-types.md,sha2
43
43
  aps_cli/payload/agnostic-prompt-standard/references/05-grammar.md,sha256=2wdAmgPnMvEZp9NP5yxJ0B7qzdbHQgi_clQWwmx6ipM,5056
44
44
  aps_cli/payload/agnostic-prompt-standard/references/06-logging-and-privacy.md,sha256=38jq2KiJaMxbYQl5b6-6cd-9n9u30Dp9XpdCvJ00cAk,753
45
45
  aps_cli/payload/agnostic-prompt-standard/references/07-error-taxonomy.md,sha256=DiZDOl3rzL2QxuvOOzuIvafbOyfse0l-zJL83HncOYw,5266
46
- agnostic_prompt_aps-1.1.6.dist-info/METADATA,sha256=6XQ1D84uytHaZxYaYyiVV5ujmcZYB1BgoAI8gwoUeeM,2172
47
- agnostic_prompt_aps-1.1.6.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
48
- agnostic_prompt_aps-1.1.6.dist-info/entry_points.txt,sha256=a43GxenITS3XmOM2LOZgHWOyY1_usOojF0FJvAhwWwU,80
49
- agnostic_prompt_aps-1.1.6.dist-info/top_level.txt,sha256=ZH6TKm_OpENvlmI63-Fqi10WFhuYf_hMAspRwxQmK6Y,8
50
- agnostic_prompt_aps-1.1.6.dist-info/RECORD,,
46
+ agnostic_prompt_aps-1.1.7.dist-info/METADATA,sha256=dCPx3fpOA_XkyHpb7ZDDbWD5qPzjPAaXtLm2UCnG_dI,2172
47
+ agnostic_prompt_aps-1.1.7.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
48
+ agnostic_prompt_aps-1.1.7.dist-info/entry_points.txt,sha256=a43GxenITS3XmOM2LOZgHWOyY1_usOojF0FJvAhwWwU,80
49
+ agnostic_prompt_aps-1.1.7.dist-info/top_level.txt,sha256=ZH6TKm_OpENvlmI63-Fqi10WFhuYf_hMAspRwxQmK6Y,8
50
+ agnostic_prompt_aps-1.1.7.dist-info/RECORD,,
aps_cli/__init__.py CHANGED
@@ -1,3 +1,3 @@
1
1
  __all__ = ["__version__"]
2
2
 
3
- __version__ = "1.1.6"
3
+ __version__ = "1.1.7"
aps_cli/cli.py CHANGED
@@ -1,7 +1,6 @@
1
1
  from __future__ import annotations
2
2
 
3
3
  import json
4
- import os
5
4
  from dataclasses import dataclass
6
5
  from pathlib import Path
7
6
  from typing import Literal, Optional
@@ -240,6 +239,14 @@ def _render_plan(plan: InitPlan, force: bool) -> str:
240
239
  return "\n".join(lines)
241
240
 
242
241
 
242
+ def _render_empty_platform_warning() -> str:
243
+ """Return warning message for empty platform selection."""
244
+ return (
245
+ "Note: No platform adapters selected. Only the APS skill will be installed.\n"
246
+ " Templates will not be copied. Use --platform <id> to include platform templates."
247
+ )
248
+
249
+
243
250
  @app.command()
244
251
  def init(
245
252
  root: Optional[str] = typer.Option(
@@ -260,7 +267,7 @@ def init(
260
267
  platform: Optional[list[str]] = typer.Option(
261
268
  None,
262
269
  "--platform",
263
- help='Platform adapter(s) to apply (e.g. vscode-copilot, claude-code). Use "none" to skip.',
270
+ help='Platform adapter(s) to apply (e.g. vscode-copilot, claude-code). Use "none" to skip platform templates.',
264
271
  ),
265
272
  yes: bool = typer.Option(
266
273
  False, "--yes", "-y", help="Non-interactive: accept inferred/default choices"
@@ -419,12 +426,19 @@ def init(
419
426
  if dry_run:
420
427
  console.print("Dry run — planned actions:\n")
421
428
  console.print(_render_plan(plan, force))
429
+ if not plan.selected_platforms:
430
+ console.print()
431
+ console.print(_render_empty_platform_warning())
422
432
  return
423
433
 
424
434
  if not yes and is_tty():
425
435
  console.print(_render_plan(plan, force))
426
436
  console.print()
427
437
 
438
+ if not plan.selected_platforms:
439
+ console.print(_render_empty_platform_warning())
440
+ console.print()
441
+
428
442
  if any(s.exists for s in skills) and not force:
429
443
  console.print(
430
444
  "Note: One or more skill destinations already exist. Confirming will overwrite them."
aps_cli/core.py CHANGED
@@ -8,7 +8,7 @@ from dataclasses import dataclass, field
8
8
  from pathlib import Path
9
9
  from typing import Callable, Literal, Optional
10
10
 
11
- from .schemas import safe_parse_platform_manifest, normalize_detection_marker
11
+ from .schemas import safe_parse_platform_manifest
12
12
 
13
13
  SKILL_ID = "agnostic-prompt-standard"
14
14
 
@@ -3,9 +3,10 @@ name: agnostic-prompt-standard
3
3
  description: The reference framework to generate, compile, and lint greenfield prompts that conform to the Agnostic Prompt Standard (APS) v1.0.
4
4
  license: MIT
5
5
  metadata:
6
+ repository: "https://github.com/chris-buckley/agnostic-prompt-standard"
6
7
  authors: "Christopher Buckley; Juan Burckhardt; Anastasiya Smirnova"
7
8
  spec_version: "1.0"
8
- framework_revision: "1.1.6"
9
+ framework_revision: "1.1.7"
9
10
  last_updated: "2026-01-15"
10
11
  ---
11
12
 
@@ -76,5 +76,21 @@
76
76
  "mcpTools": "MCP tools use pattern: mcp__<server>__<tool>",
77
77
  "qualification": "No qualification needed - tool names are global identifiers."
78
78
  },
79
- "notes": "Claude Code uses a hierarchical memory system with CLAUDE.md files. Custom subagents are defined in .claude/agents/*.md with YAML frontmatter."
79
+ "notes": "Claude Code uses a hierarchical memory system with CLAUDE.md files. Custom subagents are defined in .claude/agents/*.md with YAML frontmatter.",
80
+ "agentVersioning": {
81
+ "templates": [
82
+ {
83
+ "path": "templates/.claude/agents/aps-v{major}.{minor}.{patch}.md",
84
+ "currentPath": "templates/.claude/agents/aps-v1.1.7.md",
85
+ "frontmatter": {
86
+ "name": {
87
+ "pattern": "aps-v{major}-{minor}-{patch}"
88
+ },
89
+ "description": {
90
+ "pattern": "Generate APS v{major}.{minor}.{patch} subagent files: load APS+Claude Code adapter, extract intent, then generate+lint (and write if allowed)."
91
+ }
92
+ }
93
+ }
94
+ ]
95
+ }
80
96
  }
@@ -1,4 +1,9 @@
1
1
  {
2
- "$schema": "../_schemas/tools-registry.schema.json",
3
- "tools": []
2
+ "platformId": "opencode",
3
+ "adapterVersion": "1.0.0",
4
+ "lastUpdated": "2026-01-29",
5
+ "toolNaming": {},
6
+ "toolSets": [],
7
+ "tools": [],
8
+ "recommended": {}
4
9
  }
@@ -42,5 +42,21 @@
42
42
  "frontmatterTools": "Prompt/agent YAML frontmatter uses tool names (no leading #).",
43
43
  "qualification": "Newer VS Code versions may require fully-qualified tool names (example: search/codebase). Always prefer the name displayed in the VS Code tools picker."
44
44
  },
45
- "notes": "This adapter documents VS Code Copilot-specific frontmatter and tool naming so APS prompts can be generated reproducibly."
45
+ "notes": "This adapter documents VS Code Copilot-specific frontmatter and tool naming so APS prompts can be generated reproducibly.",
46
+ "agentVersioning": {
47
+ "templates": [
48
+ {
49
+ "path": "templates/.github/agents/aps-v{major}.{minor}.{patch}.agent.md",
50
+ "currentPath": "templates/.github/agents/aps-v1.1.7.agent.md",
51
+ "frontmatter": {
52
+ "name": {
53
+ "pattern": "APS v{major}.{minor}.{patch} Agent"
54
+ },
55
+ "description": {
56
+ "pattern": "Generate APS v{major}.{minor}.{patch} .prompt.md files: load APS+VS Code adapter, extract intent, then generate+lint (and write if allowed)."
57
+ }
58
+ }
59
+ }
60
+ ]
61
+ }
46
62
  }