guild-cli 0.7.0__tar.gz → 0.7.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.
Files changed (103) hide show
  1. {guild_cli-0.7.0 → guild_cli-0.7.1}/.github/workflows/tests.yml +5 -6
  2. {guild_cli-0.7.0 → guild_cli-0.7.1}/CHANGELOG.md +21 -0
  3. {guild_cli-0.7.0 → guild_cli-0.7.1}/PKG-INFO +1 -1
  4. {guild_cli-0.7.0 → guild_cli-0.7.1}/pyproject.toml +1 -1
  5. guild_cli-0.7.1/sonar-project.properties +24 -0
  6. {guild_cli-0.7.0 → guild_cli-0.7.1}/uv.lock +1 -1
  7. {guild_cli-0.7.0 → guild_cli-0.7.1}/.claude/skills/agent-config/SKILL.md +0 -0
  8. {guild_cli-0.7.0 → guild_cli-0.7.1}/.claude/skills/agent-config/data/backend-fingerprints.yaml +0 -0
  9. {guild_cli-0.7.0 → guild_cli-0.7.1}/.claude/skills/agent-config/scripts/show.sh +0 -0
  10. {guild_cli-0.7.0 → guild_cli-0.7.1}/.claude/skills/assign-to-workforce/SKILL.md +0 -0
  11. {guild_cli-0.7.0 → guild_cli-0.7.1}/.claude/skills/assign-to-workforce/scripts/assign-to-workforce.sh +0 -0
  12. {guild_cli-0.7.0 → guild_cli-0.7.1}/.claude/skills/cicd/SKILL.md +0 -0
  13. {guild_cli-0.7.0 → guild_cli-0.7.1}/.claude/skills/cicd/scripts/_resolve-nick.sh +0 -0
  14. {guild_cli-0.7.0 → guild_cli-0.7.1}/.claude/skills/cicd/scripts/portability-lint.sh +0 -0
  15. {guild_cli-0.7.0 → guild_cli-0.7.1}/.claude/skills/cicd/scripts/pr-reply.sh +0 -0
  16. {guild_cli-0.7.0 → guild_cli-0.7.1}/.claude/skills/cicd/scripts/pr-status.sh +0 -0
  17. {guild_cli-0.7.0 → guild_cli-0.7.1}/.claude/skills/cicd/scripts/workflow.sh +0 -0
  18. {guild_cli-0.7.0 → guild_cli-0.7.1}/.claude/skills/communicate/SKILL.md +0 -0
  19. {guild_cli-0.7.0 → guild_cli-0.7.1}/.claude/skills/communicate/scripts/fetch-issues.sh +0 -0
  20. {guild_cli-0.7.0 → guild_cli-0.7.1}/.claude/skills/communicate/scripts/mesh-message.sh +0 -0
  21. {guild_cli-0.7.0 → guild_cli-0.7.1}/.claude/skills/communicate/scripts/post-comment.sh +0 -0
  22. {guild_cli-0.7.0 → guild_cli-0.7.1}/.claude/skills/communicate/scripts/post-issue.sh +0 -0
  23. {guild_cli-0.7.0 → guild_cli-0.7.1}/.claude/skills/communicate/scripts/templates/skill-new-brief.md +0 -0
  24. {guild_cli-0.7.0 → guild_cli-0.7.1}/.claude/skills/communicate/scripts/templates/skill-update-brief.md +0 -0
  25. {guild_cli-0.7.0 → guild_cli-0.7.1}/.claude/skills/doc-test-alignment/SKILL.md +0 -0
  26. {guild_cli-0.7.0 → guild_cli-0.7.1}/.claude/skills/doc-test-alignment/scripts/check.sh +0 -0
  27. {guild_cli-0.7.0 → guild_cli-0.7.1}/.claude/skills/guild/SKILL.md +0 -0
  28. {guild_cli-0.7.0 → guild_cli-0.7.1}/.claude/skills/guild/scripts/configure-repo.sh +0 -0
  29. {guild_cli-0.7.0 → guild_cli-0.7.1}/.claude/skills/guild/scripts/create.sh +0 -0
  30. {guild_cli-0.7.0 → guild_cli-0.7.1}/.claude/skills/guild/scripts/overview.sh +0 -0
  31. {guild_cli-0.7.0 → guild_cli-0.7.1}/.claude/skills/onboard/SKILL.md +0 -0
  32. {guild_cli-0.7.0 → guild_cli-0.7.1}/.claude/skills/onboard/scripts/onboard.sh +0 -0
  33. {guild_cli-0.7.0 → guild_cli-0.7.1}/.claude/skills/pypi-maintainer/SKILL.md +0 -0
  34. {guild_cli-0.7.0 → guild_cli-0.7.1}/.claude/skills/pypi-maintainer/scripts/switch-source.sh +0 -0
  35. {guild_cli-0.7.0 → guild_cli-0.7.1}/.claude/skills/run-tests/SKILL.md +0 -0
  36. {guild_cli-0.7.0 → guild_cli-0.7.1}/.claude/skills/run-tests/scripts/test.sh +0 -0
  37. {guild_cli-0.7.0 → guild_cli-0.7.1}/.claude/skills/sonarclaude/SKILL.md +0 -0
  38. {guild_cli-0.7.0 → guild_cli-0.7.1}/.claude/skills/sonarclaude/scripts/sonar.sh +0 -0
  39. {guild_cli-0.7.0 → guild_cli-0.7.1}/.claude/skills/spec-to-plan/SKILL.md +0 -0
  40. {guild_cli-0.7.0 → guild_cli-0.7.1}/.claude/skills/spec-to-plan/scripts/spec-to-plan.sh +0 -0
  41. {guild_cli-0.7.0 → guild_cli-0.7.1}/.claude/skills/teach/SKILL.md +0 -0
  42. {guild_cli-0.7.0 → guild_cli-0.7.1}/.claude/skills/teach/scripts/teach.sh +0 -0
  43. {guild_cli-0.7.0 → guild_cli-0.7.1}/.claude/skills/think/SKILL.md +0 -0
  44. {guild_cli-0.7.0 → guild_cli-0.7.1}/.claude/skills/think/scripts/think.sh +0 -0
  45. {guild_cli-0.7.0 → guild_cli-0.7.1}/.claude/skills/version-bump/SKILL.md +0 -0
  46. {guild_cli-0.7.0 → guild_cli-0.7.1}/.claude/skills/version-bump/scripts/bump.py +0 -0
  47. {guild_cli-0.7.0 → guild_cli-0.7.1}/.claude/skills.local.yaml.example +0 -0
  48. {guild_cli-0.7.0 → guild_cli-0.7.1}/.devague/frames/guildmaster-ships-teach-and-onboard-two-agent-firs.json +0 -0
  49. {guild_cli-0.7.0 → guild_cli-0.7.1}/.devague/plans/guildmaster-ships-teach-and-onboard-two-agent-firs.json +0 -0
  50. {guild_cli-0.7.0 → guild_cli-0.7.1}/.flake8 +0 -0
  51. {guild_cli-0.7.0 → guild_cli-0.7.1}/.github/workflows/publish.yml +0 -0
  52. {guild_cli-0.7.0 → guild_cli-0.7.1}/.gitignore +0 -0
  53. {guild_cli-0.7.0 → guild_cli-0.7.1}/.markdownlint-cli2.yaml +0 -0
  54. {guild_cli-0.7.0 → guild_cli-0.7.1}/CLAUDE.md +0 -0
  55. {guild_cli-0.7.0 → guild_cli-0.7.1}/LICENSE +0 -0
  56. {guild_cli-0.7.0 → guild_cli-0.7.1}/README.md +0 -0
  57. {guild_cli-0.7.0 → guild_cli-0.7.1}/culture.yaml +0 -0
  58. {guild_cli-0.7.0 → guild_cli-0.7.1}/docs/cutover.md +0 -0
  59. {guild_cli-0.7.0 → guild_cli-0.7.1}/docs/plans/2026-05-24-guildmaster-ships-teach-and-onboard-two-agent-firs.md +0 -0
  60. {guild_cli-0.7.0 → guild_cli-0.7.1}/docs/skill-sources.md +0 -0
  61. {guild_cli-0.7.0 → guild_cli-0.7.1}/docs/specs/2026-05-24-guildmaster-ships-teach-and-onboard-two-agent-firs.md +0 -0
  62. {guild_cli-0.7.0 → guild_cli-0.7.1}/guild/__init__.py +0 -0
  63. {guild_cli-0.7.0 → guild_cli-0.7.1}/guild/__main__.py +0 -0
  64. {guild_cli-0.7.0 → guild_cli-0.7.1}/guild/cli/__init__.py +0 -0
  65. {guild_cli-0.7.0 → guild_cli-0.7.1}/guild/cli/_commands/__init__.py +0 -0
  66. {guild_cli-0.7.0 → guild_cli-0.7.1}/guild/cli/_commands/_broadcast.py +0 -0
  67. {guild_cli-0.7.0 → guild_cli-0.7.1}/guild/cli/_commands/_provision_template.py +0 -0
  68. {guild_cli-0.7.0 → guild_cli-0.7.1}/guild/cli/_commands/create.py +0 -0
  69. {guild_cli-0.7.0 → guild_cli-0.7.1}/guild/cli/_commands/explain.py +0 -0
  70. {guild_cli-0.7.0 → guild_cli-0.7.1}/guild/cli/_commands/learn.py +0 -0
  71. {guild_cli-0.7.0 → guild_cli-0.7.1}/guild/cli/_commands/onboard.py +0 -0
  72. {guild_cli-0.7.0 → guild_cli-0.7.1}/guild/cli/_commands/overview.py +0 -0
  73. {guild_cli-0.7.0 → guild_cli-0.7.1}/guild/cli/_commands/show.py +0 -0
  74. {guild_cli-0.7.0 → guild_cli-0.7.1}/guild/cli/_commands/teach.py +0 -0
  75. {guild_cli-0.7.0 → guild_cli-0.7.1}/guild/cli/_commands/whoami.py +0 -0
  76. {guild_cli-0.7.0 → guild_cli-0.7.1}/guild/cli/_errors.py +0 -0
  77. {guild_cli-0.7.0 → guild_cli-0.7.1}/guild/cli/_output.py +0 -0
  78. {guild_cli-0.7.0 → guild_cli-0.7.1}/guild/cli/_repo.py +0 -0
  79. {guild_cli-0.7.0 → guild_cli-0.7.1}/guild/scaffold/__init__.py +0 -0
  80. {guild_cli-0.7.0 → guild_cli-0.7.1}/guild/scaffold/instantiate.py +0 -0
  81. {guild_cli-0.7.0 → guild_cli-0.7.1}/guild/skills/__init__.py +0 -0
  82. {guild_cli-0.7.0 → guild_cli-0.7.1}/guild/skills/identity.py +0 -0
  83. {guild_cli-0.7.0 → guild_cli-0.7.1}/guild/skills/ledger.py +0 -0
  84. {guild_cli-0.7.0 → guild_cli-0.7.1}/guild/skills/render.py +0 -0
  85. {guild_cli-0.7.0 → guild_cli-0.7.1}/guild/skills/sources.py +0 -0
  86. {guild_cli-0.7.0 → guild_cli-0.7.1}/tests/__init__.py +0 -0
  87. {guild_cli-0.7.0 → guild_cli-0.7.1}/tests/test_broadcast_post.py +0 -0
  88. {guild_cli-0.7.0 → guild_cli-0.7.1}/tests/test_cli.py +0 -0
  89. {guild_cli-0.7.0 → guild_cli-0.7.1}/tests/test_cli_create.py +0 -0
  90. {guild_cli-0.7.0 → guild_cli-0.7.1}/tests/test_cli_explain.py +0 -0
  91. {guild_cli-0.7.0 → guild_cli-0.7.1}/tests/test_cli_learn.py +0 -0
  92. {guild_cli-0.7.0 → guild_cli-0.7.1}/tests/test_cli_onboard.py +0 -0
  93. {guild_cli-0.7.0 → guild_cli-0.7.1}/tests/test_cli_overview.py +0 -0
  94. {guild_cli-0.7.0 → guild_cli-0.7.1}/tests/test_cli_show.py +0 -0
  95. {guild_cli-0.7.0 → guild_cli-0.7.1}/tests/test_cli_teach.py +0 -0
  96. {guild_cli-0.7.0 → guild_cli-0.7.1}/tests/test_cli_whoami.py +0 -0
  97. {guild_cli-0.7.0 → guild_cli-0.7.1}/tests/test_scaffold_instantiate.py +0 -0
  98. {guild_cli-0.7.0 → guild_cli-0.7.1}/tests/test_skills_convention.py +0 -0
  99. {guild_cli-0.7.0 → guild_cli-0.7.1}/tests/test_skills_identity.py +0 -0
  100. {guild_cli-0.7.0 → guild_cli-0.7.1}/tests/test_skills_ledger.py +0 -0
  101. {guild_cli-0.7.0 → guild_cli-0.7.1}/tests/test_skills_render.py +0 -0
  102. {guild_cli-0.7.0 → guild_cli-0.7.1}/tests/test_skills_sources.py +0 -0
  103. {guild_cli-0.7.0 → guild_cli-0.7.1}/tests/test_version_fallback.py +0 -0
