From 2b6867575cf45bf2d0870b2f5ed02fc3f4a69e67 Mon Sep 17 00:00:00 2001 From: Ewan Date: Sun, 13 Jul 2025 22:04:30 +0100 Subject: [PATCH] docs: fix typos and improve markdown formatting in README and add cspell.json for spell checking configuration (#20) --- README.md | 132 +++++++++++++++++++++++++++------------------------- cspell.json | 45 ++++++++++++++++++ 2 files changed, 113 insertions(+), 64 deletions(-) create mode 100644 cspell.json diff --git a/README.md b/README.md index 2497eb9..70f58ee 100644 --- a/README.md +++ b/README.md @@ -5,73 +5,77 @@ You should not use this PDS. You should not rely on this code as a reference for Cocoon is a PDS implementation in Go. It is highly experimental, and is not ready for any production use. -### Impmlemented Endpoints +## Implemented Endpoints > [!NOTE] -Just because something is implemented doesn't mean it is finisehd. Tons of these are returning bad errors, don't do validation properly, etc. I'll make a "second pass" checklist at some point to do all of that. - -#### Identity -- [ ] com.atproto.identity.getRecommendedDidCredentials -- [ ] com.atproto.identity.requestPlcOperationSignature -- [x] com.atproto.identity.resolveHandle -- [ ] com.atproto.identity.signPlcOperation -- [ ] com.atproto.identity.submitPlcOperatioin -- [x] com.atproto.identity.updateHandle - -#### Repo -- [x] com.atproto.repo.applyWrites -- [x] com.atproto.repo.createRecord -- [x] com.atproto.repo.putRecord -- [x] com.atproto.repo.deleteRecord -- [x] com.atproto.repo.describeRepo -- [x] com.atproto.repo.getRecord -- [x] com.atproto.repo.importRepo (Works "okay". You still have to handle PLC operations on your own when migrating. Use with extreme caution.) -- [x] com.atproto.repo.listRecords -- [ ] com.atproto.repo.listMissingBlobs - -#### Server -- [ ] com.atproto.server.activateAccount -- [x] com.atproto.server.checkAccountStatus -- [x] com.atproto.server.confirmEmail -- [x] com.atproto.server.createAccount -- [x] com.atproto.server.createInviteCode -- [x] com.atproto.server.createInviteCodes -- [ ] com.atproto.server.deactivateAccount -- [ ] com.atproto.server.deleteAccount -- [x] com.atproto.server.deleteSession -- [x] com.atproto.server.describeServer -- [ ] com.atproto.server.getAccountInviteCodes -- [ ] com.atproto.server.getServiceAuth -- ~[ ] com.atproto.server.listAppPasswords~ - not going to add app passwords -- [x] com.atproto.server.refreshSession -- [ ] com.atproto.server.requestAccountDelete -- [x] com.atproto.server.requestEmailConfirmation -- [x] com.atproto.server.requestEmailUpdate -- [x] com.atproto.server.requestPasswordReset -- [ ] com.atproto.server.reserveSigningKey -- [x] com.atproto.server.resetPassword -- ~[ ] com.atproto.server.revokeAppPassword~ - not going to add app passwords -- [x] com.atproto.server.updateEmail - -#### Sync -- [x] com.atproto.sync.getBlob -- [x] com.atproto.sync.getBlocks -- [x] com.atproto.sync.getLatestCommit -- [x] com.atproto.sync.getRecord -- [x] com.atproto.sync.getRepoStatus -- [x] com.atproto.sync.getRepo -- [x] com.atproto.sync.listBlobs -- [x] com.atproto.sync.listRepos -- ~[ ] com.atproto.sync.notifyOfUpdate~ - BGS doesn't even have this implemented lol -- [x] com.atproto.sync.requestCrawl -- [x] com.atproto.sync.subscribeRepos - -#### Other -- [ ] com.atproto.label.queryLabels -- [x] com.atproto.moderation.createReport (Note: this should be handled by proxying, not actually implemented in the PDS) -- [x] app.bsky.actor.getPreferences -- [x] app.bsky.actor.putPreferences +Just because something is implemented doesn't mean it is finished. Tons of these are returning bad errors, don't do validation properly, etc. I'll make a "second pass" checklist at some point to do all of that. +### Identity + +- [ ] `com.atproto.identity.getRecommendedDidCredentials` +- [ ] `com.atproto.identity.requestPlcOperationSignature` +- [x] `com.atproto.identity.resolveHandle` +- [ ] `com.atproto.identity.signPlcOperation` +- [ ] `com.atproto.identity.submitPlcOperation` +- [x] `com.atproto.identity.updateHandle` + +### Repo + +- [x] `com.atproto.repo.applyWrites` +- [x] `com.atproto.repo.createRecord` +- [x] `com.atproto.repo.putRecord` +- [x] `com.atproto.repo.deleteRecord` +- [x] `com.atproto.repo.describeRepo` +- [x] `com.atproto.repo.getRecord` +- [x] `com.atproto.repo.importRepo` (Works "okay". You still have to handle PLC operations on your own when migrating. Use with extreme caution.) +- [x] `com.atproto.repo.listRecords` +- [ ] `com.atproto.repo.listMissingBlobs` + +### Server + +- [ ] `com.atproto.server.activateAccount` +- [x] `com.atproto.server.checkAccountStatus` +- [x] `com.atproto.server.confirmEmail` +- [x] `com.atproto.server.createAccount` +- [x] `com.atproto.server.createInviteCode` +- [x] `com.atproto.server.createInviteCodes` +- [ ] `com.atproto.server.deactivateAccount` +- [ ] `com.atproto.server.deleteAccount` +- [x] `com.atproto.server.deleteSession` +- [x] `com.atproto.server.describeServer` +- [ ] `com.atproto.server.getAccountInviteCodes` +- [ ] `com.atproto.server.getServiceAuth` +- ~~[ ] `com.atproto.server.listAppPasswords`~~ - not going to add app passwords +- [x] `com.atproto.server.refreshSession` +- [ ] `com.atproto.server.requestAccountDelete` +- [x] `com.atproto.server.requestEmailConfirmation` +- [x] `com.atproto.server.requestEmailUpdate` +- [x] `com.atproto.server.requestPasswordReset` +- [ ] `com.atproto.server.reserveSigningKey` +- [x] `com.atproto.server.resetPassword` +- ~~[] `com.atproto.server.revokeAppPassword`~~ - not going to add app passwords +- [x] `com.atproto.server.updateEmail` + +### Sync + +- [x] `com.atproto.sync.getBlob` +- [x] `com.atproto.sync.getBlocks` +- [x] `com.atproto.sync.getLatestCommit` +- [x] `com.atproto.sync.getRecord` +- [x] `com.atproto.sync.getRepoStatus` +- [x] `com.atproto.sync.getRepo` +- [x] `com.atproto.sync.listBlobs` +- [x] `com.atproto.sync.listRepos` +- ~~[ ] `com.atproto.sync.notifyOfUpdate`~~ - BGS doesn't even have this implemented lol +- [x] `com.atproto.sync.requestCrawl` +- [x] `com.atproto.sync.subscribeRepos` + +### Other + +- [ ] `com.atproto.label.queryLabels` +- [x] `com.atproto.moderation.createReport` (Note: this should be handled by proxying, not actually implemented in the PDS) +- [x] `app.bsky.actor.getPreferences` +- [x] `app.bsky.actor.putPreferences` ## License diff --git a/cspell.json b/cspell.json new file mode 100644 index 0000000..cb69034 --- /dev/null +++ b/cspell.json @@ -0,0 +1,45 @@ +{ + "version": "0.2", + "language": "en", + "words": [ + "atproto", + "bsky", + "Cocoon", + "PDS", + "Plc", + "plc", + "repo", + "InviteCodes", + "InviteCode", + "Invite", + "Signin", + "Signout", + "JWKS", + "dpop", + "BGS", + "pico", + "picocss", + "par", + "blobs", + "blob", + "did", + "DID", + "OAuth", + "oauth", + "par", + "Cocoon", + "memcache", + "db", + "helpers", + "middleware", + "repo", + "static", + "pico", + "picocss", + "MIT", + "Go" + ], + "ignorePaths": [ + "server/static/pico.css" + ] +} -- 2.51.2