Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
d71c4ba
create app
adityaoberai Nov 27, 2025
7df4cec
remove initial draft rules file
adityaoberai Nov 27, 2025
4181a43
Add multitenancy guideline to rules generator
adityaoberai Nov 27, 2025
ad12780
Add Apple and Android SDK support to rules generator; update installa…
adityaoberai Nov 27, 2025
50a1829
Update Dart SDK installation instructions and enhance Qwik security n…
adityaoberai Nov 27, 2025
8684766
Change "real-time" to "realtime"
adityaoberai Nov 27, 2025
90b5005
update favicon to appwrite logo
adityaoberai Nov 27, 2025
0d05102
Add MCP section to rules generator and update package.json with Next.…
adityaoberai Nov 27, 2025
d2ef717
Enhance README with detailed features and usage instructions for Appw…
adityaoberai Nov 27, 2025
db0f222
Integrate permission examples into rules generator documentation; enh…
adityaoberai Nov 27, 2025
5d7e367
Add API endpoints for SDK listing and rule generation
adityaoberai Nov 28, 2025
9c347b5
Replace "document" with "row" and "collection" with "table"
adityaoberai Nov 28, 2025
404442e
Remove outdated common product links
adityaoberai Nov 28, 2025
1b2f159
Remove redundant authentication documentation link from common produc…
adityaoberai Nov 28, 2025
3a5ceb0
Remove unnecessary JSDoc comment from SDK server route
adityaoberai Nov 28, 2025
2cfc254
Refactor rules generator functions to remove unnecessary parameters
adityaoberai Nov 28, 2025
cf48a44
Refactor installation instructions and enhance SSR authentication doc…
adityaoberai Dec 15, 2025
2e52986
Update AGENTS.md generation and documentation; refactor rules generat…
adityaoberai Dec 19, 2025
dd27f5b
Add EXAMPLE-AGENTS.md for comprehensive Appwrite development guidelin…
adityaoberai Dec 19, 2025
6246101
use pink svelte for design and use console fonts
atharvadeosthale Feb 3, 2026
8e1bdde
Merge pull request #2 from appwrite/revamp-and-fixes
adityaoberai Feb 18, 2026
5f7bf03
reduce button size
atharvadeosthale Feb 23, 2026
79faed0
rules -> agents.md
atharvadeosthale Feb 23, 2026
fb77557
more enhancement to rules
atharvadeosthale Mar 3, 2026
5286c45
update title
atharvadeosthale Mar 27, 2026
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
1,173 changes: 1,173 additions & 0 deletions .cursor/rules/APPWRITE.mdc

Large diffs are not rendered by default.

23 changes: 23 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
node_modules

# Output
.output
.vercel
.netlify
.wrangler
/.svelte-kit
/build

# OS
.DS_Store
Thumbs.db

# Env
.env
.env.*
!.env.example
!.env.test

# Vite
vite.config.js.timestamp-*
vite.config.ts.timestamp-*
1 change: 1 addition & 0 deletions .npmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
engine-strict=true
9 changes: 9 additions & 0 deletions .prettierignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Package Managers
package-lock.json
pnpm-lock.yaml
yarn.lock
bun.lock
bun.lockb

# Miscellaneous
/static/
17 changes: 17 additions & 0 deletions .prettierrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
{
"useTabs": true,
"singleQuote": true,
"trailingComma": "none",
"printWidth": 100,
"plugins": [
"prettier-plugin-svelte"
],
"overrides": [
{
"files": "*.svelte",
"options": {
"parser": "svelte"
}
}
]
}
21 changes: 0 additions & 21 deletions LICENSE

This file was deleted.

38 changes: 38 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# sv

