# Build a Solid Expo Project Foundation

New Expo projects need consistent configuration before feature work begins. This skill provides a focused setup path for TypeScript, storage, state, testing, and quality tools.

## Install

```bash
npx skillstore add babakbar/project-setup-architecture
```

## Metadata

- Status: approved
- Slug: babakbar-project-setup-architecture
- Skillstore revision: r3
- Version status: missing
- Tree hash: 49e6793b2b5b97c70da1223564a39348aa2193671ef491ce26c7a18b8ce25445
- Author: BabakBar
- GitHub username: BabakBar
- License: MIT
- Repository: https://github.com/BabakBar/VibeKeeper/tree/main/.claude/skills/project-setup
- Ref: 80999bf530a7874d7bedf8ce202001ecb4c4f5e0
- Supported tools: Claude, Codex, Claude Code
- Audit status: complete
- Agent install advisory: allowed
- Manual install advisory: allowed
- Artifact signature: available
- Audit attestation: unavailable
- Human verification: not\_verified
- Risk factors: external\_commands, network
- Quality score: 76
- Public page: https://skillstore.pages.dev/skills/babakbar-project-setup-architecture
- Manifest: https://skillstore.pages.dev/api/skills/babakbar-project-setup-architecture/manifest

## Capabilities

- Creates a TypeScript setup and strict compiler configuration for an Expo project.
- Defines a feature-based directory structure for application, shared, database, and theme code.
- Shows how to install and initialize Expo SQLite with Drizzle ORM.
- Provides a minimal Zustand store pattern for shared application state.
- Adds Jest testing, ESLint, Prettier, and project verification commands.

## Use Cases

- Start a new Expo application: Create a consistent foundation before building the first mobile feature.
- Standardize a prototype: Add TypeScript, testing, linting, and predictable folders to an early prototype.
- Prepare a team codebase: Define shared setup steps so contributors use the same architecture and quality checks.

## Prompt Templates

### Initialize the foundation

```
Set up the TypeScript and directory structure from this skill for my new Expo application. Explain each command before I run it.
```

### Add local storage

```
Add the SQLite and Drizzle setup from this skill to my Expo project. Use a small example schema and list the files to create.
```

### Configure quality tools

```
Configure Jest, ESLint, Prettier, and type checking using this skill. Show the required package scripts and verification steps.
```

### Plan a complete migration

```
Review my existing Expo project structure and propose an incremental migration to this skill architecture. Preserve working features and identify compatibility checks.
```

## Limitations

- It provides examples and commands but does not inspect an existing project automatically.
- It targets React Native applications that use Expo, not web-only React applications.
- It does not design application-specific schemas, screens, or business logic.
- Package versions and Expo SDK compatibility require confirmation in the target project.

## Best Practices

- Install and verify one subsystem before adding the next subsystem.
- Use Expo-compatible package versions and confirm SDK compatibility before installation.
- Run type checks, tests, linting, and mobile platform checks after setup changes.

## Anti Patterns

- Do not install every dependency before verifying the basic Expo application works.
- Do not use package versions without checking their compatibility with the current Expo SDK.
- Do not treat the example database and state models as complete application designs.

## Security Audit

- Audited at: 2026-07-18T10:17:50.671\+00:00
- Summary: All 37 static findings are false positives caused by Markdown code formatting, visible documentation links, a local SQLite example, and a platform test checklist. The skill is a transparent React Native and Expo setup guide with no prompt injection, data-exfiltration intent, or concealed behavior found.

## Stats

- Views: 171
- Downloads: 7
- Favorites: 0
- Popularity score: 0