@@ -33,12 +33,11 @@ jobs:
33
33
  - run: uv run pytest -n auto --cov=guild --cov-report=xml:coverage.xml --cov-report=term -v
34
34
 
35
35
  - name: SonarCloud Scan
36
- # Require BOTH the token and a committed sonar config. The org-level
37
- # SONAR_TOKEN is inherited even though guildmaster isn't provisioned on
38
- # SonarCloud yet; without a sonar.projectKey/organization the scanner
39
- # fails (exit 3). Commit a sonar-project.properties when the project is
40
- # created to activate the scan.
41
- if: env.SONAR_TOKEN != '' && hashFiles('sonar-project.properties') != ''
36
+ # Reads sonar-project.properties (projectKey agentculture_guildmaster,
37
+ # coverage.xml path, qualitygate.wait). Gated only on the token so fork
38
+ # PRs and token-less repos skip the scan and stay green — `secrets.*`
39
+ # isn't allowed in `if:`, hence the job-level env promotion above.
40
+ if: env.SONAR_TOKEN != ''
42
41
  uses: SonarSource/sonarqube-scan-action@fd88b7d7ccbaefd23d8f36f73b59db7a3d246602 # v6
43
42
  env:
44
43
  SONAR_HOST_URL: https://sonarcloud.io
