# Empty Doubao Apps Template

A minimal Doubao Apps template for starting from scratch.

## Getting Started

```bash
# Install dependencies
pnpm install

# Start development server
pnpm dev
```

## Project Structure

```text
src/
├── app.config.ts  # App, Page, and Widget metadata
├── app.ts         # App lifecycle entry
└── pages/         # Add your pages here
```

## Metadata Entry

Use `src/app.config.ts` as the metadata source of truth.

```ts
import { defineAppConfig } from '@byted-doubao-apps/framework/config';

export default defineAppConfig({
  appId: 'db_app_xxxxxxx',
  name: 'Demo App',
  pages: [
    {
      entry: 'pages/home/index',
      title: 'Home',
      description: 'Home page'
    }
  ]
});
```

## Creating Pages

1. Create a page file under `src/pages/`.
2. Register its metadata in `src/app.config.ts`.

```tsx
// src/pages/home/index.tsx
import { definePage } from '@byted-doubao-apps/framework';

import './index.scss';

function HomePage() {
  return (
    <view>
      <text>Hello World!</text>
    </view>
  );
}

export default definePage({
  render() {
    return <HomePage />;
  }
});
```

```ts
// src/app.config.ts
import { defineAppConfig } from '@byted-doubao-apps/framework/config';

export default defineAppConfig({
  pages: [
    {
      entry: 'pages/home/index',
      title: 'Home',
      description: 'Home page'
    }
  ]
});
```

## Learn More

- [Doubao Apps Documentation](https://docs.doubao-apps.com)
