diff --git a/.editorconfig b/.editorconfig
index 916e2e5..64f36f6 100644
--- a/.editorconfig
+++ b/.editorconfig
@@ -5,9 +5,9 @@ charset = utf-8
end_of_line = lf
trim_trailing_whitespace = true
insert_final_newline = true
-indent_style = space
-indent_size = 2
+indent_style = tab
+indent_size = 4
quote_type = single
[Makefile]
-indent_style = space
+indent_style = tab
diff --git a/.gitignore b/.gitignore
index ece695a..656d096 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,63 +1,5 @@
-# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
-
-package-lock.json
-
-# Eater asked for this dunno why
-bot/
-apps/
-
-# Enviorment
-.env
-
-# bun
-bun-test.js
-
-# NPM
-npm/
-
-# DOCS
-docs.json
-packages/core/docs.json
-
-# dependencies
+pnpm-lock.yaml
node_modules
-.pnp
-.pnp.js
-.vscode
-
-# testing
-coverage
-
-# node
-out/
+lib/
dist/
-build
-package-lock.json
-
-# misc
-.DS_Store
-*.pem
-*.vs
-
-# debug
-npm-debug.log*
-yarn-debug.log*
-yarn-error.log*
-.pnpm-debug.log*
-
-# local env files
-.env.local
-.env.development.local
-.env.test.local
-.env.production.local
-.env
-
-# turbo
-.turbo
-
-# tests
-__tests__
__test__
-
-# changeset
-.changeset
diff --git a/.husky/pre-commit b/.husky/pre-commit
new file mode 100644
index 0000000..0312b76
--- /dev/null
+++ b/.husky/pre-commit
@@ -0,0 +1,4 @@
+#!/usr/bin/env sh
+. "$(dirname -- "$0")/_/husky.sh"
+
+npx lint-staged
\ No newline at end of file
diff --git a/.swcrc b/.swcrc
new file mode 100644
index 0000000..c656cc0
--- /dev/null
+++ b/.swcrc
@@ -0,0 +1,30 @@
+{
+ "sourceMaps": false,
+ "module": {
+ "type": "commonjs",
+ "strictMode": true,
+ "noInterop": false
+ },
+ "jsc": {
+ "externalHelpers": false,
+ "target": "esnext",
+ "parser": {
+ "syntax": "typescript",
+ "tsx": true,
+ "decorators": true,
+ "dynamicImport": true
+ },
+ "transform": {
+ "legacyDecorator": true,
+ "decoratorMetadata": true,
+ "react": {
+ "throwIfNamespace": false,
+ "useBuiltins": false,
+ "pragma": "React.createElement",
+ "pragmaFrag": "React.Fragment",
+ "importSource": "react"
+ }
+ },
+ "keepClassNames": true
+ }
+}
diff --git a/.vscode/extensions.json b/.vscode/extensions.json
new file mode 100644
index 0000000..70edba8
--- /dev/null
+++ b/.vscode/extensions.json
@@ -0,0 +1,8 @@
+{
+ "recommendations": [
+ "biomejs.biome",
+ "orta.vscode-twoslash-queries",
+ "eamodio.gitlens",
+ "yoavbls.pretty-ts-errors"
+ ]
+}
diff --git a/.vscode/settings.json b/.vscode/settings.json
new file mode 100644
index 0000000..00ad71f
--- /dev/null
+++ b/.vscode/settings.json
@@ -0,0 +1,3 @@
+{
+ "typescript.tsdk": "node_modules\\typescript\\lib"
+}
\ No newline at end of file
diff --git a/README.md b/README.md
index a4cee95..ef3b7d6 100644
--- a/README.md
+++ b/README.md
@@ -1,68 +1,57 @@
-# biscuit
+
-## A brand new bleeding edge non bloated Discord library
+ # **Seyfert**
-

+

