{"id":241,"date":"2026-03-16T00:00:00","date_gmt":"2026-03-15T23:00:00","guid":{"rendered":"https:\/\/helloblog.io\/el\/wp-composer-enallaktiki-wpackagist-wordpress-composer\/"},"modified":"2026-03-16T00:00:00","modified_gmt":"2026-03-15T23:00:00","slug":"wp-composer-enallaktiki-wpackagist-wordpress-composer","status":"publish","type":"post","link":"https:\/\/helloblog.io\/el\/wp-composer-enallaktiki-wpackagist-wordpress-composer\/","title":{"rendered":"WP Composer: \u03bc\u03b9\u03b1 \u03c3\u03cd\u03b3\u03c7\u03c1\u03bf\u03bd\u03b7, \u03b1\u03bd\u03b5\u03be\u03ac\u03c1\u03c4\u03b7\u03c4\u03b7 \u03b5\u03bd\u03b1\u03bb\u03bb\u03b1\u03ba\u03c4\u03b9\u03ba\u03ae \u03c3\u03c4\u03bf WPackagist \u03b3\u03b9\u03b1 WordPress + Composer"},"content":{"rendered":"\n<p>\u0393\u03b9\u03b1 \u03c7\u03c1\u03cc\u03bd\u03b9\u03b1, \u03c4\u03bf WPackagist \u03ae\u03c4\u03b1\u03bd \u03bf\u03c5\u03c3\u03b9\u03b1\u03c3\u03c4\u03b9\u03ba\u03ac \u03b7 \u03c0\u03c1\u03bf\u03b5\u03c0\u03b9\u03bb\u03bf\u03b3\u03ae \u03cc\u03c4\u03b1\u03bd \u03b8\u03ad\u03bb\u03b1\u03bc\u03b5 \u03bd\u03b1 \u03b5\u03b3\u03ba\u03b1\u03c4\u03b1\u03c3\u03c4\u03ae\u03c3\u03bf\u03c5\u03bc\u03b5 WordPress plugins \u03ba\u03b1\u03b9 themes \u03bc\u03ad\u03c3\u03c9 Composer. \u0395\u03b9\u03b4\u03b9\u03ba\u03ac \u03c3\u03b5 \u03bc\u03bf\u03bd\u03c4\u03ad\u03c1\u03bd\u03b1 setups \u03c4\u03cd\u03c0\u03bf\u03c5 Bedrock, \u03cc\u03c0\u03bf\u03c5 \u03c4\u03bf WordPress core \u03ba\u03b1\u03b9 \u03c4\u03b1 dependencies \u03b4\u03b9\u03b1\u03c7\u03b5\u03b9\u03c1\u03af\u03b6\u03bf\u03bd\u03c4\u03b1\u03b9 \u03c9\u03c2 packages, \u03c4\u03bf \u03bd\u03b1 \u00ab\u03ba\u03bf\u03c5\u03bc\u03c0\u03ce\u03bd\u03b5\u03b9\u03c2\u00bb plugins\/themes \u03b1\u03c0\u03cc Composer repository \u03b5\u03af\u03bd\u03b1\u03b9 \u03bc\u03ad\u03c1\u03bf\u03c2 \u03c4\u03b7\u03c2 \u03ba\u03b1\u03b8\u03b7\u03bc\u03b5\u03c1\u03b9\u03bd\u03cc\u03c4\u03b7\u03c4\u03b1\u03c2.<\/p>\n\n\n\n<p>\u03a4\u03bf\u03bd \u039c\u03ac\u03c1\u03c4\u03b9\u03bf \u03c4\u03bf\u03c5 2026, \u03c4\u03bf WPackagist \u03b1\u03c0\u03bf\u03ba\u03c4\u03ae\u03b8\u03b7\u03ba\u03b5 \u03b1\u03c0\u03cc \u03c4\u03b7 WP Engine (hosting \u03b5\u03c4\u03b1\u03b9\u03c1\u03b5\u03af\u03b1 \u03bc\u03b5 backing \u03b1\u03c0\u03cc private equity). \u038c\u03c4\u03b1\u03bd \u03ad\u03bd\u03b1 \u03c4\u03cc\u03c3\u03bf \u03ba\u03b5\u03bd\u03c4\u03c1\u03b9\u03ba\u03cc \u03ba\u03bf\u03bc\u03bc\u03ac\u03c4\u03b9 \u03c4\u03b7\u03c2 \u03b1\u03bb\u03c5\u03c3\u03af\u03b4\u03b1\u03c2 \u03b5\u03c1\u03b3\u03b1\u03bb\u03b5\u03af\u03c9\u03bd \u03ba\u03b1\u03c4\u03b1\u03bb\u03ae\u03b3\u03b5\u03b9 \u03bd\u03b1 \u03b5\u03bb\u03ad\u03b3\u03c7\u03b5\u03c4\u03b1\u03b9 \u03b1\u03c0\u03cc \u03ad\u03bd\u03b1\u03bd \u03bc\u03bf\u03bd\u03b1\u03b4\u03b9\u03ba\u03cc \u03b5\u03c4\u03b1\u03b9\u03c1\u03b9\u03ba\u03cc \u03c6\u03bf\u03c1\u03ad\u03b1, \u03b4\u03b7\u03bc\u03b9\u03bf\u03c5\u03c1\u03b3\u03b5\u03af\u03c4\u03b1\u03b9 \u03ad\u03bd\u03b1 \u03c0\u03c1\u03bf\u03c6\u03b1\u03bd\u03ad\u03c2 \u03c1\u03af\u03c3\u03ba\u03bf: \u03b1\u03c0\u03bf\u03c6\u03ac\u03c3\u03b5\u03b9\u03c2 \u03b3\u03b9\u03b1 \u03b4\u03b9\u03b1\u03b8\u03b5\u03c3\u03b9\u03bc\u03cc\u03c4\u03b7\u03c4\u03b1, \u03ba\u03b1\u03c4\u03b5\u03cd\u03b8\u03c5\u03bd\u03c3\u03b7 \u03ae \u03c0\u03b9\u03b8\u03b1\u03bd\u03ac \u03b5\u03bc\u03c0\u03bf\u03c1\u03b9\u03ba\u03ac \u03bc\u03bf\u03bd\u03c4\u03ad\u03bb\u03b1 \u03bc\u03c0\u03bf\u03c1\u03bf\u03cd\u03bd \u03bd\u03b1 \u03bb\u03b7\u03c6\u03b8\u03bf\u03cd\u03bd \u00ab\u03b5\u03ba\u03c4\u03cc\u03c2 \u03ba\u03bf\u03b9\u03bd\u03bf\u03cd\u00bb, \u03c7\u03c9\u03c1\u03af\u03c2 \u03bf\u03c5\u03c3\u03b9\u03b1\u03c3\u03c4\u03b9\u03ba\u03ae \u03c3\u03c5\u03bc\u03bc\u03b5\u03c4\u03bf\u03c7\u03ae \u03c4\u03b7\u03c2 \u03ba\u03bf\u03b9\u03bd\u03cc\u03c4\u03b7\u03c4\u03b1\u03c2.<\/p>\n\n\n\n<p>\u03a3\u03b5 \u03b1\u03c5\u03c4\u03cc \u03c4\u03bf \u03c0\u03bb\u03b1\u03af\u03c3\u03b9\u03bf, \u03bf\u03b9 Roots \u03b4\u03b7\u03bc\u03b9\u03bf\u03cd\u03c1\u03b3\u03b7\u03c3\u03b1\u03bd \u03c4\u03bf <strong>WP Composer<\/strong>: \u03ad\u03bd\u03b1 <strong>\u03b1\u03bd\u03b5\u03be\u03ac\u03c1\u03c4\u03b7\u03c4\u03bf<\/strong>, <strong>community-funded<\/strong>, <strong>fully open source<\/strong> Composer repository \u03b3\u03b9\u03b1 WordPress plugins \u03ba\u03b1\u03b9 themes, \u03bc\u03b5 \u03c3\u03c4\u03cc\u03c7\u03bf \u03bd\u03b1 \u03c0\u03b1\u03c1\u03b1\u03bc\u03b5\u03af\u03bd\u03b5\u03b9 \u03b1\u03c5\u03c4\u03cc \u03c4\u03bf \u03ba\u03bf\u03bc\u03bc\u03ac\u03c4\u03b9 \u03c4\u03bf\u03c5 workflow \u03b4\u03b9\u03b1\u03c6\u03b1\u03bd\u03ad\u03c2 \u03ba\u03b1\u03b9 \u03b5\u03bb\u03b5\u03cd\u03b8\u03b5\u03c1\u03b1 \u03c0\u03c1\u03bf\u03c3\u03b2\u03ac\u03c3\u03b9\u03bc\u03bf.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u03a4\u03b9 \u03b1\u03bb\u03bb\u03ac\u03b6\u03b5\u03b9 \u03c0\u03c1\u03b1\u03ba\u03c4\u03b9\u03ba\u03ac \u03ba\u03b1\u03b9 \u03b3\u03b9\u03b1\u03c4\u03af \u03ad\u03c7\u03b5\u03b9 \u03c3\u03b7\u03bc\u03b1\u03c3\u03af\u03b1<\/h2>\n\n\n\n<p>\u03a4\u03bf WPackagist \u03be\u03b5\u03ba\u03af\u03bd\u03b7\u03c3\u03b5 \u03b1\u03c0\u03cc \u03c4\u03b7\u03bd Outlandish \u03ba\u03b1\u03b9 \u03b3\u03b9\u03b1 \u03c0\u03bf\u03bb\u03bb\u03ac \u03c7\u03c1\u03cc\u03bd\u03b9\u03b1 \u03c3\u03c5\u03bd\u03c4\u03b7\u03c1\u03ae\u03b8\u03b7\u03ba\u03b5 \u03c3\u03c4\u03b1\u03b8\u03b5\u03c1\u03ac. \u03a3\u03c4\u03b7\u03bd \u03c0\u03b9\u03bf \u03c0\u03c1\u03cc\u03c3\u03c6\u03b1\u03c4\u03b7 \u03c0\u03b5\u03c1\u03af\u03bf\u03b4\u03cc \u03c4\u03bf\u03c5, \u03cc\u03bc\u03c9\u03c2, \u03c5\u03c0\u03ae\u03c1\u03be\u03b1\u03bd \u03c3\u03b7\u03bc\u03ac\u03b4\u03b9\u03b1 \u03ba\u03cc\u03c0\u03c9\u03c3\u03b7\u03c2: \u03b1\u03c1\u03b3\u03ad\u03c2 \u03b5\u03bd\u03b7\u03bc\u03b5\u03c1\u03ce\u03c3\u03b5\u03b9\u03c2, \u03c0\u03b5\u03c1\u03b9\u03bf\u03c1\u03b9\u03c3\u03bc\u03ad\u03bd\u03b7 \u03c3\u03c5\u03bd\u03c4\u03ae\u03c1\u03b7\u03c3\u03b7 \u03ba\u03b1\u03b9 \u03b5\u03bb\u03ac\u03c7\u03b9\u03c3\u03c4\u03bf\u03c2 \u03bf\u03c5\u03c3\u03b9\u03b1\u03c3\u03c4\u03b9\u03ba\u03cc\u03c2 \u03c7\u03ce\u03c1\u03bf\u03c2 \u03b3\u03b9\u03b1 community input. \u039c\u03b5\u03c4\u03ac \u03c4\u03b7\u03bd \u03b5\u03be\u03b1\u03b3\u03bf\u03c1\u03ac \u03b1\u03c0\u03cc \u03c4\u03b7 WP Engine, \u03bf\u03b9 \u03b1\u03bd\u03b7\u03c3\u03c5\u03c7\u03af\u03b5\u03c2 \u03b1\u03c5\u03c4\u03ad\u03c2 \u03b5\u03bd\u03c4\u03ac\u03b8\u03b7\u03ba\u03b1\u03bd.<\/p>\n\n\n\n<p>\u0388\u03bd\u03b1 \u03b1\u03ba\u03cc\u03bc\u03b7 \u03c3\u03b7\u03bc\u03b5\u03af\u03bf \u03c0\u03bf\u03c5 \u03b5\u03bd\u03cc\u03c7\u03bb\u03b7\u03c3\u03b5 \u03c0\u03bf\u03bb\u03bb\u03bf\u03cd\u03c2 developers \u03b5\u03af\u03bd\u03b1\u03b9 \u03c4\u03bf \u03b8\u03ad\u03bc\u03b1 \u03c4\u03b7\u03c2 \u03b4\u03b9\u03b1\u03c6\u03ac\u03bd\u03b5\u03b9\u03b1\u03c2: \u03b4\u03b5\u03bd \u03b5\u03af\u03bd\u03b1\u03b9 \u03be\u03b5\u03ba\u03ac\u03b8\u03b1\u03c1\u03bf \u03b1\u03bd \u03c4\u03bf WPackagist \u03c0\u03b1\u03c1\u03b1\u03bc\u03ad\u03bd\u03b5\u03b9 \u00ab\u03c0\u03c1\u03b1\u03b3\u03bc\u03b1\u03c4\u03b9\u03ba\u03ac\u00bb open source \u03c3\u03c4\u03b7\u03bd \u03c0\u03c1\u03ac\u03be\u03b7, \u03ba\u03b1\u03b8\u03ce\u03c2 \u03c4\u03bf \u03b4\u03b7\u03bc\u03cc\u03c3\u03b9\u03bf GitHub repository (https:\/\/github.com\/outlandishideas\/wpackagist) \u03b4\u03b5\u03bd \u03c6\u03b1\u03af\u03bd\u03b5\u03c4\u03b1\u03b9 \u03bd\u03b1 \u03b1\u03bd\u03c4\u03b9\u03ba\u03b1\u03c4\u03bf\u03c0\u03c4\u03c1\u03af\u03b6\u03b5\u03b9 \u03c0\u03bb\u03ad\u03bf\u03bd \u03c4\u03b7 live \u03c5\u03c0\u03b7\u03c1\u03b5\u03c3\u03af\u03b1.<\/p>\n\n\n\n<p>\u03a4\u03bf WP Composer \u03c4\u03bf\u03c0\u03bf\u03b8\u03b5\u03c4\u03b5\u03af\u03c4\u03b1\u03b9 \u03b1\u03ba\u03c1\u03b9\u03b2\u03ce\u03c2 \u03b1\u03c0\u03ad\u03bd\u03b1\u03bd\u03c4\u03b9 \u03c3\u03b5 \u03b1\u03c5\u03c4\u03ac \u03c4\u03b1 \u03c3\u03b7\u03bc\u03b5\u03af\u03b1: \u03b4\u03b9\u03b1\u03c6\u03ac\u03bd\u03b5\u03b9\u03b1, \u03b1\u03bd\u03bf\u03b9\u03c7\u03c4\u03ae \u03b1\u03bd\u03ac\u03c0\u03c4\u03c5\u03be\u03b7, \u03b4\u03c5\u03bd\u03b1\u03c4\u03cc\u03c4\u03b7\u03c4\u03b1 \u03b3\u03b9\u03b1 forks\/\u03b9\u03b4\u03b9\u03c9\u03c4\u03b9\u03ba\u03ac instances \u03ba\u03b1\u03b9 \u03c7\u03c1\u03b7\u03bc\u03b1\u03c4\u03bf\u03b4\u03cc\u03c4\u03b7\u03c3\u03b7 \u03b1\u03c0\u03cc \u03c4\u03b7\u03bd \u03ba\u03bf\u03b9\u03bd\u03cc\u03c4\u03b7\u03c4\u03b1, \u03cc\u03c7\u03b9 \u03b1\u03c0\u03cc \u03ad\u03bd\u03b1\u03bd \u03bc\u03b5\u03bc\u03bf\u03bd\u03c9\u03bc\u03ad\u03bd\u03bf \u03bf\u03c1\u03b3\u03b1\u03bd\u03b9\u03c3\u03bc\u03cc.<\/p>\n\n\n\n<p>\u0393\u03b9\u03b1 \u03bc\u03b9\u03b1 \u03b1\u03bd\u03b1\u03bb\u03c5\u03c4\u03b9\u03ba\u03ae \u03b1\u03bd\u03c4\u03b9\u03c0\u03b1\u03c1\u03b1\u03b2\u03bf\u03bb\u03ae (\u03b5\u03c0\u03b9\u03b4\u03cc\u03c3\u03b5\u03b9\u03c2, metadata, \u03b4\u03b9\u03b1\u03c6\u03bf\u03c1\u03ad\u03c2 \u03c3\u03c4\u03bf\u03bd \u03c4\u03c1\u03cc\u03c0\u03bf \u03bb\u03b5\u03b9\u03c4\u03bf\u03c5\u03c1\u03b3\u03af\u03b1\u03c2), \u03c5\u03c0\u03ac\u03c1\u03c7\u03b5\u03b9 \u03ba\u03b1\u03b9 \u03c4\u03bf \u03c3\u03c7\u03b5\u03c4\u03b9\u03ba\u03cc \u03c3\u03c5\u03b3\u03ba\u03c1\u03b9\u03c4\u03b9\u03ba\u03cc: <a href=\"https:\/\/wp-composer.com\/wp-composer-vs-wpackagist\">WP Composer vs WPackagist<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u03a4\u03b9 \u03c0\u03c1\u03bf\u03c3\u03c6\u03ad\u03c1\u03b5\u03b9 \u03c4\u03bf WP Composer<\/h2>\n\n\n\n<p>\u03a4\u03bf WP Composer \u03c3\u03c4\u03bf\u03c7\u03b5\u03cd\u03b5\u03b9 \u03bd\u03b1 \u03ba\u03b1\u03bb\u03cd\u03c8\u03b5\u03b9 \u03c4\u03bf \u00ab\u03ba\u03b5\u03bd\u03cc\u00bb \u03bc\u03b5 \u03ad\u03bd\u03b1\u03bd \u03c4\u03c1\u03cc\u03c0\u03bf \u03c0\u03bf\u03c5 \u03bd\u03b1 \u03b5\u03af\u03bd\u03b1\u03b9 \u03bf\u03b9\u03ba\u03b5\u03af\u03bf\u03c2 \u03c3\u03b5 \u03cc\u03c3\u03bf\u03c5\u03c2 \u03b4\u03bf\u03c5\u03bb\u03b5\u03cd\u03bf\u03c5\u03bd \u03ae\u03b4\u03b7 Composer-first. \u03a3\u03c5\u03b3\u03ba\u03b5\u03ba\u03c1\u03b9\u03bc\u03ad\u03bd\u03b1, \u03c0\u03b1\u03c1\u03ad\u03c7\u03b5\u03b9:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n\n<li>\u038c\u03bb\u03b1 \u03c4\u03b1 <strong>free plugins<\/strong> \u03ba\u03b1\u03b9 <strong>themes<\/strong> \u03b1\u03c0\u03cc \u03c4\u03bf WordPress.org directory.<\/li>\n\n\n<li>\u0395\u03b3\u03ba\u03b1\u03c4\u03ac\u03c3\u03c4\u03b1\u03c3\u03b7 \u03bc\u03ad\u03c3\u03c9 Composer \u03bc\u03b5 <strong>\u03ba\u03b1\u03b8\u03b1\u03c1\u03cc naming<\/strong> \u03c0\u03b1\u03ba\u03ad\u03c4\u03c9\u03bd.<\/li>\n\n\n<li>\u03a3\u03c5\u03bc\u03b2\u03b1\u03c4\u03cc\u03c4\u03b7\u03c4\u03b1\/\u03c3\u03cd\u03c3\u03c4\u03b1\u03c3\u03b7 \u03c7\u03c1\u03ae\u03c3\u03b7\u03c2 \u03bc\u03b1\u03b6\u03af \u03bc\u03b5 \u03c4\u03b1 WordPress core packages \u03c4\u03c9\u03bd Roots.<\/li>\n\n<\/ul>\n\n\n\n<p>\u03a4\u03bf \u03bc\u03b5\u03b3\u03ac\u03bb\u03bf, \u03c0\u03c1\u03b1\u03ba\u03c4\u03b9\u03ba\u03cc \u03ba\u03ad\u03c1\u03b4\u03bf\u03c2 \u03c3\u03c4\u03bf \u03ba\u03b1\u03b8\u03b7\u03bc\u03b5\u03c1\u03b9\u03bd\u03cc <code>composer.json<\/code> \u03b5\u03af\u03bd\u03b1\u03b9 \u03c4\u03bf naming: \u03b1\u03bd\u03c4\u03af \u03b3\u03b9\u03b1 \u03c4\u03b1 \u03b9\u03c3\u03c4\u03bf\u03c1\u03b9\u03ba\u03ac prefixes <code>wpackagist-plugin\/&lt;em&gt;<\/code> \u03ba\u03b1\u03b9 <code>wpackagist-theme\/&lt;\/em&gt;<\/code>, \u03c4\u03bf WP Composer \u03c7\u03c1\u03b7\u03c3\u03b9\u03bc\u03bf\u03c0\u03bf\u03b9\u03b5\u03af:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n\n<li>Plugins: <code>wp-plugin\/*<\/code><\/li>\n\n\n<li>Themes: <code>wp-theme\/*<\/code><\/li>\n\n<\/ul>\n\n\n\n<p>\u03a0\u03b1\u03c1\u03ac\u03b4\u03b5\u03b9\u03b3\u03bc\u03b1 <code>composer.json<\/code> repository + requirements:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#24292e\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#e1e4e8;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>{\n  &quot;repositories&quot;: [\n    {\n      &quot;name&quot;: &quot;wp-composer&quot;,\n      &quot;type&quot;: &quot;composer&quot;,\n      &quot;url&quot;: &quot;https:\/\/repo.wp-composer.com&quot;,\n      &quot;only&quot;: [&quot;wp-plugin\/*&quot;, &quot;wp-theme\/*&quot;]\n    }\n  ],\n  &quot;require&quot;: {\n    &quot;wp-plugin\/woocommerce&quot;: &quot;^10.0&quot;,\n    &quot;wp-theme\/twentytwentyfive&quot;: &quot;^1.0&quot;\n  }\n}\n\n<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki github-dark\" style=\"background-color:#24292e;color:#e1e4e8\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color:#E1E4E8\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color:#79B8FF\">  \"repositories\"<\/span><span style=\"color:#E1E4E8\">: [<\/span><\/span>\n<span class=\"line\"><span style=\"color:#E1E4E8\">    {<\/span><\/span>\n<span class=\"line\"><span style=\"color:#79B8FF\">      \"name\"<\/span><span style=\"color:#E1E4E8\">: <\/span><span style=\"color:#9ECBFF\">\"wp-composer\"<\/span><span style=\"color:#E1E4E8\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color:#79B8FF\">      \"type\"<\/span><span style=\"color:#E1E4E8\">: <\/span><span style=\"color:#9ECBFF\">\"composer\"<\/span><span style=\"color:#E1E4E8\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color:#79B8FF\">      \"url\"<\/span><span style=\"color:#E1E4E8\">: <\/span><span style=\"color:#9ECBFF\">\"https:\/\/repo.wp-composer.com\"<\/span><span style=\"color:#E1E4E8\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color:#79B8FF\">      \"only\"<\/span><span style=\"color:#E1E4E8\">: [<\/span><span style=\"color:#9ECBFF\">\"wp-plugin\/*\"<\/span><span style=\"color:#E1E4E8\">, <\/span><span style=\"color:#9ECBFF\">\"wp-theme\/*\"<\/span><span style=\"color:#E1E4E8\">]<\/span><\/span>\n<span class=\"line\"><span style=\"color:#E1E4E8\">    }<\/span><\/span>\n<span class=\"line\"><span style=\"color:#E1E4E8\">  ],<\/span><\/span>\n<span class=\"line\"><span style=\"color:#79B8FF\">  \"require\"<\/span><span style=\"color:#E1E4E8\">: {<\/span><\/span>\n<span class=\"line\"><span style=\"color:#79B8FF\">    \"wp-plugin\/woocommerce\"<\/span><span style=\"color:#E1E4E8\">: <\/span><span style=\"color:#9ECBFF\">\"^10.0\"<\/span><span style=\"color:#E1E4E8\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color:#79B8FF\">    \"wp-theme\/twentytwentyfive\"<\/span><span style=\"color:#E1E4E8\">: <\/span><span style=\"color:#9ECBFF\">\"^1.0\"<\/span><\/span>\n<span class=\"line\"><span style=\"color:#E1E4E8\">  }<\/span><\/span>\n<span class=\"line\"><span style=\"color:#E1E4E8\">}<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre><\/div>\n\n\n\n<p>\u0395\u03c0\u03b9\u03c0\u03bb\u03ad\u03bf\u03bd, \u03c4\u03bf WP Composer \u03b5\u03af\u03bd\u03b1\u03b9 \u03c4\u03bf \u03c0\u03c1\u03bf\u03c4\u03b5\u03b9\u03bd\u03cc\u03bc\u03b5\u03bd\u03bf repository \u03b3\u03b9\u03b1 \u03c7\u03c1\u03ae\u03c3\u03b7 \u03bc\u03b1\u03b6\u03af \u03bc\u03b5 \u03c4\u03b1 WordPress core packages \u03c4\u03c9\u03bd Roots: <a href=\"https:\/\/wp-composer.com\/roots-wordpress\"><code>roots\/wordpress<\/code><\/a>, <code>roots\/wordpress-full<\/code>, <code>roots\/wordpress-no-content<\/code>. \u03a3\u03b5 \u03ad\u03bd\u03b1 \u03c4\u03c5\u03c0\u03b9\u03ba\u03cc <a href=\"https:\/\/roots.io\/bedrock\/\">Bedrock<\/a> project, \u03c4\u03bf \u03bc\u03bf\u03c4\u03af\u03b2\u03bf \u03b5\u03af\u03bd\u03b1\u03b9 \u03b1\u03c0\u03bb\u03cc: <code>roots\/wordpress<\/code> \u03b3\u03b9\u03b1 core \u03ba\u03b1\u03b9 WP Composer \u03b3\u03b9\u03b1 plugins\/themes.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u039c\u03b5\u03c4\u03ac\u03b2\u03b1\u03c3\u03b7 \u03b1\u03c0\u03cc WPackagist \u03c3\u03b5 WP Composer<\/h2>\n\n\n\n<p>\u0391\u03bd \u03ad\u03c7\u03b5\u03b9\u03c2 \u03ae\u03b4\u03b7 project \u03c0\u03bf\u03c5 \u03b2\u03b1\u03c3\u03af\u03b6\u03b5\u03c4\u03b1\u03b9 \u03c3\u03b5 WPackagist, \u03b7 \u03bc\u03b5\u03c4\u03ac\u03b2\u03b1\u03c3\u03b7 \u03b3\u03af\u03bd\u03b5\u03c4\u03b1\u03b9 \u03c7\u03c9\u03c1\u03af\u03c2 \u03b4\u03c1\u03ac\u03bc\u03b1\u03c4\u03b1 &#8211; \u03bc\u03b5\u03c1\u03b9\u03ba\u03ad\u03c2 \u03b5\u03bd\u03c4\u03bf\u03bb\u03ad\u03c2 \u03ba\u03b1\u03b9 \u03c4\u03b5\u03bb\u03b5\u03af\u03c9\u03c3\u03b5\u03c2. \u03a4\u03bf \u03b2\u03b1\u03c3\u03b9\u03ba\u03cc \u03b5\u03af\u03bd\u03b1\u03b9 \u03bd\u03b1 \u03b1\u03c6\u03b1\u03b9\u03c1\u03ad\u03c3\u03b5\u03b9\u03c2 \u03c4\u03b1 \u03c0\u03b1\u03bb\u03b9\u03ac requirements, \u03bd\u03b1 \u03b1\u03bb\u03bb\u03ac\u03be\u03b5\u03b9\u03c2 repository, \u03ba\u03b1\u03b9 \u03bd\u03b1 \u03c0\u03c1\u03bf\u03c3\u03b8\u03ad\u03c3\u03b5\u03b9\u03c2 \u03be\u03b1\u03bd\u03ac \u03c4\u03b1 \u03af\u03b4\u03b9\u03b1 packages \u03bc\u03b5 \u03c4\u03bf \u03bd\u03ad\u03bf naming.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">1) \u0391\u03c6\u03b1\u03af\u03c1\u03b5\u03c3\u03b5 \u03c4\u03b1 wpackagist packages<\/h3>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#24292e\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#e1e4e8;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>composer remove wpackagist-plugin\/woocommerce wpackagist-theme\/twentytwentyfive\n\n<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki github-dark\" style=\"background-color:#24292e;color:#e1e4e8\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color:#B392F0\">composer<\/span><span style=\"color:#9ECBFF\"> remove<\/span><span style=\"color:#9ECBFF\"> wpackagist-plugin\/woocommerce<\/span><span style=\"color:#9ECBFF\"> wpackagist-theme\/twentytwentyfive<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">2) \u0391\u03bd\u03c4\u03b9\u03ba\u03b1\u03c4\u03ac\u03c3\u03c4\u03b7\u03c3\u03b5 \u03c4\u03bf repository<\/h3>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#24292e\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#e1e4e8;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>composer config --unset repositories.wpackagist &amp;&amp; composer config repositories.wp-composer composer https:\/\/repo.wp-composer.com\n\n<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki github-dark\" style=\"background-color:#24292e;color:#e1e4e8\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color:#B392F0\">composer<\/span><span style=\"color:#9ECBFF\"> config<\/span><span style=\"color:#79B8FF\"> --unset<\/span><span style=\"color:#9ECBFF\"> repositories.wpackagist<\/span><span style=\"color:#E1E4E8\"> &#x26;&#x26; <\/span><span style=\"color:#B392F0\">composer<\/span><span style=\"color:#9ECBFF\"> config<\/span><span style=\"color:#9ECBFF\"> repositories.wp-composer<\/span><span style=\"color:#9ECBFF\"> composer<\/span><span style=\"color:#9ECBFF\"> https:\/\/repo.wp-composer.com<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">3) \u039a\u03ac\u03bd\u03b5 require \u03bc\u03b5 \u03c4\u03bf \u03bd\u03ad\u03bf naming<\/h3>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#24292e\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#e1e4e8;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>composer require wp-plugin\/woocommerce wp-theme\/twentytwentyfive\n\n<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki github-dark\" style=\"background-color:#24292e;color:#e1e4e8\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color:#B392F0\">composer<\/span><span style=\"color:#9ECBFF\"> require<\/span><span style=\"color:#9ECBFF\"> wp-plugin\/woocommerce<\/span><span style=\"color:#9ECBFF\"> wp-theme\/twentytwentyfive<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">\u0395\u03bd\u03b1\u03bb\u03bb\u03b1\u03ba\u03c4\u03b9\u03ba\u03ac: \u03b1\u03c5\u03c4\u03cc\u03bc\u03b1\u03c4\u03bf migration script<\/h3>\n\n\n\n<p>\u0391\u03bd \u03c0\u03c1\u03bf\u03c4\u03b9\u03bc\u03ac\u03c2 \u03bd\u03b1 \u03b5\u03bd\u03b7\u03bc\u03b5\u03c1\u03c9\u03b8\u03b5\u03af \u03b1\u03c5\u03c4\u03cc\u03bc\u03b1\u03c4\u03b1 \u03c4\u03bf <code>composer.json<\/code>, \u03c5\u03c0\u03ac\u03c1\u03c7\u03b5\u03b9 \u03ad\u03c4\u03bf\u03b9\u03bc\u03bf script migration:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#24292e\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#e1e4e8;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>curl -sO https:\/\/raw.githubusercontent.com\/roots\/wp-composer\/main\/scripts\/migrate-from-wpackagist.sh &amp;&amp; bash migrate-from-wpackagist.sh\n\n<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki github-dark\" style=\"background-color:#24292e;color:#e1e4e8\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color:#B392F0\">curl<\/span><span style=\"color:#79B8FF\"> -sO<\/span><span style=\"color:#9ECBFF\"> https:\/\/raw.githubusercontent.com\/roots\/wp-composer\/main\/scripts\/migrate-from-wpackagist.sh<\/span><span style=\"color:#E1E4E8\"> &#x26;&#x26; <\/span><span style=\"color:#B392F0\">bash<\/span><span style=\"color:#9ECBFF\"> migrate-from-wpackagist.sh<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre><\/div>\n\n\n\n<p>\u0393\u03b9\u03b1 \u03cc\u03c3\u03bf\u03c5\u03c2 \u03c7\u03c1\u03b7\u03c3\u03b9\u03bc\u03bf\u03c0\u03bf\u03b9\u03bf\u03cd\u03bd GitHub Action \u03b3\u03b9\u03b1 \u03bd\u03b1 \u03c0\u03b1\u03c1\u03b1\u03ba\u03bf\u03bb\u03bf\u03c5\u03b8\u03bf\u03cd\u03bd updates\/changelogs \u03c3\u03c4\u03b1 plugins, \u03c5\u03c0\u03ac\u03c1\u03c7\u03b5\u03b9 \u03ba\u03b1\u03b9 \u03b7 \u03bc\u03b5\u03c4\u03bf\u03bd\u03bf\u03bc\u03b1\u03c3\u03af\u03b1\/\u03b1\u03bd\u03c4\u03b9\u03ba\u03b1\u03c4\u03ac\u03c3\u03c4\u03b1\u03c3\u03b7 \u03c3\u03b5 <strong>WP Composer Changelog Action<\/strong>, \u03bc\u03b5 \u03c0\u03bb\u03ae\u03c1\u03b7 \u03c5\u03c0\u03bf\u03c3\u03c4\u03ae\u03c1\u03b9\u03be\u03b7 \u03b3\u03b9\u03b1 \u03c4\u03b1 \u03bd\u03ad\u03b1 formats <code>wp-plugin\/&lt;em&gt;<\/code> \u03ba\u03b1\u03b9 <code>wp-theme\/&lt;\/em&gt;<\/code>: https:\/\/github.com\/roots\/wp-composer-changelog-action<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u0395\u03c0\u03b9\u03b4\u03cc\u03c3\u03b5\u03b9\u03c2: \u03b3\u03b9\u03b1\u03c4\u03af \u03c4\u03bf WP Composer \u03b5\u03af\u03bd\u03b1\u03b9 \u03b1\u03b9\u03c3\u03b8\u03b7\u03c4\u03ac \u03c4\u03b1\u03c7\u03cd\u03c4\u03b5\u03c1\u03bf<\/h2>\n\n\n\n<p>\u03a4\u03bf \u03c0\u03b9\u03bf \u03c7\u03b5\u03b9\u03c1\u03bf\u03c0\u03b9\u03b1\u03c3\u03c4\u03cc \u03c0\u03bb\u03b5\u03bf\u03bd\u03ad\u03ba\u03c4\u03b7\u03bc\u03b1, \u03c0\u03ad\u03c1\u03b1 \u03b1\u03c0\u03cc \u03c4\u03bf governance, \u03b5\u03af\u03bd\u03b1\u03b9 \u03c4\u03bf performance. \u03a4\u03bf WP Composer \u03c5\u03c0\u03bf\u03c3\u03c4\u03b7\u03c1\u03af\u03b6\u03b5\u03b9 \u03c4\u03bf \u03c0\u03c1\u03c9\u03c4\u03cc\u03ba\u03bf\u03bb\u03bb\u03bf \u03c4\u03bf\u03c5 Composer v2 \u03c0\u03bf\u03c5 \u03bb\u03ad\u03b3\u03b5\u03c4\u03b1\u03b9 <strong><code>metadata-url<\/code><\/strong>: \u03b5\u03c0\u03b9\u03c4\u03c1\u03ad\u03c0\u03b5\u03b9 \u03c3\u03c4\u03bf Composer \u03bd\u03b1 \u03ba\u03b1\u03c4\u03b5\u03b2\u03ac\u03b6\u03b5\u03b9 metadata \u03bc\u03cc\u03bd\u03bf \u03b3\u03b9\u03b1 \u03c4\u03b1 \u03c0\u03b1\u03ba\u03ad\u03c4\u03b1 \u03c0\u03bf\u03c5 \u03c7\u03c1\u03b5\u03b9\u03ac\u03b6\u03b5\u03c4\u03b1\u03b9 \u03c0\u03c1\u03b1\u03b3\u03bc\u03b1\u03c4\u03b9\u03ba\u03ac.<\/p>\n\n\n\n<p>\u03a4\u03bf WPackagist \u03b1\u03c0\u03cc \u03c4\u03b7\u03bd \u03ac\u03bb\u03bb\u03b7 \u03c0\u03bb\u03b5\u03c5\u03c1\u03ac \u03b2\u03b1\u03c3\u03af\u03b6\u03b5\u03c4\u03b1\u03b9 \u03b1\u03ba\u03cc\u03bc\u03b7 \u03c3\u03c4\u03b7\u03bd \u03c0\u03b1\u03bb\u03b1\u03b9\u03cc\u03c4\u03b5\u03c1\u03b7 \u03c0\u03c1\u03bf\u03c3\u03ad\u03b3\u03b3\u03b9\u03c3\u03b7 <strong><code>provider-includes<\/code><\/strong>, \u03b7 \u03bf\u03c0\u03bf\u03af\u03b1 \u03b1\u03bd\u03b1\u03b3\u03ba\u03ac\u03b6\u03b5\u03b9 \u03c4\u03bf Composer \u03bd\u03b1 \u03ba\u03b1\u03c4\u03b5\u03b2\u03ac\u03c3\u03b5\u03b9 \u03bc\u03b5\u03b3\u03ac\u03bb\u03b1 index files \u03bc\u03b5 metadata \u03b3\u03b9\u03b1 \u03c7\u03b9\u03bb\u03b9\u03ac\u03b4\u03b5\u03c2 packages \u03c0\u03c1\u03b9\u03bd \u03bc\u03c0\u03bf\u03c1\u03ad\u03c3\u03b5\u03b9 \u03bd\u03b1 \u03ba\u03ac\u03bd\u03b5\u03b9 resolve \u03c3\u03c4\u03b1 dependencies \u03c3\u03bf\u03c5. \u03a3\u03b5 projects \u03bc\u03b5 \u03c0\u03bf\u03bb\u03bb\u03ac plugins, \u03b1\u03c5\u03c4\u03ae \u03b7 \u03b4\u03b9\u03b1\u03c6\u03bf\u03c1\u03ac \u03c6\u03b1\u03af\u03bd\u03b5\u03c4\u03b1\u03b9 \u03b1\u03bc\u03ad\u03c3\u03c9\u03c2.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u03a7\u03c1\u03cc\u03bd\u03bf\u03b9 resolve (Composer cold resolve)<\/h3>\n\n\n\n<p>\u039c\u03b5\u03c4\u03c1\u03ae\u03c3\u03b5\u03b9\u03c2 cold resolve (\u03c7\u03c9\u03c1\u03af\u03c2 cache) &#8211; \u03cc\u03c3\u03bf \u03bc\u03b9\u03ba\u03c1\u03cc\u03c4\u03b5\u03c1\u03bf, \u03c4\u03cc\u03c3\u03bf \u03ba\u03b1\u03bb\u03cd\u03c4\u03b5\u03c1\u03bf:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n\n<li>10 plugins: WP Composer <strong>0.7s<\/strong> vs WPackagist 12.3s (\u2248 17x faster)<\/li>\n\n\n<li>20 plugins: WP Composer <strong>1.1s<\/strong> vs WPackagist 19.0s (\u2248 17x faster)<\/li>\n\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Metadata &#038; caching \u03c3\u03c5\u03bc\u03c0\u03b5\u03c1\u03b9\u03c6\u03bf\u03c1\u03ac<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n\n<li>Composer v2 <code>metadata-url<\/code>: WP Composer <strong>Yes<\/strong>, WPackagist <strong>No<\/strong><\/li>\n\n\n<li>CDN caching: WP Composer <code>public, max-age=300<\/code>, WPackagist <code>no-cache, private<\/code><\/li>\n\n\n<li>Per-package files: WP Composer immutable, content-addressed, cached indefinitely &#8211; WPackagist \u03cc\u03c7\u03b9 content-addressed<\/li>\n\n<\/ul>\n\n\n\n<div class=\"wp-block-group callout callout-info is-style-info is-layout-flow wp-block-group-is-layout-flow\" style=\"border-width:1px;border-radius:8px;padding-top:1rem;padding-right:1.5rem;padding-bottom:1rem;padding-left:1.5rem\">\n\n<h4 class=\"wp-block-heading callout-title\">\u03a3\u03b7\u03bc\u03b5\u03af\u03c9\u03c3\u03b7 \u03b3\u03b9\u03b1 \u03c4\u03b1 benchmarks<\/h4>\n\n\n<p>\u03a4\u03b1 benchmarks \u03c4\u03c1\u03ad\u03c7\u03bf\u03c5\u03bd \u03b1\u03c0\u03cc \u03bc\u03af\u03b1 \u03c4\u03bf\u03c0\u03bf\u03b8\u03b5\u03c3\u03af\u03b1 \u03bc\u03b5 Composer 2.7+ \u03ba\u03b1\u03b9 \u03c4\u03b1 \u03b1\u03c0\u03bf\u03c4\u03b5\u03bb\u03ad\u03c3\u03bc\u03b1\u03c4\u03b1 \u03bc\u03c0\u03bf\u03c1\u03bf\u03cd\u03bd \u03bd\u03b1 \u03b4\u03b9\u03b1\u03c6\u03ad\u03c1\u03bf\u03c5\u03bd \u03b1\u03bd\u03ac\u03bb\u03bf\u03b3\u03b1 \u03bc\u03b5 region \u03ba\u03b1\u03b9 network conditions. \u03a4\u03b1 scripts \u03c4\u03c9\u03bd benchmarks \u03b5\u03af\u03bd\u03b1\u03b9 \u03b1\u03bd\u03bf\u03b9\u03c7\u03c4\u03ac \u03c3\u03c4\u03bf GitHub: https:\/\/github.com\/roots\/wp-composer\/tree\/main\/benchmarks<\/p>\n\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Fully open source (\u03ba\u03b1\u03b9 \u03c0\u03c1\u03b1\u03b3\u03bc\u03b1\u03c4\u03b9\u03ba\u03ac \u03b5\u03c0\u03b1\u03bd\u03b1\u03c7\u03c1\u03b7\u03c3\u03b9\u03bc\u03bf\u03c0\u03bf\u03b9\u03ae\u03c3\u03b9\u03bc\u03bf)<\/h2>\n\n\n\n<p>\u038c\u03bb\u03bf\u03c2 \u03bf \u03ba\u03ce\u03b4\u03b9\u03ba\u03b1\u03c2 \u03c4\u03b7\u03c2 \u03b5\u03c6\u03b1\u03c1\u03bc\u03bf\u03b3\u03ae\u03c2, \u03c4\u03bf documentation \u03ba\u03b1\u03b9 \u03c4\u03bf deployment configuration \u03c4\u03bf\u03c5 WP Composer \u03b5\u03af\u03bd\u03b1\u03b9 \u03b4\u03b9\u03b1\u03b8\u03ad\u03c3\u03b9\u03bc\u03b1 \u03c9\u03c2 open source \u03c3\u03c4\u03bf GitHub: https:\/\/github.com\/roots\/wp-composer. \u0391\u03c5\u03c4\u03cc \u03c3\u03b7\u03bc\u03b1\u03af\u03bd\u03b5\u03b9 \u03cc\u03c4\u03b9:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n\n<li>\u039c\u03c0\u03bf\u03c1\u03b5\u03af\u03c2 \u03bd\u03b1 \u03b4\u03b5\u03b9\u03c2 \u03b1\u03ba\u03c1\u03b9\u03b2\u03ce\u03c2 \u03c0\u03ce\u03c2 \u03b4\u03bf\u03c5\u03bb\u03b5\u03cd\u03b5\u03b9 \u03b7 \u03c5\u03c0\u03b7\u03c1\u03b5\u03c3\u03af\u03b1.<\/li>\n\n\n<li>\u039f\u03b9 \u03c3\u03c5\u03bd\u03b5\u03b9\u03c3\u03c6\u03bf\u03c1\u03ad\u03c2 \u03b5\u03af\u03bd\u03b1\u03b9 \u03b1\u03bd\u03bf\u03b9\u03c7\u03c4\u03ad\u03c2 (PRs, issues).<\/li>\n\n\n<li>\u039f\u03c0\u03bf\u03b9\u03bf\u03c3\u03b4\u03ae\u03c0\u03bf\u03c4\u03b5 \u03bc\u03c0\u03bf\u03c1\u03b5\u03af \u03bd\u03b1 \u03ba\u03ac\u03bd\u03b5\u03b9 fork \u03ba\u03b1\u03b9 \u03bd\u03b1 \u03c4\u03c1\u03ad\u03be\u03b5\u03b9 \u03b4\u03b9\u03ba\u03cc \u03c4\u03bf\u03c5 instance, \u03b1\u03bd \u03c4\u03bf \u03c7\u03c1\u03b5\u03b9\u03ac\u03b6\u03b5\u03c4\u03b1\u03b9 \u03b3\u03b9\u03b1 compliance \u03ae \u03b5\u03c3\u03c9\u03c4\u03b5\u03c1\u03b9\u03ba\u03ae \u03c5\u03c0\u03bf\u03b4\u03bf\u03bc\u03ae.<\/li>\n\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Community-funded: \u03b1\u03bd\u03b5\u03be\u03b1\u03c1\u03c4\u03b7\u03c3\u03af\u03b1 \u03bc\u03ad\u03c3\u03c9 \u03c7\u03c1\u03b7\u03bc\u03b1\u03c4\u03bf\u03b4\u03cc\u03c4\u03b7\u03c3\u03b7\u03c2 \u03b1\u03c0\u03cc \u03c4\u03b7\u03bd \u03ba\u03bf\u03b9\u03bd\u03cc\u03c4\u03b7\u03c4\u03b1<\/h2>\n\n\n\n<p>\u0397 \u03c5\u03c0\u03bf\u03b4\u03bf\u03bc\u03ae \u03c4\u03bf\u03c5 WP Composer \u03c7\u03c1\u03b7\u03bc\u03b1\u03c4\u03bf\u03b4\u03bf\u03c4\u03b5\u03af\u03c4\u03b1\u03b9 \u03b5\u03be \u03bf\u03bb\u03bf\u03ba\u03bb\u03ae\u03c1\u03bf\u03c5 \u03b1\u03c0\u03cc \u03c4\u03b7\u03bd \u03ba\u03bf\u03b9\u03bd\u03cc\u03c4\u03b7\u03c4\u03b1 \u03bc\u03ad\u03c3\u03c9 GitHub Sponsors: https:\/\/github.com\/sponsors\/roots. \u0391\u03c5\u03c4\u03cc \u03c4\u03bf \u03bc\u03bf\u03bd\u03c4\u03ad\u03bb\u03bf \u03ad\u03c7\u03b5\u03b9 \u03bc\u03b9\u03b1 \u03c0\u03bf\u03bb\u03cd \u03c0\u03c1\u03b1\u03ba\u03c4\u03b9\u03ba\u03ae \u03b1\u03be\u03af\u03b1 \u03b3\u03b9\u03b1 \u03b5\u03bc\u03ac\u03c2 \u03c4\u03bf\u03c5\u03c2 developers: \u03bc\u03b5\u03b9\u03ce\u03bd\u03b5\u03b9 \u03b4\u03c1\u03b1\u03c3\u03c4\u03b9\u03ba\u03ac \u03c4\u03bf \u03ba\u03af\u03bd\u03b7\u03c4\u03c1\u03bf \u03b3\u03b9\u03b1 \u03ba\u03bb\u03b5\u03b9\u03c3\u03c4\u03ad\u03c2 \u03b1\u03c0\u03bf\u03c6\u03ac\u03c3\u03b5\u03b9\u03c2 \u03ae \u00ab\u03ba\u03c1\u03c5\u03c6\u03ad\u03c2\u00bb \u03b1\u03bb\u03bb\u03b1\u03b3\u03ad\u03c2 \u03c0\u03bf\u03bb\u03b9\u03c4\u03b9\u03ba\u03ae\u03c2, \u03b3\u03b9\u03b1\u03c4\u03af \u03b7 \u03b2\u03b9\u03c9\u03c3\u03b9\u03bc\u03cc\u03c4\u03b7\u03c4\u03b1 \u03c4\u03b7\u03c2 \u03c5\u03c0\u03b7\u03c1\u03b5\u03c3\u03af\u03b1\u03c2 \u03b4\u03b5\u03bd \u03b5\u03be\u03b1\u03c1\u03c4\u03ac\u03c4\u03b1\u03b9 \u03b1\u03c0\u03cc \u03ad\u03bd\u03b1\u03bd \u03bc\u03bf\u03bd\u03b1\u03b4\u03b9\u03ba\u03cc \u03b5\u03c4\u03b1\u03b9\u03c1\u03b9\u03ba\u03cc \u03b9\u03b4\u03b9\u03bf\u03ba\u03c4\u03ae\u03c4\u03b7.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u03a3\u03c5\u03bc\u03c0\u03ad\u03c1\u03b1\u03c3\u03bc\u03b1<\/h2>\n\n\n\n<p>\u0391\u03bd \u03b4\u03b9\u03b1\u03c7\u03b5\u03b9\u03c1\u03af\u03b6\u03b5\u03c3\u03b1\u03b9 WordPress projects \u03bc\u03b5 Composer, \u03b5\u03b9\u03b4\u03b9\u03ba\u03ac \u03c3\u03b5 Bedrock\/Roots \u03bf\u03b9\u03ba\u03bf\u03c3\u03cd\u03c3\u03c4\u03b7\u03bc\u03b1, \u03c4\u03bf WP Composer \u03b5\u03af\u03bd\u03b1\u03b9 \u03bc\u03b9\u03b1 \u03ba\u03b1\u03b8\u03b1\u03c1\u03ae \u03b1\u03bd\u03b1\u03b2\u03ac\u03b8\u03bc\u03b9\u03c3\u03b7 \u03c3\u03b5 \u03c4\u03c1\u03af\u03b1 \u03b5\u03c0\u03af\u03c0\u03b5\u03b4\u03b1: (1) \u03b1\u03bd\u03b5\u03be\u03b1\u03c1\u03c4\u03b7\u03c3\u03af\u03b1 \u03ba\u03b1\u03b9 \u03b4\u03b9\u03b1\u03c6\u03ac\u03bd\u03b5\u03b9\u03b1, (2) \u03ba\u03b1\u03bb\u03cd\u03c4\u03b5\u03c1\u03bf naming (<code>wp-plugin\/&lt;em&gt;<\/code>, <code>wp-theme\/&lt;\/em&gt;<\/code>), (3) \u03c3\u03b7\u03bc\u03b1\u03bd\u03c4\u03b9\u03ba\u03ac \u03ba\u03b1\u03bb\u03cd\u03c4\u03b5\u03c1\u03bf performance \u03c7\u03ac\u03c1\u03b7 \u03c3\u03c4\u03bf <code>metadata-url<\/code> \u03ba\u03b1\u03b9 \u03c0\u03b9\u03bf \u03c3\u03c9\u03c3\u03c4\u03cc caching. \u0397 \u03bc\u03b5\u03c4\u03ac\u03b2\u03b1\u03c3\u03b7 \u03b1\u03c0\u03cc WPackagist \u03b5\u03af\u03bd\u03b1\u03b9 \u03bc\u03b9\u03ba\u03c1\u03ae \u03ba\u03b1\u03b9 \u03bc\u03c0\u03bf\u03c1\u03b5\u03af \u03bd\u03b1 \u03b3\u03af\u03bd\u03b5\u03b9 \u03b5\u03af\u03c4\u03b5 \u03c7\u03b5\u03b9\u03c1\u03bf\u03ba\u03af\u03bd\u03b7\u03c4\u03b1 \u03bc\u03b5 \u03bb\u03af\u03b3\u03b5\u03c2 \u03b5\u03bd\u03c4\u03bf\u03bb\u03ad\u03c2 \u03b5\u03af\u03c4\u03b5 \u03bc\u03b5 \u03ad\u03c4\u03bf\u03b9\u03bc\u03bf migration script.<\/p>\n\n\n<div class=\"references-section\">\n                <h2>\u0391\u03bd\u03b1\u03c6\u03bf\u03c1\u03ad\u03c2 \/ \u03a0\u03b7\u03b3\u03ad\u03c2<\/h2>\n                <ul class=\"references-list\"><li><a href=\"https:\/\/roots.io\/introducing-wp-composer-as-a-wpackagist-replacement\/\" target=\"_blank\" rel=\"noopener noreferrer\">Introducing WP Composer as a WPackagist Replacement<\/a><\/li><li><a href=\"https:\/\/wp-composer.com\" target=\"_blank\" rel=\"noopener noreferrer\">WP Composer<\/a><\/li><li><a href=\"https:\/\/wp-composer.com\/wp-composer-vs-wpackagist\" target=\"_blank\" rel=\"noopener noreferrer\">WP Composer vs WPackagist<\/a><\/li><li><a href=\"https:\/\/github.com\/roots\/wp-composer\" target=\"_blank\" rel=\"noopener noreferrer\">WP Composer GitHub repository<\/a><\/li><li><a href=\"https:\/\/github.com\/roots\/wp-composer\/blob\/main\/scripts\/migrate-from-wpackagist.sh\" target=\"_blank\" rel=\"noopener noreferrer\">Migration script (migrate-from-wpackagist.sh)<\/a><\/li><li><a href=\"https:\/\/github.com\/roots\/wp-composer-changelog-action\" target=\"_blank\" rel=\"noopener noreferrer\">WP Composer Changelog Action<\/a><\/li><li><a href=\"https:\/\/github.com\/roots\/wp-composer\/tree\/main\/benchmarks\" target=\"_blank\" rel=\"noopener noreferrer\">WP Composer benchmarks<\/a><\/li><li><a href=\"https:\/\/github.com\/outlandishideas\/wpackagist\" target=\"_blank\" rel=\"noopener noreferrer\">Outlandish WPackagist repository<\/a><\/li><li><a href=\"https:\/\/roots.io\/bedrock\/\" target=\"_blank\" rel=\"noopener noreferrer\">Bedrock<\/a><\/li><li><a href=\"https:\/\/wp-composer.com\/roots-wordpress\" target=\"_blank\" rel=\"noopener noreferrer\">roots\/wordpress<\/a><\/li><li><a href=\"https:\/\/github.com\/sponsors\/roots\" target=\"_blank\" rel=\"noopener noreferrer\">GitHub Sponsors (Roots)<\/a><\/li><\/ul>\n            <\/div>","protected":false},"excerpt":{"rendered":"<p>\u0391\u03bd \u03c4\u03bf Composer \u03b5\u03af\u03bd\u03b1\u03b9 \u03b2\u03b1\u03c3\u03b9\u03ba\u03cc \u03ba\u03bf\u03bc\u03bc\u03ac\u03c4\u03b9 \u03c4\u03bf\u03c5 WordPress workflow \u03c3\u03bf\u03c5, \u03b7 \u03cd\u03c0\u03b1\u03c1\u03be\u03b7 \u03b5\u03bd\u03cc\u03c2 \u03b1\u03be\u03b9\u03cc\u03c0\u03b9\u03c3\u03c4\u03bf\u03c5 \u03ba\u03b1\u03b9 \u03b1\u03bd\u03b5\u03be\u03ac\u03c1\u03c4\u03b7\u03c4\u03bf\u03c5 repository \u03b3\u03b9\u03b1 plugins \u03ba\u03b1\u03b9 themes \u03b4\u03b5\u03bd \u03b5\u03af\u03bd\u03b1\u03b9 \u00abnice to have\u00bb &#8211; \u03b5\u03af\u03bd\u03b1\u03b9 \u03b8\u03b5\u03bc\u03ad\u03bb\u03b9\u03bf. \u03a4\u03bf WP Composer \u03ad\u03c1\u03c7\u03b5\u03c4\u03b1\u03b9 \u03c9\u03c2 open source, community-funded \u03b5\u03c0\u03b9\u03bb\u03bf\u03b3\u03ae, \u03bc\u03b5 \u03ba\u03b1\u03b8\u03b1\u03c1\u03cc naming \u03ba\u03b1\u03b9 \u03b1\u03b9\u03c3\u03b8\u03b7\u03c4\u03ac \u03ba\u03b1\u03bb\u03cd\u03c4\u03b5\u03c1\u03b5\u03c2 \u03b5\u03c0\u03b9\u03b4\u03cc\u03c3\u03b5\u03b9\u03c2.<\/p>\n","protected":false},"author":66,"featured_media":240,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[43],"tags":[72,8,78,3,10],"class_list":["post-241","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-oikosystima-wordpress","tag-bedrock","tag-composer","tag-devops","tag-roots","tag-wordpress"],"_links":{"self":[{"href":"https:\/\/helloblog.io\/el\/wp-json\/wp\/v2\/posts\/241","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/helloblog.io\/el\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/helloblog.io\/el\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/helloblog.io\/el\/wp-json\/wp\/v2\/users\/66"}],"replies":[{"embeddable":true,"href":"https:\/\/helloblog.io\/el\/wp-json\/wp\/v2\/comments?post=241"}],"version-history":[{"count":0,"href":"https:\/\/helloblog.io\/el\/wp-json\/wp\/v2\/posts\/241\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/helloblog.io\/el\/wp-json\/wp\/v2\/media\/240"}],"wp:attachment":[{"href":"https:\/\/helloblog.io\/el\/wp-json\/wp\/v2\/media?parent=241"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/helloblog.io\/el\/wp-json\/wp\/v2\/categories?post=241"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/helloblog.io\/el\/wp-json\/wp\/v2\/tags?post=241"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}