Taproot's new composer has been fully upgraded to make creating new at:// records easier and faster. It now lives at atproto.at/new and at a shorter URL at.new.
Typing at.new directly into your browser takes you to the Taproot composer page. at.new also comes with a few bells and whistles. You can prefill the URL with parameters to automatically populate the composer.
For example, you can draft a record and share that using the at.new link.
Create new statusphere status
https://at.new/?collection=xyz.statusphere.status#record=dfl:q1ZSKaksSFWyUqqorNIrLkksKS0uyEgtSoWylXSUoAwrpQ_zl2x_1ND7aGbT-x39SjpKyUWpiSWpKY4lSlZK1dUqefnltbVKtQAa new bsky post
https://at.new/?collection=app.bsky.feed.post#record=dfl:rZBBasMwEEWvIn69FEpDoTTaZdF9oN0VL2R7HIs4kpDHJEYIeoiesCcpijeBdtndH5g_jzcJFS-BoGFCUM10WlRP1KngJ4YE05WhcfATW3cUffRnYVg5uojvzy_BA4mS9-_iED371o-i9efgJ4pSWGfZGqZu7Y1k-pFYhbkRzczsHSRG444T9AdSqkrOGbVEG6n09oWdUuX8JWdI9KYlLtsJ1nV0hU5oFqY3NpGht0_yNr66Dnq7yxI9GZ4jrZVfotG2QxFUt7sPo3UnSMzRQmNgDpPebFZZ5DrLv6HPuzvoy-O_QO8-Vch1_gEOr even say hi to Eli on stream.place chat
https://at.new/?collection=place.stream.chat.message#record=dfl:JcxNCsIwEAbQq5SPLksWBRGyc-c1hnSM0fyZDLS25ASuPIFX9AhSPMB7G3p5ZoZG9mRYVSlMQZkriQpcK1nGAOFFoHFm71N3KSl0JCry3H0_7xcG_BUXaExu0tkbPa5hcXdnx3o72gfx6g82Cu2bKUzC02kvt62PaW4N7QcThese links only prefill the form. The user still has to click Create Record to publish it.
Template variables
It even supports a limited set of template variables right now like {{$now}}, {{$lang}}, {{$did}} and {{$handle}} that get substituted during publish.
You can even attach a custom variable like {{something}} that becomes a text input below the composer for the user to fill in.
It can be used to create a raw user input form, a rating, a poll, etc.
More built-in template variables and input field types are coming soon.
Integrations
There are even more interesting ways we can use at.new.
It can be used as a browser bookmarklet with record types that you create often.
For example, to create a simple public community.lexicon.bookmarks.bookmark type record, save this in your bookmarks bar and click it on any page you want to bookmark and it automatically takes you to the composer with the site address prefilled.
javascript:void(window.location.href='https://at.new/#record='+encodeURIComponent(JSON.stringify({$type:'community.lexicon.bookmarks.bookmark',subject:location.href,tags:[],createdAt:'{{$now}}'})));
at.new is a good way to show someone new to the atmosphere how atproto records look and work. Prefilled at.new links and template variables can also be creatively used with NFC tags and QR codes.
Share draft
You can always share the content you composed using the Share draft button and it automatically creates an at.new link that anyone can open with the content prefilled.
An all-new composer
To create a public at:// record in your PDS, you need three things:
collection name / NSID
record key
record content
The new composer has helpers for all three.
Autocomplete collection + lexicon validation
Collection NSIDs now autocomplete from published lexicons on the network, and also for collections that already exist in your repo.
For valid published lexicons, the composer preloads the required fields defined in the schema. (Powered by lexicon.store)
THE schema validator immediately shows what the record is missing and flags incorrect fields.
You can also load the schema for that lexicon directly in the same window.
Sample records on the network
You can also view sample records on the network (if any) for that collection by clicking the "Used by x accounts" link in top-right corner.
It takes you to the list repos-by-collection view (powered by microcosm's lightrail), then click on any user to view their records for this collection
Back in the composer, the validator shows a green check mark once you have a valid record for that schema.
Drafts
You can compose a whole record while logged out. Drafts are saved to localstorage on your device, so you can sign in later, load it from the saved drafts and publish it.
Publishing lexicons
You can even publish a new lexicon based on the record already composed in the editor.
This provides a good base template for the lexicon based on the record.
If you need to start off from an already published lexicon, you can also click on Examples to view all the published lexicons on the network right now and load a copy of it to the composer and have it as a starting point to build your lexicon.
Adjust the generated content according to what you plan the final lexicon to be.
Also make sure the id is updated to match the domain you control!
Lexicons also require a valid TXT record setup for each unique namespace prefix for other lexicon resolvers to actually validate.
The publishing checks overlay helps validate the DNS records from the same screen.
It suggests what the DNS TXT record should be set to based on the lexicon NSID.
Update it in your DNS provider and revalidate from the same taproot composer.
Once everything passes, you can go ahead and publish the lexicon on the network by creating that record. Lexicon.store will also validate it and add it to the lexicon registry.
Templates
There are a couple of pre-made templates built into the composer right now. Will be adding more default ones, and a way for users to add their own.
Helpers, Blobs and Advanced Validators
There are a few options that show up automatically above the composer based on some popular lexicons.
For example, Facets detect links, tags and mentions in the text and build the byte ranges for you. There is an option to attach a blob/media to any record being composed. The advanced section has a few validators that the PDS supports.
You can also validate a record based on a lexicon that isn't fully published on the network by pasting the lexicon's at:// URL in the advanced section.
at.new is where at:// records get made.