Everything you need to build a Svelte project, powered by [`sv`](https://github.com/sveltejs/cli).

## Creating a project

If you're seeing this, you've probably already done this step. Congrats!

```sh
# create a new project in the current directory
npx sv create

# create a new project in my-app
npx sv create my-app
```

## Developing

Once you've created a project and installed dependencies with `npm install` (or `pnpm install` or `yarn`), start a development server:

```sh
npm run dev

# or start the server and open the app in a new browser tab
npm run dev -- --open
```
Comment on lines +183 to +206
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Specify a language for the fenced code block.

The project structure code block at line 89 should include a language identifier for proper markdown linting compliance.

Apply this diff to add a language specifier:

-```
+```
 appwrite-cursor-rules/
 ├── src/
 │   ├── lib/
 │   │   ├── languages/          # SDK and framework-specific code examples
 │   │   │   ├── js/             # JavaScript/TypeScript frameworks
 │   │   │   ├── python/         # Python frameworks
 │   │   │   ├── common/         # Shared rules (products, MCP, etc.)
 │   │   │   └── ...             # Other SDKs
 │   │   ├── rules-generator.js  # Main rules generation logic
 │   │   └── utils/              # Utility functions
 │   └── routes/
 │       ├── +page.svelte        # Main application page
 │       └── +layout.svelte      # Layout component
 ├── scripts/
 │   ├── generate-nextjs-rules.js  # Example script for generating rules
 │   └── lib-loader.js             # Module loader for scripts
 └── static/                        # Static assets

Since the content is a directory tree rather than executable code, you may alternatively use a backtick fence without a language identifier if your markdown configuration permits it, or use txt as the language.

Committable suggestion skipped: line range outside the PR's diff.

🧰 Tools
🪛 markdownlint-cli2 (0.18.1)

89-89: Fenced code blocks should have a language specified

(MD040, fenced-code-language)

🤖 Prompt for AI Agents
README.md around lines 89 to 107: the fenced code block containing the project
directory tree lacks a language identifier which fails markdown linting; update
the opening fence from ``` to ```txt (or another appropriate identifier such as
text) so the block is explicitly marked as plain text, leaving the content
unchanged and keeping the closing ``` intact.

Comment on lines +87 to +104
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Align /api/sdks response example with actual API (availableFeatures includes "all").

src/routes/api/sdks/+server.js returns availableFeatures including the special "all" value, but the README example omits it. This can confuse API consumers about the supported features values.

Consider updating the example to include "all":

-  "availableFeatures": ["auth", "database", "storage", "functions", "messaging", "sites", "realtime"]
+  "availableFeatures": ["auth", "database", "storage", "functions", "messaging", "sites", "realtime", "all"]
🤖 Prompt for AI Agents
In README.md around lines 85 to 101, the example JSON for the /api/sdks response
omits the special "all" value returned by the real API; update the example
response to include "all" in the availableFeatures array (e.g.,
["auth","database","storage","functions","messaging","sites","realtime","all"])
so the docs match src/routes/api/sdks/+server.js.


## Building

To create a production version of your app:

```sh
npm run build
```

You can preview the production build with `npm run preview`.

> To deploy your app, you may need to install an [adapter](https://svelte.dev/docs/kit/adapters) for your target environment.
40 changes: 40 additions & 0 deletions eslint.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
import { fileURLToPath } from 'node:url';
import { includeIgnoreFile } from '@eslint/compat';
import js from '@eslint/js';
import svelte from 'eslint-plugin-svelte';
import { defineConfig } from 'eslint/config';
import globals from 'globals';
import ts from 'typescript-eslint';
import svelteConfig from './svelte.config.js';

const gitignorePath = fileURLToPath(new URL('./.gitignore', import.meta.url));

export default defineConfig(
includeIgnoreFile(gitignorePath),
js.configs.recommended,
...ts.configs.recommended,
...svelte.configs.recommended,
{
languageOptions: {
globals: { ...globals.browser, ...globals.node }
},
rules: { // typescript-eslint strongly recommend that you do not use the no-undef lint rule on TypeScript projects.
// see: https://typescript-eslint.io/troubleshooting/faqs/eslint/#i-get-errors-from-the-no-undef-rule-about-global-variables-not-being-defined-even-though-there-are-no-typescript-errors
"no-undef": 'off' }
},
{
files: [
'**/*.svelte',
'**/*.svelte.ts',
'**/*.svelte.js'
],
languageOptions: {
parserOptions: {
projectService: true,
extraFileExtensions: ['.svelte'],
parser: ts.parser,
svelteConfig
}
}
}
);
37 changes: 37 additions & 0 deletions package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
{
"name": "appwrite-cursor-rules",
"private": true,
"version": "0.0.1",
"type": "module",
"scripts": {
"dev": "vite dev",
"build": "vite build",
"preview": "vite preview",
"prepare": "svelte-kit sync || echo ''",
"check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json",
"check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch",
"format": "prettier --write .",
"lint": "prettier --check . && eslint ."
},
"devDependencies": {
"@eslint/compat": "^1.4.0",
"@eslint/js": "^9.39.1",
"@sveltejs/adapter-auto": "^7.0.0",
"@sveltejs/kit": "^2.48.5",
"@sveltejs/vite-plugin-svelte": "^6.2.1",
"@types/node": "^22",
"eslint": "^9.39.1",
"eslint-plugin-svelte": "^3.13.0",
"globals": "^16.5.0",
"prettier": "^3.6.2",
"prettier-plugin-svelte": "^3.4.0",
"svelte": "^5.43.8",
"svelte-check": "^4.3.4",
"typescript": "^5.9.3",
"typescript-eslint": "^8.47.0",
"vite": "^7.2.2"
},
"dependencies": {
"@appwrite.io/pink": "^1.0.0"
}
}
Loading