[{"data":1,"prerenderedAt":1120},["ShallowReactive",2],{"navigation_docs":3,"-integrations-collections":89,"-integrations-collections-surround":1117},[4,21,57,73],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":20},"Getting Started","i-lucide:rocket","\u002Fgetting-started","1.getting-started",[10,15],{"title":11,"path":12,"stem":13,"icon":14},"Introduction","\u002Fgetting-started\u002Fintroduction","1.getting-started\u002F1.introduction","i-lucide:house",{"title":16,"path":17,"stem":18,"icon":19},"Quick Start","\u002Fgetting-started\u002Fquick-start","1.getting-started\u002F2.quick-start","i-lucide:zap",false,{"title":22,"icon":23,"path":24,"stem":25,"children":26,"page":20},"Guide","i-lucide:book-open","\u002Fguide","2.guide",[27,32,37,42,47,52],{"title":28,"path":29,"stem":30,"icon":31},"Features","\u002Fguide\u002Ffeatures","2.guide\u002F1.features","i-lucide:sparkles",{"title":33,"path":34,"stem":35,"icon":36},"Keyboard Shortcuts","\u002Fguide\u002Fkeyboard-shortcuts","2.guide\u002F2.keyboard-shortcuts","i-lucide:keyboard",{"title":38,"path":39,"stem":40,"icon":41},"URL Structure","\u002Fguide\u002Furl-structure","2.guide\u002F3.url-structure","i-lucide:link",{"title":43,"path":44,"stem":45,"icon":46},"VS Code Extension","\u002Fguide\u002Fvscode-extension","2.guide\u002F4.vscode-extension","i-simple-icons-visualstudiocode",{"title":48,"path":49,"stem":50,"icon":51},"Semver Ranges","\u002Fguide\u002Fsemver-ranges","2.guide\u002F5.semver-ranges","i-lucide-filter",{"title":53,"path":54,"stem":55,"icon":56},"Badges","\u002Fguide\u002Fbadges","2.guide\u002F6.badges","i-lucide:badge",{"title":58,"icon":59,"path":60,"stem":61,"children":62,"page":20},"FAQ","i-lucide:circle-help","\u002Ffaq","3.faq",[63,68],{"title":64,"path":65,"stem":66,"icon":67},"Troubleshooting","\u002Ffaq\u002Ftroubleshooting","3.faq\u002F1.troubleshooting","i-lucide:wrench",{"title":69,"path":70,"stem":71,"icon":72},"Comparison","\u002Ffaq\u002Fcomparison","3.faq\u002F2.comparison","i-lucide:git-compare",{"title":74,"icon":75,"path":76,"stem":77,"children":78,"page":20},"Integrations","i-lucide:cable","\u002Fintegrations","4.integrations",[79,84],{"title":80,"path":81,"stem":82,"icon":83},"Atmosphere","\u002Fintegrations\u002Fatmosphere","4.integrations\u002F1.atmosphere","i-lucide:cloudy",{"title":85,"path":86,"stem":87,"icon":88},"Collections","\u002Fintegrations\u002Fcollections","4.integrations\u002F2.collections","i-lucide:library",{"id":90,"title":85,"body":91,"description":1110,"extension":1111,"links":1112,"meta":1113,"navigation":1114,"path":86,"seo":1115,"stem":87,"__hash__":1116},"docs\u002F4.integrations\u002F2.collections.md",{"type":92,"value":93,"toc":1100},"minimark",[94,99,108,111,114,118,137,361,446,452,480,483,488,491,495,509,575,579,589,654,656,660,677,1041,1051,1066,1068,1072,1096],[95,96,98],"h2",{"id":97},"collections-live-in-your-account","Collections live in your account",[100,101,102,103,107],"p",{},"A collection is an ordered list of npm packages with notes, stored as a ",[104,105,106],"code",{},"dev.npmx.collection"," record in your own atproto repository. npmx.dev is one way to make and view them, not the only one. Write a record with that shape from any app, script or PDS, and it shows up on your npmx.dev profile.",[100,109,110],{},"Collections are public, like everything else in an atproto repository.",[112,113],"hr",{},[95,115,117],{"id":116},"the-record","The record",[100,119,120,121,130,131,136],{},"The schema is in ",[122,123,127],"a",{"href":124,"rel":125},"https:\u002F\u002Fgithub.com\u002Fnpmx-dev\u002Fnpmx.dev\u002Fblob\u002Fmain\u002Flexicons\u002Fdev\u002Fnpmx\u002Fcollection.json",[126],"nofollow",[104,128,129],{},"lexicons\u002Fdev\u002Fnpmx\u002Fcollection.json",". Record keys are ",[122,132,135],{"href":133,"rel":134},"https:\u002F\u002Fatproto.com\u002Fspecs\u002Ftid",[126],"TIDs",".",[138,139,144],"pre",{"className":140,"code":141,"language":142,"meta":143,"style":143},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{\n  \"$type\": \"dev.npmx.collection\",\n  \"name\": \"Arg parsers\",\n  \"description\": \"CLI argument parsers worth knowing.\",\n  \"items\": [\n    { \"subjectRef\": \"https:\u002F\u002Fnpmx.dev\u002Fpackage\u002Fcommander\", \"note\": \"The default choice\" },\n    { \"subjectRef\": \"https:\u002F\u002Fnpmx.dev\u002Fpackage\u002Fcitty\" },\n    { \"subjectRef\": \"at:\u002F\u002Fdid:plc:example\u002Fdev.npmx.collection\u002F3m5k5baifas2b\" }\n  ],\n  \"createdAt\": \"2026-11-01T00:00:00.000Z\"\n}\n","json","",[104,145,146,155,182,203,224,239,284,306,329,335,355],{"__ignoreMap":143},[147,148,151],"span",{"class":149,"line":150},"line",1,[147,152,154],{"class":153},"sMK4o","{\n",[147,156,158,161,165,168,171,174,177,179],{"class":149,"line":157},2,[147,159,160],{"class":153},"  \"",[147,162,164],{"class":163},"spNyl","$type",[147,166,167],{"class":153},"\"",[147,169,170],{"class":153},":",[147,172,173],{"class":153}," \"",[147,175,106],{"class":176},"sfazB",[147,178,167],{"class":153},[147,180,181],{"class":153},",\n",[147,183,185,187,190,192,194,196,199,201],{"class":149,"line":184},3,[147,186,160],{"class":153},[147,188,189],{"class":163},"name",[147,191,167],{"class":153},[147,193,170],{"class":153},[147,195,173],{"class":153},[147,197,198],{"class":176},"Arg parsers",[147,200,167],{"class":153},[147,202,181],{"class":153},[147,204,206,208,211,213,215,217,220,222],{"class":149,"line":205},4,[147,207,160],{"class":153},[147,209,210],{"class":163},"description",[147,212,167],{"class":153},[147,214,170],{"class":153},[147,216,173],{"class":153},[147,218,219],{"class":176},"CLI argument parsers worth knowing.",[147,221,167],{"class":153},[147,223,181],{"class":153},[147,225,227,229,232,234,236],{"class":149,"line":226},5,[147,228,160],{"class":153},[147,230,231],{"class":163},"items",[147,233,167],{"class":153},[147,235,170],{"class":153},[147,237,238],{"class":153}," [\n",[147,240,242,245,247,251,253,255,257,260,262,265,267,270,272,274,276,279,281],{"class":149,"line":241},6,[147,243,244],{"class":153},"    {",[147,246,173],{"class":153},[147,248,250],{"class":249},"sBMFI","subjectRef",[147,252,167],{"class":153},[147,254,170],{"class":153},[147,256,173],{"class":153},[147,258,259],{"class":176},"https:\u002F\u002Fnpmx.dev\u002Fpackage\u002Fcommander",[147,261,167],{"class":153},[147,263,264],{"class":153},",",[147,266,173],{"class":153},[147,268,269],{"class":249},"note",[147,271,167],{"class":153},[147,273,170],{"class":153},[147,275,173],{"class":153},[147,277,278],{"class":176},"The default choice",[147,280,167],{"class":153},[147,282,283],{"class":153}," },\n",[147,285,287,289,291,293,295,297,299,302,304],{"class":149,"line":286},7,[147,288,244],{"class":153},[147,290,173],{"class":153},[147,292,250],{"class":249},[147,294,167],{"class":153},[147,296,170],{"class":153},[147,298,173],{"class":153},[147,300,301],{"class":176},"https:\u002F\u002Fnpmx.dev\u002Fpackage\u002Fcitty",[147,303,167],{"class":153},[147,305,283],{"class":153},[147,307,309,311,313,315,317,319,321,324,326],{"class":149,"line":308},8,[147,310,244],{"class":153},[147,312,173],{"class":153},[147,314,250],{"class":249},[147,316,167],{"class":153},[147,318,170],{"class":153},[147,320,173],{"class":153},[147,322,323],{"class":176},"at:\u002F\u002Fdid:plc:example\u002Fdev.npmx.collection\u002F3m5k5baifas2b",[147,325,167],{"class":153},[147,327,328],{"class":153}," }\n",[147,330,332],{"class":149,"line":331},9,[147,333,334],{"class":153},"  ],\n",[147,336,338,340,343,345,347,349,352],{"class":149,"line":337},10,[147,339,160],{"class":153},[147,341,342],{"class":163},"createdAt",[147,344,167],{"class":153},[147,346,170],{"class":153},[147,348,173],{"class":153},[147,350,351],{"class":176},"2026-11-01T00:00:00.000Z",[147,353,354],{"class":153},"\"\n",[147,356,358],{"class":149,"line":357},11,[147,359,360],{"class":153},"}\n",[362,363,364,380],"table",{},[365,366,367],"thead",{},[368,369,370,374,377],"tr",{},[371,372,373],"th",{},"Field",[371,375,376],{},"Required",[371,378,379],{},"Limits",[381,382,383,396,408,419,431],"tbody",{},[368,384,385,390,393],{},[386,387,388],"td",{},[104,389,189],{},[386,391,392],{},"yes",[386,394,395],{},"64 graphemes",[368,397,398,402,405],{},[386,399,400],{},[104,401,210],{},[386,403,404],{},"no",[386,406,407],{},"300 graphemes",[368,409,410,414,416],{},[386,411,412],{},[104,413,231],{},[386,415,392],{},[386,417,418],{},"1000 items, in display order",[368,420,421,426,428],{},[386,422,423],{},[104,424,425],{},"item.note",[386,427,404],{},[386,429,430],{},"140 graphemes, 560 bytes",[368,432,433,437,439],{},[386,434,435],{},[104,436,342],{},[386,438,392],{},[386,440,441],{},[122,442,445],{"href":443,"rel":444},"https:\u002F\u002Fatproto.com\u002Fspecs\u002Flexicon#datetime",[126],"datetime",[100,447,448,449,451],{},"Each item's ",[104,450,250],{}," is one of:",[453,454,455,471],"ul",{},[456,457,458,462,463,466,467,470],"li",{},[459,460,461],"strong",{},"A package",": ",[104,464,465],{},"https:\u002F\u002Fnpmx.dev\u002Fpackage\u002F\u003Cname>",", for example ",[104,468,469],{},"https:\u002F\u002Fnpmx.dev\u002Fpackage\u002F@vitejs\u002Fplugin-vue",". This is the same identifier npmx likes use. It names the package; it doesn't depend on npmx.dev being up.",[456,472,473,476,477,479],{},[459,474,475],{},"Another collection",": its AT-URI, with the author's DID (not their handle), for example ",[104,478,323],{},". The included collection stays live, so whoever owns it keeps curating it.",[100,481,482],{},"npmx.dev shows anything else as an unrecognized item, so the author can see and fix it, rather than hiding the collection.",[484,485,487],"h3",{"id":486},"showing-nested-collections","Showing nested collections",[100,489,490],{},"npmx.dev shows an included collection as a link with its name, author and size, rather than merging its items into the parent list, so readers can see whose list each package came from. If your viewer expands included collections inline, stop at 2 levels deep and when a collection includes one you're already showing.",[484,492,494],{"id":493},"liking-a-collection","Liking a collection",[100,496,497,498,501,502,504,505,508],{},"Likes reuse ",[104,499,500],{},"dev.npmx.feed.like",", with the collection's AT-URI as ",[104,503,250],{},". Don't use the ",[104,506,507],{},"subject"," strong reference for collections: it pins a specific version, and collections change.",[138,510,512],{"className":140,"code":511,"language":142,"meta":143,"style":143},"{\n  \"$type\": \"dev.npmx.feed.like\",\n  \"subjectRef\": \"at:\u002F\u002Fdid:plc:example\u002Fdev.npmx.collection\u002F3m5k5baifas2a\",\n  \"createdAt\": \"2026-11-01T00:00:00.000Z\"\n}\n",[104,513,514,518,536,555,571],{"__ignoreMap":143},[147,515,516],{"class":149,"line":150},[147,517,154],{"class":153},[147,519,520,522,524,526,528,530,532,534],{"class":149,"line":157},[147,521,160],{"class":153},[147,523,164],{"class":163},[147,525,167],{"class":153},[147,527,170],{"class":153},[147,529,173],{"class":153},[147,531,500],{"class":176},[147,533,167],{"class":153},[147,535,181],{"class":153},[147,537,538,540,542,544,546,548,551,553],{"class":149,"line":184},[147,539,160],{"class":153},[147,541,250],{"class":163},[147,543,167],{"class":153},[147,545,170],{"class":153},[147,547,173],{"class":153},[147,549,550],{"class":176},"at:\u002F\u002Fdid:plc:example\u002Fdev.npmx.collection\u002F3m5k5baifas2a",[147,552,167],{"class":153},[147,554,181],{"class":153},[147,556,557,559,561,563,565,567,569],{"class":149,"line":205},[147,558,160],{"class":153},[147,560,342],{"class":163},[147,562,167],{"class":153},[147,564,170],{"class":153},[147,566,173],{"class":153},[147,568,351],{"class":176},[147,570,354],{"class":153},[147,572,573],{"class":149,"line":226},[147,574,360],{"class":153},[484,576,578],{"id":577},"following-a-collection","Following a collection",[100,580,581,582,585,586,588],{},"A follow is a ",[104,583,584],{},"dev.npmx.graph.follow"," record whose ",[104,587,507],{}," is the collection's AT-URI. A like says a collection is good; a follow says you want updates about it. Your own collections count as followed without a record. To follow a package, add it to a collection you follow.",[138,590,592],{"className":140,"code":591,"language":142,"meta":143,"style":143},"{\n  \"$type\": \"dev.npmx.graph.follow\",\n  \"subject\": \"at:\u002F\u002Fdid:plc:example\u002Fdev.npmx.collection\u002F3m5k5baifas2a\",\n  \"createdAt\": \"2026-11-01T00:00:00.000Z\"\n}\n",[104,593,594,598,616,634,650],{"__ignoreMap":143},[147,595,596],{"class":149,"line":150},[147,597,154],{"class":153},[147,599,600,602,604,606,608,610,612,614],{"class":149,"line":157},[147,601,160],{"class":153},[147,603,164],{"class":163},[147,605,167],{"class":153},[147,607,170],{"class":153},[147,609,173],{"class":153},[147,611,584],{"class":176},[147,613,167],{"class":153},[147,615,181],{"class":153},[147,617,618,620,622,624,626,628,630,632],{"class":149,"line":184},[147,619,160],{"class":153},[147,621,507],{"class":163},[147,623,167],{"class":153},[147,625,170],{"class":153},[147,627,173],{"class":153},[147,629,550],{"class":176},[147,631,167],{"class":153},[147,633,181],{"class":153},[147,635,636,638,640,642,644,646,648],{"class":149,"line":205},[147,637,160],{"class":153},[147,639,342],{"class":163},[147,641,167],{"class":153},[147,643,170],{"class":153},[147,645,173],{"class":153},[147,647,351],{"class":176},[147,649,354],{"class":153},[147,651,652],{"class":149,"line":226},[147,653,360],{"class":153},[112,655],{},[95,657,659],{"id":658},"make-one-with-curl","Make one with curl",[100,661,662,663,668,669,672,673,676],{},"Use an ",[122,664,667],{"href":665,"rel":666},"https:\u002F\u002Fbsky.app\u002Fsettings\u002Fapp-passwords",[126],"app password",", not your main password. Replace ",[104,670,671],{},"PDS"," with your PDS (for most Bluesky accounts, ",[104,674,675],{},"https:\u002F\u002Fbsky.social",").",[138,678,682],{"className":679,"code":680,"language":681,"meta":143,"style":143},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","PDS=https:\u002F\u002Fbsky.social\nHANDLE=you.example.com\n\n# 1. Get a session\nSESSION=$(curl -s \"$PDS\u002Fxrpc\u002Fcom.atproto.server.createSession\" \\\n  -H 'Content-Type: application\u002Fjson' \\\n  -d \"{\\\"identifier\\\":\\\"$HANDLE\\\",\\\"password\\\":\\\"$APP_PASSWORD\\\"}\")\nTOKEN=$(echo \"$SESSION\" | jq -r .accessJwt)\nDID=$(echo \"$SESSION\" | jq -r .did)\n\n# 2. Create the collection\ncurl -s \"$PDS\u002Fxrpc\u002Fcom.atproto.repo.createRecord\" \\\n  -H \"Authorization: Bearer $TOKEN\" \\\n  -H 'Content-Type: application\u002Fjson' \\\n  -d @- \u003C\u003CEOF\n{\n  \"repo\": \"$DID\",\n  \"collection\": \"dev.npmx.collection\",\n  \"record\": {\n    \"\\$type\": \"dev.npmx.collection\",\n    \"name\": \"Arg parsers\",\n    \"items\": [\n      { \"subjectRef\": \"https:\u002F\u002Fnpmx.dev\u002Fpackage\u002Fcommander\", \"note\": \"The default choice\" },\n      { \"subjectRef\": \"https:\u002F\u002Fnpmx.dev\u002Fpackage\u002Fcitty\" }\n    ],\n    \"createdAt\": \"$(date -u +%Y-%m-%dT%H:%M:%S.000Z)\"\n  }\n}\nEOF\n","bash",[104,683,684,695,705,711,717,744,760,805,837,863,867,872,890,907,920,934,939,951,957,963,975,981,987,993,999,1005,1025,1031,1036],{"__ignoreMap":143},[147,685,686,689,692],{"class":149,"line":150},[147,687,671],{"class":688},"sTEyZ",[147,690,691],{"class":153},"=",[147,693,694],{"class":176},"https:\u002F\u002Fbsky.social\n",[147,696,697,700,702],{"class":149,"line":157},[147,698,699],{"class":688},"HANDLE",[147,701,691],{"class":153},[147,703,704],{"class":176},"you.example.com\n",[147,706,707],{"class":149,"line":184},[147,708,710],{"emptyLinePlaceholder":709},true,"\n",[147,712,713],{"class":149,"line":205},[147,714,716],{"class":715},"sHwdD","# 1. Get a session\n",[147,718,719,722,725,728,731,733,736,739,741],{"class":149,"line":226},[147,720,721],{"class":688},"SESSION",[147,723,724],{"class":153},"=$(",[147,726,727],{"class":249},"curl",[147,729,730],{"class":176}," -s",[147,732,173],{"class":153},[147,734,735],{"class":688},"$PDS",[147,737,738],{"class":176},"\u002Fxrpc\u002Fcom.atproto.server.createSession",[147,740,167],{"class":153},[147,742,743],{"class":688}," \\\n",[147,745,746,749,752,755,758],{"class":149,"line":241},[147,747,748],{"class":176},"  -H",[147,750,751],{"class":153}," '",[147,753,754],{"class":176},"Content-Type: application\u002Fjson",[147,756,757],{"class":153},"'",[147,759,743],{"class":688},[147,761,762,765,767,770,773,776,778,780,783,785,787,790,792,794,797,800,802],{"class":149,"line":286},[147,763,764],{"class":176},"  -d",[147,766,173],{"class":153},[147,768,769],{"class":176},"{",[147,771,772],{"class":688},"\\\"",[147,774,775],{"class":176},"identifier",[147,777,772],{"class":688},[147,779,170],{"class":176},[147,781,782],{"class":688},"\\\"$HANDLE\\\"",[147,784,264],{"class":176},[147,786,772],{"class":688},[147,788,789],{"class":176},"password",[147,791,772],{"class":688},[147,793,170],{"class":176},[147,795,796],{"class":688},"\\\"$APP_PASSWORD\\\"",[147,798,799],{"class":176},"}",[147,801,167],{"class":153},[147,803,804],{"class":153},")\n",[147,806,807,810,812,816,818,821,823,826,829,832,835],{"class":149,"line":308},[147,808,809],{"class":688},"TOKEN",[147,811,724],{"class":153},[147,813,815],{"class":814},"s2Zo4","echo",[147,817,173],{"class":153},[147,819,820],{"class":688},"$SESSION",[147,822,167],{"class":153},[147,824,825],{"class":153}," |",[147,827,828],{"class":249}," jq",[147,830,831],{"class":176}," -r",[147,833,834],{"class":176}," .accessJwt",[147,836,804],{"class":153},[147,838,839,842,844,846,848,850,852,854,856,858,861],{"class":149,"line":331},[147,840,841],{"class":688},"DID",[147,843,724],{"class":153},[147,845,815],{"class":814},[147,847,173],{"class":153},[147,849,820],{"class":688},[147,851,167],{"class":153},[147,853,825],{"class":153},[147,855,828],{"class":249},[147,857,831],{"class":176},[147,859,860],{"class":176}," .did",[147,862,804],{"class":153},[147,864,865],{"class":149,"line":337},[147,866,710],{"emptyLinePlaceholder":709},[147,868,869],{"class":149,"line":357},[147,870,871],{"class":715},"# 2. Create the collection\n",[147,873,875,877,879,881,883,886,888],{"class":149,"line":874},12,[147,876,727],{"class":249},[147,878,730],{"class":176},[147,880,173],{"class":153},[147,882,735],{"class":688},[147,884,885],{"class":176},"\u002Fxrpc\u002Fcom.atproto.repo.createRecord",[147,887,167],{"class":153},[147,889,743],{"class":688},[147,891,893,895,897,900,903,905],{"class":149,"line":892},13,[147,894,748],{"class":176},[147,896,173],{"class":153},[147,898,899],{"class":176},"Authorization: Bearer ",[147,901,902],{"class":688},"$TOKEN",[147,904,167],{"class":153},[147,906,743],{"class":688},[147,908,910,912,914,916,918],{"class":149,"line":909},14,[147,911,748],{"class":176},[147,913,751],{"class":153},[147,915,754],{"class":176},[147,917,757],{"class":153},[147,919,743],{"class":688},[147,921,923,925,928,931],{"class":149,"line":922},15,[147,924,764],{"class":176},[147,926,927],{"class":176}," @-",[147,929,930],{"class":153}," \u003C\u003C",[147,932,933],{"class":153},"EOF\n",[147,935,937],{"class":149,"line":936},16,[147,938,154],{"class":176},[147,940,942,945,948],{"class":149,"line":941},17,[147,943,944],{"class":176},"  \"repo\": \"",[147,946,947],{"class":688},"$DID",[147,949,950],{"class":176},"\",\n",[147,952,954],{"class":149,"line":953},18,[147,955,956],{"class":176},"  \"collection\": \"dev.npmx.collection\",\n",[147,958,960],{"class":149,"line":959},19,[147,961,962],{"class":176},"  \"record\": {\n",[147,964,966,969,972],{"class":149,"line":965},20,[147,967,968],{"class":176},"    \"",[147,970,971],{"class":688},"\\$",[147,973,974],{"class":176},"type\": \"dev.npmx.collection\",\n",[147,976,978],{"class":149,"line":977},21,[147,979,980],{"class":176},"    \"name\": \"Arg parsers\",\n",[147,982,984],{"class":149,"line":983},22,[147,985,986],{"class":176},"    \"items\": [\n",[147,988,990],{"class":149,"line":989},23,[147,991,992],{"class":176},"      { \"subjectRef\": \"https:\u002F\u002Fnpmx.dev\u002Fpackage\u002Fcommander\", \"note\": \"The default choice\" },\n",[147,994,996],{"class":149,"line":995},24,[147,997,998],{"class":176},"      { \"subjectRef\": \"https:\u002F\u002Fnpmx.dev\u002Fpackage\u002Fcitty\" }\n",[147,1000,1002],{"class":149,"line":1001},25,[147,1003,1004],{"class":176},"    ],\n",[147,1006,1008,1011,1014,1017,1020,1023],{"class":149,"line":1007},26,[147,1009,1010],{"class":176},"    \"createdAt\": \"",[147,1012,1013],{"class":153},"$(",[147,1015,1016],{"class":249},"date",[147,1018,1019],{"class":176}," -u +%Y-%m-%dT%H:%M:%S.000Z",[147,1021,1022],{"class":153},")",[147,1024,354],{"class":176},[147,1026,1028],{"class":149,"line":1027},27,[147,1029,1030],{"class":176},"  }\n",[147,1032,1034],{"class":149,"line":1033},28,[147,1035,360],{"class":176},[147,1037,1039],{"class":149,"line":1038},29,[147,1040,933],{"class":153},[100,1042,1043,1044,1047,1048,136],{},"The response contains the new record's ",[104,1045,1046],{},"uri",", ending in its record key. Your collection is at ",[104,1049,1050],{},"https:\u002F\u002Fnpmx.dev\u002Fcollections\u002F\u003Cyour handle>\u002F\u003Crecord key>",[100,1052,1053,1054,1057,1058,1061,1062,1065],{},"To edit a collection, use ",[104,1055,1056],{},"com.atproto.repo.putRecord"," with the same record key, and pass the ",[104,1059,1060],{},"cid"," you last read as ",[104,1063,1064],{},"swapRecord"," so you don't overwrite someone else's edit made in the meantime.",[112,1067],{},[95,1069,1071],{"id":1070},"when-it-shows-up","When it shows up",[453,1073,1074,1084],{},[456,1075,1076,1079,1080,1083],{},[459,1077,1078],{},"Your profile"," reads straight from your PDS, so it updates right away. ",[459,1081,1082],{},"The collection page"," does too for changes made on npmx.dev; changes from other apps can take up to 5 minutes.",[456,1085,1086,1089,1090,1095],{},[459,1087,1088],{},"Like counts"," come from ",[122,1091,1094],{"href":1092,"rel":1093},"https:\u002F\u002Fconstellation.microcosm.blue\u002F",[126],"Constellation",", usually within seconds.",[1097,1098,1099],"style",{},"html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}",{"title":143,"searchDepth":157,"depth":157,"links":1101},[1102,1103,1108,1109],{"id":97,"depth":157,"text":98},{"id":116,"depth":157,"text":117,"children":1104},[1105,1106,1107],{"id":486,"depth":184,"text":487},{"id":493,"depth":184,"text":494},{"id":577,"depth":184,"text":578},{"id":658,"depth":157,"text":659},{"id":1070,"depth":157,"text":1071},"Make package collections from any atproto app","md",null,{},{"icon":88},{"title":85,"description":1110},"zyJ5myb1vpFzJY6rURa6iS3Zw8_-RlK6unb4H36er4o",[1118,1112],{"title":80,"path":81,"stem":82,"description":1119,"icon":83,"children":-1},"npmx's role in the Atmosphere",1794188024628]