Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Composer
  3. Studio

Studio

MITPHP0.16.0

A development workbench that symlinks local Composer packages for seamless library development within applications.

GitHubGitHub
1.1k stars73 forks0 contributors

What is Studio?

Studio is a development tool that simplifies working on Composer packages by allowing developers to symlink local copies of their libraries into applications instead of installing them from Packagist. It uses Composer's path repositories to avoid developing inside the vendor directory and automatically configures common development tools like PhpUnit and TravisCI.

Target Audience

PHP developers who create and maintain Composer packages and need to test them in real-time within dependent applications without publishing to Packagist.

Value Proposition

Developers choose Studio because it provides a non-invasive workflow that doesn't require modifying the main application's composer.json, supports wildcard loading for multiple packages, and automates setup for testing and CI tools, reducing manual configuration overhead.

Overview

A workbench for developing Composer packages.

Use Cases

Best For

  • Developing Composer packages locally while using them in a main application without publishing to Packagist.
  • Automatically configuring development tools like PhpUnit, PhpSpec, and TravisCI for new or existing packages.
  • Managing collections of libraries by loading multiple packages at once using wildcard patterns.
  • Creating new Composer package skeletons with optional components for testing and continuous integration.
  • Cloning existing Git repositories or using submodules as local packages within a project.
  • Dogfooding libraries in real-time during development without altering the application's composer.json file.

Not Ideal For

  • Projects that only consume third-party Composer packages without developing custom ones
  • Teams already using monorepo tools or manual Composer path repositories without automation
  • Environments where symlinks are problematic, such as Windows without developer mode or restricted Docker setups

Pros & Cons

Pros

Non-Invasive Workflow

Allows using local packages without modifying the main application's composer.json, enabling real-time dogfooding without configuration changes, as highlighted in the workflow section.

Automated Tool Setup

Automatically configures development tools like PhpUnit, PhpSpec, and TravisCI for packages, reducing manual setup overhead, as stated in the README's feature list.

Wildcard Package Loading

Supports loading multiple packages at once using wildcard patterns (e.g., 'path/to/libraries/*'), making it efficient for managing collections, as described in the usage tips.

Package Creation Generator

Includes a generator to create new Composer package skeletons with optional components like testing config, speeding up initial development, as shown in the create command examples.

Cons

Composer Dependency Limitations

Relies heavily on Composer's path repositories, which can have edge cases with custom installers or plugins, and might not handle all dependency scenarios seamlessly.

Additional Configuration Layer

Introduces a studio.json file and extra CLI commands, adding complexity compared to using Composer's native features directly, which can steepen the learning curve.

Fixed Tool Integration

Only automates setup for a predefined list of tools (PhpUnit, PhpSpec, TravisCI), lacking extensibility for newer or alternative development tools without manual intervention.

Frequently Asked Questions

Quick Stats

Stars1,139
Forks73
Contributors0
Open Issues21
Last commit2 years ago
CreatedSince 2015

Tags

#composer-packages#composer#travis-ci#development-workflow#composer-plugin#phpunit#local-development#php#package-development

Built With

C
Composer
P
PHP

Included in

Composer904
Auto-fetched 3 hours ago

Related Projects

OctoLinker Browser ExtensionOctoLinker Browser Extension

OctoLinker — Links together, what belongs together

Stars5,355
Forks283
Last commit2 years ago
Composer/Xdebug-HandlerComposer/Xdebug-Handler

Restart a CLI process without loading the xdebug extension.

Stars2,562
Forks33
Last commit1 month ago
Composer-UnusedComposer-Unused

Show unused composer dependencies by scanning your code

Stars1,679
Forks57
Last commit6 days ago
Composer-NormalizeComposer-Normalize

🎵 Provides a composer plugin for normalizing composer.json.

Stars1,107
Forks36
Last commit5 days ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub