diff --git a/.claude-plugin/marketplace.json b/.claude-plugin/marketplace.json index e333cccf3..240ae93f9 100644 --- a/.claude-plugin/marketplace.json +++ b/.claude-plugin/marketplace.json @@ -1,12 +1,12 @@ { - "name": "hawk-community-skills", + "name": "starling", "owner": { "name": "GrayCode AI", "url": "https://github.com/GrayCodeAI" }, "plugins": [ { - "name": "hawk-community-skills", + "name": "starling", "source": "./", "description": "Community skill packages for hawk \u2014 security, code review, DevOps, and more.", "version": "0.1.0", diff --git a/.claude-plugin/plugin.json b/.claude-plugin/plugin.json index 444b340e3..4c66563d5 100644 --- a/.claude-plugin/plugin.json +++ b/.claude-plugin/plugin.json @@ -1,12 +1,12 @@ { - "name": "hawk-community-skills", + "name": "starling", "version": "0.1.0", "description": "Community skill packages for hawk \u2014 the AI coding agent. Security, code review, DevOps, and more.", "author": { "name": "GrayCode AI", "url": "https://github.com/GrayCodeAI" }, - "repository": "https://github.com/GrayCodeAI/hawk-community-skills", + "repository": "https://github.com/GrayCodeAI/starling", "license": "MIT", "keywords": [ "hawk", diff --git a/.codex-plugin/plugin.json b/.codex-plugin/plugin.json index df322dfda..a8a4f8bf5 100644 --- a/.codex-plugin/plugin.json +++ b/.codex-plugin/plugin.json @@ -1,8 +1,8 @@ { - "name": "hawk-community-skills", + "name": "starling", "version": "0.1.0", "description": "Community skill packages for hawk \u2014 security, code review, DevOps, and more.", "author": "GrayCode AI", - "repository": "https://github.com/GrayCodeAI/hawk-community-skills", + "repository": "https://github.com/GrayCodeAI/starling", "license": "MIT" } diff --git a/.cursor-plugin/plugin.json b/.cursor-plugin/plugin.json index df322dfda..a8a4f8bf5 100644 --- a/.cursor-plugin/plugin.json +++ b/.cursor-plugin/plugin.json @@ -1,8 +1,8 @@ { - "name": "hawk-community-skills", + "name": "starling", "version": "0.1.0", "description": "Community skill packages for hawk \u2014 security, code review, DevOps, and more.", "author": "GrayCode AI", - "repository": "https://github.com/GrayCodeAI/hawk-community-skills", + "repository": "https://github.com/GrayCodeAI/starling", "license": "MIT" } diff --git a/.env.example b/.env.example index 33b80f2c9..fd1187de5 100644 --- a/.env.example +++ b/.env.example @@ -1,5 +1,5 @@ -# hawk-community-skills environment variables — copy to .env and fill in -# hawk-community-skills is a skill registry with no network service. +# starling environment variables — copy to .env and fill in +# starling is a skill registry with no network service. # Optional: override the default skills installation directory HAWK_SKILLS_DIR=~/.hawk/skills diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index c16e53491..f9efd8b99 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -1,4 +1,4 @@ -# CODEOWNERS for hawk-community-skills +# CODEOWNERS for starling # # GitHub CODEOWNERS uses last-match-wins: more specific rules must come AFTER # more general ones to actually take effect. /categories/ and /registry.json diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 5ce58a9b4..d8a221cde 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -83,7 +83,7 @@ jobs: with: context: . file: Dockerfile.sandbox - tags: hawk-community-skills-sandbox:ci + tags: starling-sandbox:ci push: false load: true cache-from: type=gha,scope=sandbox @@ -93,7 +93,7 @@ jobs: BASE_REF: ${{ github.event.pull_request.base.sha || github.event.before }} run: | changed="$(git diff --name-only "$BASE_REF" HEAD)" - python3 tools/sandbox_run_changed_scripts.py --image hawk-community-skills-sandbox:ci $changed + python3 tools/sandbox_run_changed_scripts.py --image starling-sandbox:ci $changed # ------------------------------------------------------------------------- # Duplication detection — jscpd (scan categories with reasonable thresholds). diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index cdc53be29..d2b4ddb04 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -18,7 +18,7 @@ permissions: env: REGISTRY: ghcr.io - IMAGE_NAME: graycodeai/hawk-community-skills + IMAGE_NAME: graycodeai/starling jobs: build-and-push: diff --git a/AGENTS.md b/AGENTS.md index 307d8b5ec..91e06f173 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -1,10 +1,10 @@ --- -description: hawk-community-skills — validation, registry, and contribution conventions. +description: starling — validation, registry, and contribution conventions. globs: "*.md,*.py,*.toml,*.yaml,*.yml" alwaysApply: false --- -# hawk-community-skills Conventions +# starling Conventions Community skill packages for [hawk](https://github.com/GrayCodeAI/hawk). @@ -50,7 +50,7 @@ For full hawk-eco extension guidelines, see [hawk/AGENTS.md](https://github.com/ ## GitNexus — Code Intelligence -This project is indexed by GitNexus as **hawk-community-skills** (210621 symbols, 225507 relationships, 136 execution flows). Use the GitNexus MCP tools to understand code, assess impact, and navigate safely. +This project is indexed by GitNexus as **starling** (210621 symbols, 225507 relationships, 136 execution flows). Use the GitNexus MCP tools to understand code, assess impact, and navigate safely. > Index stale? Run `node .gitnexus/run.cjs analyze` from the project root — it auto-selects an available runner. No `.gitnexus/run.cjs` yet? `npx gitnexus analyze` (npm 11 crash → `npm i -g gitnexus`; #1939). @@ -74,10 +74,10 @@ This project is indexed by GitNexus as **hawk-community-skills** (210621 symbols | Resource | Use for | |----------|---------| -| `gitnexus://repo/hawk-community-skills/context` | Codebase overview, check index freshness | -| `gitnexus://repo/hawk-community-skills/clusters` | All functional areas | -| `gitnexus://repo/hawk-community-skills/processes` | All execution flows | -| `gitnexus://repo/hawk-community-skills/process/{name}` | Step-by-step execution trace | +| `gitnexus://repo/starling/context` | Codebase overview, check index freshness | +| `gitnexus://repo/starling/clusters` | All functional areas | +| `gitnexus://repo/starling/processes` | All execution flows | +| `gitnexus://repo/starling/process/{name}` | Step-by-step execution trace | ## CLI diff --git a/CHANGELOG.md b/CHANGELOG.md index 1c28e289d..f117bff47 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,6 @@ # Changelog -All notable changes to hawk-community-skills are documented in this file. +All notable changes to starling are documented in this file. The format follows [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project uses [Semantic Versioning](https://semver.org/spec/v2.0.0.html). @@ -18,5 +18,5 @@ and this project uses [Semantic Versioning](https://semver.org/spec/v2.0.0.html) ### Changed - Initial release with validation infrastructure -[Unreleased]: https://github.com/GrayCodeAI/hawk-community-skills/compare/v0.1.0...HEAD -[0.1.0]: https://github.com/GrayCodeAI/hawk-community-skills/releases/tag/v0.1.0 +[Unreleased]: https://github.com/GrayCodeAI/starling/compare/v0.1.0...HEAD +[0.1.0]: https://github.com/GrayCodeAI/starling/releases/tag/v0.1.0 diff --git a/CLAUDE.md b/CLAUDE.md index b0cc1eaf1..4412b9b8f 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -1,7 +1,7 @@ # GitNexus — Code Intelligence -This project is indexed by GitNexus as **hawk-community-skills** (210621 symbols, 225507 relationships, 136 execution flows). Use the GitNexus MCP tools to understand code, assess impact, and navigate safely. +This project is indexed by GitNexus as **starling** (210621 symbols, 225507 relationships, 136 execution flows). Use the GitNexus MCP tools to understand code, assess impact, and navigate safely. > Index stale? Run `node .gitnexus/run.cjs analyze` from the project root — it auto-selects an available runner. No `.gitnexus/run.cjs` yet? `npx gitnexus analyze` (npm 11 crash → `npm i -g gitnexus`; #1939). @@ -25,10 +25,10 @@ This project is indexed by GitNexus as **hawk-community-skills** (210621 symbols | Resource | Use for | |----------|---------| -| `gitnexus://repo/hawk-community-skills/context` | Codebase overview, check index freshness | -| `gitnexus://repo/hawk-community-skills/clusters` | All functional areas | -| `gitnexus://repo/hawk-community-skills/processes` | All execution flows | -| `gitnexus://repo/hawk-community-skills/process/{name}` | Step-by-step execution trace | +| `gitnexus://repo/starling/context` | Codebase overview, check index freshness | +| `gitnexus://repo/starling/clusters` | All functional areas | +| `gitnexus://repo/starling/processes` | All execution flows | +| `gitnexus://repo/starling/process/{name}` | Step-by-step execution trace | ## CLI diff --git a/Dockerfile b/Dockerfile index 988de0d54..a38e4ab10 100644 --- a/Dockerfile +++ b/Dockerfile @@ -11,9 +11,9 @@ RUN apt-get update && apt-get install -y --no-install-recommends ca-certificates rm -rf /var/lib/apt/lists/* && \ adduser --disabled-password --gecos "" --uid 1000 skills -COPY --from=builder /build /opt/hawk-community-skills +COPY --from=builder /build /opt/starling USER skills -WORKDIR /opt/hawk-community-skills +WORKDIR /opt/starling ENTRYPOINT ["tini", "--"] CMD ["python", "tools/validate_skill.py", "."] diff --git a/NOTICE b/NOTICE index a24f24001..5e7a31d94 100644 --- a/NOTICE +++ b/NOTICE @@ -1,4 +1,4 @@ -hawk-community-skills +starling Copyright (c) 2026 GrayCode AI This product is licensed under the MIT License (see LICENSE). diff --git a/README.md b/README.md index 13bda53fb..c4d38e4e2 100644 --- a/README.md +++ b/README.md @@ -96,7 +96,7 @@ gate. ## Ecosystem Boundaries -- `hawk-community-skills` extends Hawk through public skill and plugin surfaces. +- `starling` extends Hawk through public skill and plugin surfaces. - Do not reference support engine repos (`eyrie`, `yaad`, `tok`, `trace`, `sight`, or `inspect`) as direct dependencies. - Do not reference `hawk/internal/*` or the removed legacy path `hawk/shared/types`. - Skills should assume Hawk is the product boundary. diff --git a/SECURITY.md b/SECURITY.md index 4e760903d..be634acd7 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -1,4 +1,4 @@ -# Security Policy — hawk-community-skills +# Security Policy — starling ## Reporting a Vulnerability diff --git a/api/openapi.yaml b/api/openapi.yaml index ecfba5e7b..73bb90f11 100644 --- a/api/openapi.yaml +++ b/api/openapi.yaml @@ -1,6 +1,6 @@ openapi: "3.1.0" info: - title: hawk-community-skills — Skill Registry Reference + title: starling — Skill Registry Reference description: | Community skill packages for hawk. Each skill is a Markdown file with YAML frontmatter that hawk loads into its system prompt when activated. @@ -10,9 +10,9 @@ info: version: "0.1.0" license: name: MIT - url: https://github.com/GrayCodeAI/hawk-community-skills/blob/main/LICENSE + url: https://github.com/GrayCodeAI/starling/blob/main/LICENSE contact: - url: https://github.com/GrayCodeAI/hawk-community-skills + url: https://github.com/GrayCodeAI/starling # No servers — skills are installed via hawk CLI, not over HTTP. diff --git a/deploy/docker/docker-compose.yml b/deploy/docker/docker-compose.yml index 7b844bc36..8d12b7489 100644 --- a/deploy/docker/docker-compose.yml +++ b/deploy/docker/docker-compose.yml @@ -1,11 +1,11 @@ -name: hawk-community-skills +name: starling services: - hawk-community-skills: + starling: build: context: ../../ dockerfile: Dockerfile - image: ghcr.io/graycodeai/hawk-community-skills:dev + image: ghcr.io/graycodeai/starling:dev env_file: - path: ../../.env.example required: false diff --git a/docs/architecture.md b/docs/architecture.md index 2396d5bdc..9963842b2 100644 --- a/docs/architecture.md +++ b/docs/architecture.md @@ -1,6 +1,6 @@
-# 🎯 hawk-community-skills Architecture +# 🎯 starling Architecture **Modular Instruction Packages for hawk** @@ -22,7 +22,7 @@ A registry of modular instruction packages (**skills**) that teach hawk speciali ## 🧱 Repository Structure ``` -hawk-community-skills/ +starling/ ├── api/openapi.yaml 📜 Skill format reference ├── categories/ 📂 All skills organized by domain │ ├── aws/ ☁️ AWS-related skills diff --git a/manifest-schema.toml b/manifest-schema.toml index 684a7d0a4..838387399 100644 --- a/manifest-schema.toml +++ b/manifest-schema.toml @@ -1,4 +1,4 @@ -# hawk-community-skills manifest schema +# starling manifest schema # # Every skill in this registry MUST include a SKILL.md file with YAML # frontmatter that conforms to this schema. The schema is expressed in TOML @@ -81,7 +81,7 @@ type = "string" required = false enum = ["localize", "repair", "validate", "review", "planning", "any"] default = "any" -description = "Pipeline phase where this skill is most useful. Maps to hawk-core-contracts/sessions.Phase." +description = "Pipeline phase where this skill is most useful. Maps to eagle/sessions.Phase." [fields.min_model] type = "string" diff --git a/pyproject.toml b/pyproject.toml index 92ec8f7e5..e472e502b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -3,7 +3,7 @@ requires = ["hatchling"] build-backend = "hatchling.build" [project] -name = "hawk-community-skills" +name = "starling" version = "0.1.0" description = "Community skill packages for hawk" requires-python = ">=3.13" diff --git a/scripts/check-consumer-boundaries.sh b/scripts/check-consumer-boundaries.sh index c7a1c9ea6..0b14475f3 100644 --- a/scripts/check-consumer-boundaries.sh +++ b/scripts/check-consumer-boundaries.sh @@ -15,7 +15,7 @@ if [[ -n "${violations}" ]]; then echo "forbidden Hawk consumer references found:" echo "${violations}" echo - echo "hawk-community-skills must target Hawk public skill/plugin surfaces only; do not reference support engine repos, hawk/internal, or removed hawk/shared/types" + echo "starling must target Hawk public skill/plugin surfaces only; do not reference support engine repos, hawk/internal, or removed hawk/shared/types" exit 1 fi diff --git a/setup b/setup index e7c6a5162..5da93632b 100755 --- a/setup +++ b/setup @@ -1,7 +1,7 @@ #!/usr/bin/env bash set -euo pipefail -# Universal installer for hawk-community-skills +# Universal installer for starling # Detects agent host and symlinks skills into the correct location. SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)" @@ -30,7 +30,7 @@ while [[ $# -gt 0 ]]; do done if [[ ! -d "$SCRIPT_DIR/categories" ]]; then - echo -e "${RED}Error: Run from hawk-community-skills repo root${NC}"; exit 1 + echo -e "${RED}Error: Run from starling repo root${NC}"; exit 1 fi detect_host() { diff --git a/tests/test_sync_marketplace.py b/tests/test_sync_marketplace.py index 192075c41..410f77482 100644 --- a/tests/test_sync_marketplace.py +++ b/tests/test_sync_marketplace.py @@ -34,7 +34,7 @@ def marketplace_env(tmp_path: Path): marketplace = plugin_dir / "marketplace.json" marketplace.write_text( json.dumps( - {"plugins": [{"name": "hawk-community-skills", "skills": []}]}, + {"plugins": [{"name": "starling", "skills": []}]}, indent=2, ) + "\n", diff --git a/tools/__init__.py b/tools/__init__.py index 93e207a9d..f63f16810 100644 --- a/tools/__init__.py +++ b/tools/__init__.py @@ -1,4 +1,4 @@ -"""hawk-community-skills tooling package. +"""starling tooling package. Contains validation, registry, and migration utilities for the community skills repository. diff --git a/tools/content_validation.py b/tools/content_validation.py index 66abc203d..23dc7f37d 100644 --- a/tools/content_validation.py +++ b/tools/content_validation.py @@ -1,5 +1,5 @@ #!/usr/bin/env python3 -"""Content/body validation for hawk-community-skills SKILL.md files. +"""Content/body validation for starling SKILL.md files. Checks that the markdown body after frontmatter contains required sections and follows expected formatting conventions. diff --git a/tools/init_skill.py b/tools/init_skill.py index 7f5724bbe..a717da584 100644 --- a/tools/init_skill.py +++ b/tools/init_skill.py @@ -1,5 +1,5 @@ #!/usr/bin/env python3 -"""Interactive CLI to scaffold a new skill in hawk-community-skills.""" +"""Interactive CLI to scaffold a new skill in starling.""" import re import sys diff --git a/tools/registry_schema.py b/tools/registry_schema.py index 739087494..89ac9311a 100644 --- a/tools/registry_schema.py +++ b/tools/registry_schema.py @@ -1,5 +1,5 @@ #!/usr/bin/env python3 -"""JSON schema validation for hawk-community-skills registry entries.""" +"""JSON schema validation for starling registry entries.""" from __future__ import annotations diff --git a/tools/sandbox_run_changed_scripts.py b/tools/sandbox_run_changed_scripts.py index 0eac088ae..e99b0066e 100644 --- a/tools/sandbox_run_changed_scripts.py +++ b/tools/sandbox_run_changed_scripts.py @@ -38,7 +38,7 @@ sys.path.insert(0, str(Path(__file__).resolve().parent)) from check_changed_scripts import changed_scripts -DEFAULT_IMAGE = "ghcr.io/graycodeai/hawk-community-skills-sandbox:latest" +DEFAULT_IMAGE = "ghcr.io/graycodeai/starling-sandbox:latest" DEFAULT_TIMEOUT_SECONDS = 20 # The `timeout` coreutil's own exit code when it kills the wrapped process — diff --git a/tools/skill_graph.py b/tools/skill_graph.py index 70c4b9783..dbf962b3b 100644 --- a/tools/skill_graph.py +++ b/tools/skill_graph.py @@ -14,7 +14,7 @@ DEFAULT_OUTPUT = REPO_ROOT / "skill-graph.json" SCHEMA_VERSION = "community-skills.graph/v1" -PRODUCER = "hawk-community-skills" +PRODUCER = "starling" def _stable_id(prefix: str, *parts: str) -> str: diff --git a/tools/validate_skill.py b/tools/validate_skill.py index 1fff3e8b8..2dc84a896 100644 --- a/tools/validate_skill.py +++ b/tools/validate_skill.py @@ -1,5 +1,5 @@ #!/usr/bin/env python3 -"""Validate one or all skills against hawk-community-skills quality standards.""" +"""Validate one or all skills against starling quality standards.""" from __future__ import annotations @@ -45,7 +45,7 @@ MAX_TAGS = 5 # Agent Skills spec (agentskills.io) — recognized optional frontmatter fields. -# These are informational for hawk-community-skills but must be well-formed +# These are informational for starling but must be well-formed # if present. See manifest-schema.toml for the full schema. AGENTSKILLS_OPTIONAL_FIELDS = frozenset( { @@ -732,7 +732,7 @@ def find_all_skills() -> list[Path]: def main(): import argparse - parser = argparse.ArgumentParser(description="Validate hawk-community-skills") + parser = argparse.ArgumentParser(description="Validate starling") parser.add_argument("path", nargs="?", help="Path to a specific skill directory") parser.add_argument("--all", action="store_true", help="Validate all skills") parser.add_argument( diff --git a/uv.lock b/uv.lock index 01fed48a1..481727bae 100644 --- a/uv.lock +++ b/uv.lock @@ -344,7 +344,7 @@ wheels = [ ] [[package]] -name = "hawk-community-skills" +name = "starling" version = "0.1.0" source = { editable = "." } dependencies = [