diff --git a/React/DoItJust/src/store/slices/TodoSlice.ts b/React/DoItJust/src/store/slices/TodoSlice.ts
index 37e8272..c040a07 100644
--- a/React/DoItJust/src/store/slices/TodoSlice.ts
+++ b/React/DoItJust/src/store/slices/TodoSlice.ts
@@ -1,5 +1,5 @@
import type {Nullable} from '../../types/definedTypes';
-import {createSlice} from '@reduxjs/toolkit';
+import {createSelector, createSlice} from '@reduxjs/toolkit';
import {TodoItem} from '../../entities/TodoItem';
interface ITodoSliceState {
@@ -20,6 +20,7 @@ const initialTodoState: ITodoSliceState = {
error: null
};
+
export const TodoSlice = createSlice({
name: 'todo',
initialState: initialTodoState,
@@ -61,5 +62,8 @@ export const TodoSlice = createSlice({
//}
});
+
+const selectTodos = (state: {todo: ITodoSliceState}) => state.todo;
+export const selectTodoItems = createSelector([selectTodos], todo => todo.items);
export const {appendTodoItem} = TodoSlice.actions;
export const todoSliceStateReducer = TodoSlice.reducer;
diff --git a/RequireJs/require-js-node/.cursor/rules/use-bun-instead-of-node-vite-npm-pnpm.mdc b/RequireJs/require-js-node/.cursor/rules/use-bun-instead-of-node-vite-npm-pnpm.mdc
new file mode 120000
index 0000000..6100270
--- /dev/null
+++ b/RequireJs/require-js-node/.cursor/rules/use-bun-instead-of-node-vite-npm-pnpm.mdc
@@ -0,0 +1 @@
+../../CLAUDE.md
\ No newline at end of file
diff --git a/RequireJs/require-js-node/.gitignore b/RequireJs/require-js-node/.gitignore
new file mode 100644
index 0000000..a14702c
--- /dev/null
+++ b/RequireJs/require-js-node/.gitignore
@@ -0,0 +1,34 @@
+# dependencies (bun install)
+node_modules
+
+# output
+out
+dist
+*.tgz
+
+# code coverage
+coverage
+*.lcov
+
+# logs
+logs
+_.log
+report.[0-9]_.[0-9]_.[0-9]_.[0-9]_.json
+
+# dotenv environment variable files
+.env
+.env.development.local
+.env.test.local
+.env.production.local
+.env.local
+
+# caches
+.eslintcache
+.cache
+*.tsbuildinfo
+
+# IntelliJ based IDEs
+.idea
+
+# Finder (MacOS) folder config
+.DS_Store
diff --git a/Web/WebSocket/websocket/frontend/.npmrc b/RequireJs/require-js-node/.npmrc
similarity index 100%
rename from Web/WebSocket/websocket/frontend/.npmrc
rename to RequireJs/require-js-node/.npmrc
diff --git a/Web/WebSocket/websocket/server/.prettierrc b/RequireJs/require-js-node/.prettierrc
similarity index 100%
rename from Web/WebSocket/websocket/server/.prettierrc
rename to RequireJs/require-js-node/.prettierrc
diff --git a/RequireJs/require-js-node/CLAUDE.md b/RequireJs/require-js-node/CLAUDE.md
new file mode 100644
index 0000000..b8100b7
--- /dev/null
+++ b/RequireJs/require-js-node/CLAUDE.md
@@ -0,0 +1,111 @@
+---
+description: Use Bun instead of Node.js, npm, pnpm, or vite.
+globs: "*.ts, *.tsx, *.html, *.css, *.js, *.jsx, package.json"
+alwaysApply: false
+---
+
+Default to using Bun instead of Node.js.
+
+- Use `bun ` instead of `node ` or `ts-node `
+- Use `bun test` instead of `jest` or `vitest`
+- Use `bun build ` instead of `webpack` or `esbuild`
+- Use `bun install` instead of `npm install` or `yarn install` or `pnpm install`
+- Use `bun run
+