project-setup-architecture
Set up project infrastructure including TypeScript, database, state management, navigation, and testing. Use when initializing new features or configuring development environment.
Best use case
project-setup-architecture is best used when you need a repeatable AI agent workflow instead of a one-off prompt. It is especially useful for teams working in multi. Set up project infrastructure including TypeScript, database, state management, navigation, and testing. Use when initializing new features or configuring development environment.
Set up project infrastructure including TypeScript, database, state management, navigation, and testing. Use when initializing new features or configuring development environment.
Users should expect a more consistent workflow output, faster repeated execution, and less time spent rewriting prompts from scratch.
Practical example
Example input
Use the "project-setup-architecture" skill to help with this workflow task. Context: Set up project infrastructure including TypeScript, database, state management, navigation, and testing. Use when initializing new features or configuring development environment.
Example output
A structured workflow result with clearer steps, more consistent formatting, and an output that is easier to reuse in the next run.
When to use this skill
- Use this skill when you want a reusable workflow rather than writing the same prompt again and again.
When not to use this skill
- Do not use this when you only need a one-off answer and do not need a reusable workflow.
- Do not use it if you cannot install or maintain the related files, repository context, or supporting tools.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/project-setup-architecture/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How project-setup-architecture Compares
| Feature / Agent | project-setup-architecture | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Set up project infrastructure including TypeScript, database, state management, navigation, and testing. Use when initializing new features or configuring development environment.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
Related Guides
SKILL.md Source
# Project Setup & Architecture
Guide for setting up React Native/Expo project infrastructure.
## When to Use
- Initializing TypeScript configuration
- Setting up database layer
- Configuring state management
- Installing and configuring testing
- Creating directory structure
- Adding linting and formatting
## Setup Workflows
### TypeScript Setup
```bash
# Install TypeScript
npm install --save-dev typescript @types/react @types/react-native
# Create tsconfig.json
npx tsc --init
```
```json
{
"extends": "expo/tsconfig.base",
"compilerOptions": {
"strict": true,
"skipLibCheck": true,
"jsx": "react-native"
}
}
```
### Directory Structure
```bash
# Create feature-sliced architecture
mkdir -p src/{app,features,shared,db,theme}
mkdir -p src/shared/{components,hooks,utils,types}
```
### Database Setup (SQLite + Drizzle)
```bash
# Install dependencies
npx expo install expo-sqlite
npm install drizzle-orm
npm install --save-dev drizzle-kit
# Create structure
mkdir -p src/db/{schema,migrations}
```
```typescript
// src/db/client.ts
import * as SQLite from 'expo-sqlite';
import { drizzle } from 'drizzle-orm/expo-sqlite';
const db = SQLite.openDatabaseSync('app.db');
export const drizzle = drizzle(db);
```
### State Management (Zustand)
```bash
npm install zustand
```
```typescript
// src/shared/stores/useAppStore.ts
import { create } from 'zustand';
interface AppState {
count: number;
increment: () => void;
}
export const useAppStore = create<AppState>((set) => ({
count: 0,
increment: () => set((state) => ({ count: state.count + 1 })),
}));
```
### Testing Setup
```bash
npm install --save-dev jest @testing-library/react-native
```
```json
// package.json
{
"scripts": {
"test": "jest"
}
}
```
### Linting & Formatting
```bash
npm install --save-dev eslint prettier
npx eslint --init
```
## Configuration Files
### app.json (Expo Configuration)
```json
{
"expo": {
"name": "MyApp",
"slug": "my-app",
"version": "1.0.0",
"platforms": ["ios", "android"],
"ios": {
"bundleIdentifier": "com.company.myapp"
},
"android": {
"package": "com.company.myapp"
}
}
}
```
### package.json Scripts
```json
{
"scripts": {
"start": "expo start",
"android": "expo start --android",
"ios": "expo start --ios",
"test": "jest",
"lint": "eslint src/",
"type-check": "tsc --noEmit"
}
}
```
## Best Practices
1. **Incremental Setup**: Install and configure one system at a time
2. **Verify Installation**: Test each setup before moving to next
3. **Check Dependencies**: Ensure compatibility with Expo SDK
4. **Use Expo Install**: For Expo packages, use `npx expo install`
5. **Version Control**: Commit after each successful setup step
## Common Tasks
### Add New Dependency
```bash
# Check if it's an Expo SDK package
npx expo install package-name
# Otherwise use npm
npm install package-name
```
### Create New Feature Module
```bash
mkdir -p src/features/my-feature/{components,hooks,services,types}
touch src/features/my-feature/index.ts
```
### Generate Database Migration
```bash
npx drizzle-kit generate:sqlite
npx drizzle-kit push:sqlite
```
## Verification Checklist
After setup, verify:
- [ ] TypeScript compiles without errors (`npx tsc --noEmit`)
- [ ] App runs on both iOS and Android
- [ ] Tests run successfully (`npm test`)
- [ ] Linting passes (`npm run lint`)
- [ ] Database connects and queries work
- [ ] State management functions correctly
## Resources
- [Expo Configuration](https://docs.expo.dev/workflow/configuration/)
- [TypeScript with Expo](https://docs.expo.dev/guides/typescript/)Related Skills
project-to-obsidian
将代码项目转换为 Obsidian 知识库。当用户提到 obsidian、项目文档、知识库、分析项目、转换项目 时激活。 【激活后必须执行】: 1. 先完整阅读本 SKILL.md 文件 2. 理解 AI 写入规则(默认到 00_Inbox/AI/、追加式、统一 Schema) 3. 执行 STEP 0: 使用 AskUserQuestion 询问用户确认 4. 用户确认后才开始 STEP 1 项目扫描 5. 严格按 STEP 0 → 1 → 2 → 3 → 4 顺序执行 【禁止行为】: - 禁止不读 SKILL.md 就开始分析项目 - 禁止跳过 STEP 0 用户确认 - 禁止直接在 30_Resources 创建(先到 00_Inbox/AI/) - 禁止自作主张决定输出位置
project-map-builder
生成或更新用户指定文件夹的 PROJECT_MAP.md。适用于用户要求目录地图/项目地图/代码仓概览/文件夹级说明/更新已有 PROJECT_MAP.md 的场景。必须先询问要扫描的文件夹范围,禁止默认全仓库扫描;支持单目录或多目录(合并或分别生成)。
system-environment-setup
Configure development and production environments for consistent and reproducible setups. Use when setting up new projects, Docker environments, or development tooling. Handles Docker Compose, .env configuration, dev containers, and infrastructure as code.
environment-setup
Configure and manage development, staging, and production environments. Use when setting up environment variables, managing configurations, or separating environments. Handles .env files, config management, and environment-specific settings.
authentication-setup
Design and implement authentication and authorization systems. Use when setting up user login, JWT tokens, OAuth, session management, or role-based access control. Handles password security, token management, SSO integration.
c4-architecture
Generate architecture documentation using C4 model Mermaid diagrams. Use when asked to create architecture diagrams, document system architecture, visualize software structure, create C4 diagrams, or generate context/container/component/deployment diagrams. Triggers include "architecture diagram", "C4 diagram", "system context", "container diagram", "component diagram", "deployment diagram", "document architecture", "visualize architecture".
systems-programming-rust-project
You are a Rust project architecture expert specializing in scaffolding production-ready Rust applications. Generate complete project structures with cargo tooling, proper module organization, testing
startup-business-analyst-financial-projections
Create detailed 3-5 year financial model with revenue, costs, cash flow, and scenarios
react-native-architecture
Build production React Native apps with Expo, navigation, native modules, offline sync, and cross-platform patterns. Use when developing mobile apps, implementing native integrations, or architecting React Native projects.
projection-patterns
Build read models and projections from event streams. Use when implementing CQRS read sides, building materialized views, or optimizing query performance in event-sourced systems.
observability-monitoring-monitor-setup
You are a monitoring and observability expert specializing in implementing comprehensive monitoring solutions. Set up metrics collection, distributed tracing, log aggregation, and create insightful da
multi-cloud-architecture
Design multi-cloud architectures using a decision framework to select and integrate services across AWS, Azure, and GCP. Use when building multi-cloud systems, avoiding vendor lock-in, or leveraging best-of-breed services from multiple providers.