Metadata-Version: 2.4
Name: framework-m-studio
Version: 0.5.2
Summary: Framework M Studio - Visual DocType Builder & Developer Tools
Project-URL: Homepage, https://gitlab.com/castlecraft/framework-m
Project-URL: Documentation, https://gitlab.com/castlecraft/framework-m#readme
Project-URL: Repository, https://gitlab.com/castlecraft/framework-m
Author: Framework M Contributors
License: Apache-2.0
Keywords: codegen,developer-tools,doctype,framework,studio
Classifier: Development Status :: 3 - Alpha
Classifier: Framework :: AsyncIO
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Typing :: Typed
Requires-Python: >=3.12
Requires-Dist: framework-m-core>=0.7.1
Requires-Dist: framework-m>=0.5.2
Requires-Dist: honcho>=1.1.0
Requires-Dist: jinja2>=3.1.0
Requires-Dist: libcst>=1.0.0
Description-Content-Type: text/markdown

# Framework M Studio

Visual DocType builder and developer tools for Framework M.

[![PyPI version](https://badge.fury.io/py/framework-m-studio.svg)](https://badge.fury.io/py/framework-m-studio)
[![Python 3.12+](https://img.shields.io/badge/python-3.12+-blue.svg)](https://www.python.org/downloads/)
[![License](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)
[![GitLab Pipeline Status](https://gitlab.com/castlecraft/framework-m/badges/main/pipeline.svg)](https://gitlab.com/castlecraft/framework-m/-/pipelines)
[![Code style: ruff](https://img.shields.io/badge/code%20style-ruff-000000.svg)](https://github.com/astral-sh/ruff)

## Overview

`framework-m-studio` provides development-time tools that are NOT included in the production runtime:

- **Studio UI**: Visual DocType builder (React + Vite)
- **Code Generators**: LibCST-based Python code generation
- **DevTools CLI**: `m codegen`, `m docs:generate`, `m studio`

> **Note:** Studio is for developers to build DocTypes. The **Desk** (end-user data management UI) is a separate frontend that connects to the Framework M backend.

## Installation

```bash
# Add to your project's dev dependencies
uv add --dev framework-m-studio
```

## Documentation

Check out the official documentation for Studio at **[www.frameworkm.dev](https://www.frameworkm.dev)**

## Usage

```bash
# Start Studio UI
m studio

# Generate TypeScript client from OpenAPI
m codegen client --lang ts --out ./frontend/src/api
```

## Development

```bash
cd apps/studio
uv sync
uv run pytest
```