@@ -5,6 +5,27 @@ All notable changes to this project will be documented in this file.
5
5
  Format follows [Keep a Changelog](https://keepachangelog.com/). This project
6
6
  adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [0.7.1] - 2026-05-29
9
+
10
+ ### Added
11
+
12
+ - **SonarCloud coverage wiring** — committed `sonar-project.properties`
13
+ (`agentculture_guildmaster`, `sonar.python.coverage.reportPaths=coverage.xml`,
14
+ `sonar.qualitygate.wait=true`). CI already produced `coverage.xml`
15
+ (`--cov=guild --cov-report=xml:coverage.xml`) but the SonarCloud scan was
16
+ gated off because the config file was absent — guildmaster was the only repo
17
+ in the fleet without it. The project is already provisioned on SonarCloud, so
18
+ this activates the scan and feeds coverage to the quality gate.
19
+
20
+ ### Changed
21
+
22
+ - **`tests.yml` SonarCloud Scan gate** — dropped the now-redundant
23
+ `hashFiles('sonar-project.properties')` clause (the file is committed) so the
24
+ step gates only on `env.SONAR_TOKEN != ''`, matching steward and the
25
+ `culture-agent-template`. Refreshed the stale "not provisioned yet" comment.
26
+
27
+ ### Fixed
28
+
8
29
  ## [0.7.0] - 2026-05-28
9
30
 
10
31
  ### Added
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: guild-cli
3
- Version: 0.7.0
3
+ Version: 0.7.1
4
4
  Summary: guildmaster — an agent and CLI that manages skills for the AgentCulture mesh.
5
5
  Project-URL: Homepage, https://github.com/agentculture/guildmaster
6
6
  Project-URL: Issues, https://github.com/agentculture/guildmaster/issues
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "guild-cli"
3
- version = "0.7.0"
3
+ version = "0.7.1"
4
4
  description = "guildmaster — an agent and CLI that manages skills for the AgentCulture mesh."
5
5
  readme = "README.md"
6
6
  license = "MIT"
@@ -0,0 +1,24 @@
1
+ # SonarCloud project identity. Matches the project key registered on
2
+ # SonarCloud and used by the cicd skill's Sonar status queries
3
+ # (`agentculture_guildmaster`).
4
+ sonar.projectKey=agentculture_guildmaster
5
+ sonar.organization=agentculture
6
+
7
+ # Source layout — package lives at the top level (no src/ wrapper).
8
+ sonar.sources=guild
9
+ sonar.tests=tests
10
+
11
+ # Coverage report produced in CI by `uv run pytest --cov-report=xml:coverage.xml`
12
+ # (see .github/workflows/tests.yml). Path is relative to the repo root.
13
+ sonar.python.coverage.reportPaths=coverage.xml
14
+ sonar.python.version=3.12
15
+
16
+ # Don't analyze noise (vendored skills are cite-don't-import copies, not source).
17
+ sonar.exclusions=**/__pycache__/**,**/.venv/**,uv.lock,.claude/skills/**
18
+
19
+ # Block CI on a failing quality gate. The scanner polls SonarCloud and exits
20
+ # non-zero on a red gate (coverage regression, new bugs/vulnerabilities). Only
21
+ # takes effect when the SonarCloud Scan step runs — that step is guarded by
22
+ # `if: env.SONAR_TOKEN != ''` in .github/workflows/tests.yml, so token-less
23
+ # repos and fork PRs (no injected secret) skip the scan and stay green.
24
+ sonar.qualitygate.wait=true
@@ -179,7 +179,7 @@ wheels = [
179
179
 
180
180
  [[package]]
181
181
  name = "guild-cli"
182
- version = "0.7.0"
182
+ version = "0.7.1"
183
183
  source = { editable = "." }
184
184
  dependencies = [
185
185
  { name = "pyyaml" },
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes