PHPackages                             linkorb/stamp - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Templating &amp; Views](/categories/templating)
4. /
5. linkorb/stamp

ActiveLibrary[Templating &amp; Views](/categories/templating)

linkorb/stamp
=============

Stamp: Generate files from templates and data files

v2.2.1(6y ago)33862[2 PRs](https://github.com/linkorb/stamp/pulls)MITPHPCI failing

Since Jan 30Pushed 4w ago2 watchersCompare

[ Source](https://github.com/linkorb/stamp)[ Packagist](https://packagist.org/packages/linkorb/stamp)[ Docs](https://github.com/linkorb/stamp)[ RSS](/packages/linkorb-stamp/feed)WikiDiscussions master Synced 2w ago

READMEChangelog (10)Dependencies (9)Versions (15)Used By (0)

Stamp
=====

[](#stamp)

Stamp generate files by applying data to templates.

Use-cases:
----------

[](#use-cases)

- Generate common repository files like README.md, LICENSE, .gitignore, etc (by combining stamp with [metaculous](https://github.com/linkorb/metaculous))
- Static site generator
- Documentation generator

Installation
------------

[](#installation)

```
composer require linkorb/stamp --dev

```

Usage
-----

[](#usage)

```
vendor/bin/stamp --help

```

How does it work?
-----------------

[](#how-does-it-work)

When you run `stamp generate`, Stamp will look for it's configuration in a file called `stamp.yaml` in the current directory. You can also pass a specify config file using `-c`.

Stamp will then loop through the `templates` defined in the config file, and use the template files defined by the `src` key, and generate the file defined by the `dest` key.

By specifying an `items` key, one template may be applied multiple times, resulting in multiple output files.

By specifying a `variables` key, the variables at the template level will get merged with the project level variables before being passed to the template, allowing you to override/add variables at the template level.

stamp.yml example:
------------------

[](#stampyml-example)

Here's a simple example `stamp.yml` file:

```
variables:
  title: Hello world
  license: mit

templates:
  - src: stamp/README.md.twig
    dest: README.md
    variables:
      title: Hello world README file

  - src: https://raw.githubusercontent.com/IQAndreas/markdown-licenses/master/{{ license }}.md
    dest: LICENSE

  - src: https://raw.githubusercontent.com/gitlabhq/gitlabhq/master/CONTRIBUTING.md
    dest: CONTRIBUTING.md
```

Simply type `stamp generate` (or `vendor/bin/stamp generate`) in the root of your project, and the listed files will be (re)generated based on their templates.

Using URLs as templates allow you to manage your templates in one location (a git repository), making it easy to update your projects based on updated templates.

Stamp supports multiple template languages/engines, which will be used based on the template file (src) file extension:

- `.twig`: Use the [Twig](https://twig.symfony.com/) template language
- `.hbs`, `.handlebars`: Use the [Handlebars](https://handlebarsjs.com/) template language (powered by [LightnCandy](https://github.com/zordius/lightncandy))
- `.mustache`: Use the [Mustache](https://mustache.github.io/) template language (powered by [LightnCandy](https://github.com/zordius/lightncandy))

Variables and functions
-----------------------

[](#variables-and-functions)

Stamp is using the [LinkORB Loader](https://github.com/linkorb/loader) library for loading the stamp.yaml file.

It therefor supports all features related to variables, includes and functions that the loader does.

Development / debugging:
------------------------

[](#development--debugging)

The `examples/` directory contains an example configuration (`stamp.yaml`) and template files.

License
-------

[](#license)

MIT. Please refer to the [license file](LICENSE) for details.

Brought to you by the LinkORB Engineering team
----------------------------------------------

[](#brought-to-you-by-the-linkorb-engineering-team)

[![](https://camo.githubusercontent.com/62fb66b034de7ea7fca9fd9776424b5348daa76ef8622caf92c2f7622003e5ef/687474703a2f2f7777772e6c696e6b6f72622e636f6d2f642f6d6574612f74696572312f696d616765732f6c696e6b6f7262656e67696e656572696e672d6c6f676f2e706e67)](https://camo.githubusercontent.com/62fb66b034de7ea7fca9fd9776424b5348daa76ef8622caf92c2f7622003e5ef/687474703a2f2f7777772e6c696e6b6f72622e636f6d2f642f6d6574612f74696572312f696d616765732f6c696e6b6f7262656e67696e656572696e672d6c6f676f2e706e67)
Check out our other projects at [linkorb.com/engineering](http://www.linkorb.com/engineering).

Btw, we're hiring!

###  Health Score

44

—

FairBetter than 90% of packages

Maintenance62

Regular maintenance activity

Popularity17

Limited adoption so far

Community14

Small or concentrated contributor base

Maturity71

Established project with proven stability

 Bus Factor1

Top contributor holds 54.9% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~66 days

Recently: every ~50 days

Total

11

Last Release

2455d ago

Major Versions

v1.2.0 → v2.0.02019-05-07

### Community

Maintainers

![](https://www.gravatar.com/avatar/1db66b320db18b8036ea68211b7d8a39e7c6da97e6fd29f59a50380ebb69d0bb?d=identicon)[joostfaassen](/maintainers/joostfaassen)

---

Top Contributors

[![joostfaassen](https://avatars.githubusercontent.com/u/411113?v=4)](https://github.com/joostfaassen "joostfaassen (28 commits)")[![StephanMeijer](https://avatars.githubusercontent.com/u/3169264?v=4)](https://github.com/StephanMeijer "StephanMeijer (21 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (1 commits)")[![pakulin-dev](https://avatars.githubusercontent.com/u/94841486?v=4)](https://github.com/pakulin-dev "pakulin-dev (1 commits)")

---

Tags

linkorbstamp

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/linkorb-stamp/health.svg)

```
[![Health](https://phpackages.com/badges/linkorb-stamp/health.svg)](https://phpackages.com/packages/linkorb-stamp)
```

###  Alternatives

[chameleon-system/chameleon-base

The Chameleon System core.

1029.4k6](/packages/chameleon-system-chameleon-base)[kimai/kimai

Kimai - Time Tracking

4.8k9.4k1](/packages/kimai-kimai)[shopware/core

Shopware platform is the core for all Shopware ecommerce products.

595.8M668](/packages/shopware-core)[jolicode/castor

A lightweight and modern task runner. Automate everything. In PHP.

55344.7k5](/packages/jolicode-castor)[sulu/sulu

Core framework that implements the functionality of the Sulu content management system

1.3k1.4M232](/packages/sulu-sulu)[prestashop/prestashop

PrestaShop is an Open Source e-commerce platform, committed to providing the best shopping cart experience for both merchants and customers.

9.2k19.7k](/packages/prestashop-prestashop)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
