back to home

safe-global / safe-wallet-monorepo

Safe{Wallet} – smart account wallet

552 stars
626 forks
99 issues
TypeScriptJavaScriptCSS

AI Architecture Analysis

This repository is indexed by RepoMind. By analyzing safe-global/safe-wallet-monorepo in our AI interface, you can instantly generate complete architecture diagrams, visualize control flows, and perform automated security audits across the entire codebase.

Our Agentic Context Augmented Generation (Agentic CAG) engine loads full source files into context on-demand, avoiding the fragmentation of traditional RAG systems. Ask questions about the architecture, dependencies, or specific features to see it in action.

Source files are only loaded when you start an analysis to optimize performance.

Embed this Badge

Showcase RepoMind's analysis directly in your repository's README.

[![Analyzed by RepoMind](https://img.shields.io/badge/Analyzed%20by-RepoMind-4F46E5?style=for-the-badge)](https://repomind.in/repo/safe-global/safe-wallet-monorepo)
Preview:Analyzed by RepoMind

Repository Overview (README excerpt)

Crawler view

Safe{Wallet} monorepo 🌐 Safe{Wallet} web app ・ 📱 Safe{Wallet} mobile app Overview Welcome to the Safe{Wallet} monorepo! Safe (formerly Gnosis Safe) is a multi-signature smart contract wallet for Ethereum and other EVM chains, requiring multiple signatures to execute transactions. This repository houses both web and mobile applications along with shared packages, managed under a unified structure using Yarn Workspaces. The monorepo setup simplifies dependency management and ensures consistent development practices across projects. Key components • **apps/web** - Next.js web application (detailed documentation) • **apps/mobile** - Expo/React Native mobile application (detailed documentation) • **packages/store** - Shared Redux store used by both platforms • **packages/utils** - Shared utilities and TypeScript types • **config/** - Shared configuration files > [!IMPORTANT] > > For detailed setup instructions and platform-specific development guides, please refer to the dedicated README files: > > - **Web App Documentation** - Complete guide for the Next.js web application > - **Mobile App Documentation** - Complete guide for the mobile application, including iOS/Android setup Getting started To get started, ensure you have the required tools installed and follow these steps: Prerequisites • **Node.js**: Install the latest stable version from Node.js. • **Yarn**: Use Yarn version 4.5.3 or later to install it with the latest node version you can simply do and then just run This will install the required version of yarn and resolve all dependencies. > [!NOTE] > > Corepack is a tool to help with managing versions of your package managers. It exposes binary proxies for each supported package manager that, when called, will identify whatever package manager is > configured for the current project, download it if needed, and finally run it. Initial setup • Clone the repository: • Install dependencies: Quick start commands > [!TIP] > > For comprehensive setup instructions, environment variables, testing, and platform-specific workflows, see: > > - **Web App README** - Environment setup, Cypress E2E tests, Storybook, and more > - **Mobile App README** - iOS/Android setup, Maestro E2E tests, Expo configuration, and more Monorepo commands Here are some essential commands to help you navigate the monorepo: Workspace management • **Run a script in a specific workspace:** Example: • **Add a dependency to a specific workspace:** • **Remove a dependency from a specific workspace:** > [!Note] > > Yarn treats commands that contain a colon as global commands. For example if you have a > command in a workspace that has a colon and there isn't another workspace that has the same command, > you can run the command without specifying the workspace name. For example: > > > > is equivalent to: > > Linting, formatting, and type-checking • **Run ESLint across all workspaces:** • **Run Prettier to check formatting:** • **Run type-check for a workspace:** Testing • **Run unit tests across all workspaces:** • **Run E2E tests (web only):** Contributing Adding a new workspace • Create a new directory under or . • Add a file with the appropriate configuration. • Run: Best practices • Use Yarn Workspaces commands for managing dependencies. • Ensure type-check, lint, prettier, and tests pass before pushing changes. • Follow the semantic commit message guidelines. • For AI contributors, see AGENTS.md for detailed guidelines. Tools & configurations • **Husky**: Pre-commit hooks for linting, formatting, and type-checking. • **ESLint & Prettier**: Enforce coding standards and formatting. • **Jest**: Unit testing framework. • **Cypress**: E2E testing for the web app. • **Storybook**: Component documentation and development for the web app. • **Expo**: Mobile app framework for the workspace. • **Next.js**: React framework for the workspace. • **Tamagui**: UI component library for the mobile app. Release process For information on releasing the web app, see the Automated Release Procedure. Useful links • Yarn Workspaces Documentation • Expo Documentation • Next.js Documentation • Storybook Documentation • Jest Documentation • ESLint Documentation • Prettier Documentation • Safe Developer Docs Ode to the repo --- If you have any questions or run into issues, feel free to open a discussion or contact the maintainers. Happy coding! 🚀