Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 17 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,15 @@ codex plugin marketplace upgrade socket

After the marketplace is added or upgraded, restart Codex, open the plugin directory in the Codex GUI, choose the `Socket` marketplace, and install or enable the desired child plugins there. Manual local marketplace roots are useful for development, unpublished testing, and fallback work, but they are not the default user install or update path.

If you previously used the older copied-plugin or personal-local-marketplace install path, run the legacy cleanup helper after the Git-backed marketplace works:

```bash
uv run scripts/cleanup_legacy_socket_installs.py
uv run scripts/cleanup_legacy_socket_installs.py --apply
```

The first command is a dry run. The `--apply` mode backs up affected files and copied plugin directories before removing only known legacy `socket` install artifacts. It does not delete Codex's installed plugin cache under `~/.codex/plugins/cache/`.

## Usage

Use `socket` when the task is about the superproject layer:
Expand Down Expand Up @@ -126,6 +135,14 @@ Run the root validator locally with:
uv run scripts/validate_socket_metadata.py
```

To audit or remove old copied personal plugin payloads after moving to the Git-backed marketplace path, run:

```bash
uv run scripts/cleanup_legacy_socket_installs.py
```

Add `--apply` only after reviewing the dry-run output. The helper backs up the personal marketplace file and copied plugin directories under `~/.codex/backups/socket-legacy-install-cleanup/<timestamp>/` before changing anything. It reports stale non-`socket` plugin enablement entries in `~/.codex/config.toml`, but it does not rewrite that config file.

When a child repository or helper surface grows Python-backed validation beyond this root metadata check, add those checks as repo-local `uv` dev dependencies and document the exact `uv run ...` commands in that child repo instead of assuming a globally provisioned toolchain.

## Repo Structure
Expand Down
9 changes: 9 additions & 0 deletions docs/maintainers/plugin-packaging-strategy.md
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,15 @@ codex plugin marketplace add gaelic-ghost/SpeakSwiftlyServer

`socket` can still list the same child as `./plugins/<child>` from the superproject marketplace. Use explicit refs such as `gaelic-ghost/socket@vX.Y.Z` only for pinned reproducible installs. Manual local marketplace roots and copied payload directories are development, unpublished-testing, and fallback tools rather than the default user-facing path.

When a user has already migrated from an older copied-plugin or personal-local-marketplace install to the Git-backed marketplace, use the repo-owned cleanup helper instead of hand-editing home-directory files:

```bash
uv run scripts/cleanup_legacy_socket_installs.py
uv run scripts/cleanup_legacy_socket_installs.py --apply
```

The helper's job is intentionally narrow. It removes known legacy `socket` entries from `~/.agents/plugins/marketplace.json` and copied personal payload directories such as `~/.codex/plugins/apple-dev-skills` after backing them up. It leaves Codex's installed cache under `~/.codex/plugins/cache/` alone, because that cache is Codex-owned install state for current marketplace entries.

## Follow-up Decision

Once several child repos have stable plugin packaging, decide whether `socket` needs:
Expand Down
2 changes: 1 addition & 1 deletion plugins/agent-plugin-skills/.codex-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "agent-plugin-skills",
"version": "6.3.1",
"version": "6.3.2",
"description": "Installable maintainer skills for skills-export repositories.",
"author": {
"name": "Gale",
Expand Down
2 changes: 1 addition & 1 deletion plugins/agent-plugin-skills/pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[project]
name = "agent-plugin-skills-maintenance"
version = "6.3.1"
version = "6.3.2"
description = "Maintainer-only Python tooling baseline for agent-plugin-skills."
requires-python = ">=3.11"
dependencies = []
Expand Down
2 changes: 1 addition & 1 deletion plugins/agent-plugin-skills/uv.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions plugins/apple-dev-skills/.agents/plugins/marketplace.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "apple-dev-skills-local",
"name": "apple-dev-skills",
"interface": {
"displayName": "Apple Dev Skills Local Plugins"
"displayName": "Apple Dev Skills"
},
"plugins": [
{
Expand Down
2 changes: 1 addition & 1 deletion plugins/apple-dev-skills/.codex-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "apple-dev-skills",
"version": "6.3.1",
"version": "6.3.2",
"description": "Apple development workflows for Codex and Claude Code, including SwiftUI architecture and DocC authoring guidance.",
"author": {
"name": "Gale",
Expand Down
2 changes: 1 addition & 1 deletion plugins/apple-dev-skills/pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[project]
name = "apple-dev-skills-maintainer"
version = "6.3.1"
version = "6.3.2"
description = "Maintainer tooling for the apple-dev-skills repository"
requires-python = ">=3.9"
dependencies = []
Expand Down
2 changes: 1 addition & 1 deletion plugins/apple-dev-skills/uv.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion plugins/cardhop-app/.codex-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "cardhop-app",
"version": "6.3.1",
"version": "6.3.2",
"description": "Cardhop.app workflow guidance plus a bundled local MCP server for contact capture and updates on macOS.",
"author": {
"name": "Gale",
Expand Down
2 changes: 1 addition & 1 deletion plugins/cardhop-app/mcp/pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[project]
name = "cardhop-app-mcp"
version = "6.3.1"
version = "6.3.2"
requires-python = ">=3.13"
dependencies = [
"fastmcp>=3.0.2",
Expand Down
2 changes: 1 addition & 1 deletion plugins/cardhop-app/mcp/uv.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion plugins/dotnet-skills/.codex-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "dotnet-skills",
"version": "6.3.1",
"version": "6.3.2",
"description": "Standalone plugin repository for future .NET-focused Codex skills.",
"author": {
"name": "Gale",
Expand Down
2 changes: 1 addition & 1 deletion plugins/productivity-skills/.codex-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "productivity-skills",
"version": "6.3.1",
"version": "6.3.2",
"description": "Broadly useful productivity workflows for Codex and Claude Code.",
"author": {
"name": "Gale",
Expand Down
2 changes: 1 addition & 1 deletion plugins/productivity-skills/pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[project]
name = "productivity-skills-maintenance"
version = "6.3.1"
version = "6.3.2"
description = "Maintainer-only Python tooling baseline for productivity-skills."
requires-python = ">=3.11"
dependencies = []
Expand Down
2 changes: 1 addition & 1 deletion plugins/productivity-skills/uv.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion plugins/python-skills/.codex-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "python-skills",
"version": "6.3.1",
"version": "6.3.2",
"description": "Bundled Python-focused Codex skills for uv bootstrapping, FastAPI and FastMCP scaffolding, FastAPI/FastMCP integration, and pytest workflows.",
"author": {
"name": "Gale",
Expand Down
2 changes: 1 addition & 1 deletion plugins/python-skills/pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[project]
name = "python-skills-maintainer"
version = "6.3.1"
version = "6.3.2"
description = "Maintainer tooling for the python-skills repository"
requires-python = ">=3.11"
dependencies = []
Expand Down
2 changes: 1 addition & 1 deletion plugins/python-skills/uv.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion plugins/rust-skills/.codex-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "rust-skills",
"version": "6.3.1",
"version": "6.3.2",
"description": "Standalone plugin repository for future Rust-focused Codex skills.",
"author": {
"name": "Gale",
Expand Down
2 changes: 1 addition & 1 deletion plugins/spotify/.codex-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "spotify",
"version": "6.3.1",
"version": "6.3.2",
"description": "Placeholder plugin repository for future Spotify-focused Codex workflows.",
"author": {
"name": "Gale",
Expand Down
2 changes: 1 addition & 1 deletion plugins/things-app/.codex-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "things-app",
"version": "6.3.1",
"version": "6.3.2",
"description": "Things.app skills and a bundled local MCP server for reminders, planning digests, and structured task workflows.",
"author": {
"name": "Gale",
Expand Down
2 changes: 1 addition & 1 deletion plugins/things-app/mcp/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ packages = ["app"]

[project]
name = "things-mcp"
version = "6.3.1"
version = "6.3.2"
requires-python = ">=3.13"
dependencies = [
"fastmcp>=3.0.2",
Expand Down
2 changes: 1 addition & 1 deletion plugins/things-app/mcp/uv.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion plugins/things-app/pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[project]
name = "things-app-maintenance"
version = "6.3.1"
version = "6.3.2"
description = "Maintainer-only Python tooling baseline for things-app skills and plugin packaging."
requires-python = ">=3.11"
dependencies = []
Expand Down
2 changes: 1 addition & 1 deletion plugins/things-app/uv.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion plugins/web-dev-skills/.codex-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "web-dev-skills",
"version": "6.3.1",
"version": "6.3.2",
"description": "Standalone plugin repository for future web-focused Codex skills.",
"author": {
"name": "Gale",
Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[project]
name = "socket-maintenance"
version = "6.3.1"
version = "6.3.2"
description = "Root uv tooling baseline for the socket superproject."
requires-python = ">=3.11"
dependencies = []
Expand Down
Loading