-## Install (for [node18](https://nodejs.org/en/download/))
+ **A brand new bleeding edge non bloated Discord framework**
-```sh-session
-npm install @biscuitland/core
-yarn add @biscuitland/core
+ [](https://github.com/tiramisulabs/biscuit/blob/main/LICENSE)
+ [](https://www.npmjs.com/package/seyfert)
+ [](https://discord.com/invite/XNw2RZFzaP)
+
+
+
+> [!WARNING]
+> This readme is work in progress!
+
+# FAQ
+## So, what is `seyfert`?
+Seyfert is the ultimate Discord framework! With its highly efficient interaction with the Discord API, you can achieve anything you set your mind to.
+
+## Why I should use it?
+Seyfert has a good scalability, strict types, smooth developing experience...
+
+> more questions soon...
+
+# User guide
+## Installation
+> [!NOTE]
+> You **NEED** Node.js 18>= for this to work, also we recomended Node.js 20 LTS and Bun latest
+```sh
+pnpm add seyfert
```
-for further reading join our [Discord](https://discord.com/invite/XNw2RZFzaP)
+> You may use your preferred package manager, for this example I am using PNPM since is more efficient.
-## Most importantly, biscuit:
-Stands apart from other libraries like Discord.js or Eris as it takes a conscious and dedicated approach, adhering strictly to [simplicity](https://en.wikipedia.org/wiki/Unix_philosophy). We have examined the features and functionalities that contribute to [bloat](https://en.wikipedia.org/wiki/Code_bloat) in libraries, intentionally removing unnecessary complexities we deliver a [minimalistic](https://en.wikipedia.org/wiki/Minimalism_(computing)) and efficient solution that includes only essential components for Discord API interaction, reducing the library's footprint and enabling scalability.
-
-High RAM usage in other libraries often arises due to unnecessary features and functionalities and suboptimal caching mechanisms tied to the core library.
-
-### Leveraging the power of meta programming
-The Proxy object enables dynamic, flexible and efficient calls to the API, it is typesafe due to TypeScript wizardry, meta programming is not for the weak minded.
-
-## Why biscuit?:
-- Remarkably minimal memory footprint
-- Scalable
-- Non feature-rich!
-
-## Example bot (TS/JS)
+## Basic bot example
```ts
-import { Session } from '@biscuitland/core';
-import { GatewayIntentBits, InteractionType, InteractionResponseType } from '@biscuitland/common';
+import { Client } from 'seyfert';
-const session = new Session({
- intents: GatewayIntentBits.Guilds,
- token: 'your token goes here'
-});
+const client = new Client();
-const commands = [
- {
- name: 'ping',
- description: 'Replies with pong!'
- }
-];
-
-session.once('READY', (payload) => {
- const username = payload.user.username;
- console.log('Logged in as: %s', username);
- session.managers.applications.bulkCommands(session.applicationId, commands);
-});
-
-session.on('INTERACTION_CREATE', (interaction) => {
- if (interaction.type !== InteractionType.ApplicationCommand) return;
- session.managers.interactions.reply(interaction.id, interaction.token, {
- type: InteractionResponseType.ChannelMessageWithSource,
- data: { content: 'pong!' }
- });
-});
-
-session.start();
+(async () => {
+ await client.start();
+ await client.uploadCommands().catch(e => {
+ console.error(JSON.stringify(e, null, 2))
+ process.exit(1)
+ })
+})();
```
-## Links
-* [Website](https://biscuitjs.com/)
-* [Documentation](https://docs.biscuitjs.com/)
-* [Discord](https://discord.gg/XNw2RZFzaP)
-* [core](https://www.npmjs.com/package/@biscuitland/core) | [rest](https://www.npmjs.com/package/@biscuitland/rest) | [ws](https://www.npmjs.com/package/@biscuitland/ws) | [helpers](https://www.npmjs.com/package/@biscuitland/helpers)
+# Useful links
+
+- [GitHub Repository](https://github.com/tiramisulabs/biscuit)
+- [Discord server](https://discord.com/invite/XNw2RZFzaP)
+- [npm - core](https://www.npmjs.com/package/seyfert)
diff --git a/assets/icon.png b/assets/icon.png
index f122d29..9eb27ea 100644
Binary files a/assets/icon.png and b/assets/icon.png differ
diff --git a/assets/icon.svg b/assets/icon.svg
index ab9169a..3b3e043 100644
--- a/assets/icon.svg
+++ b/assets/icon.svg
@@ -1,75 +1,345 @@
-
-
-
-