Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions .github/workflows/app-ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -42,4 +42,11 @@ jobs:

- name: Run automated tests
run: vendor/bin/phpunit

- name: Upload coverage to Codecov
uses: codecov/codecov-action@v5
with:
files: coverage/clover.xml
fail_ci_if_error: true
token: ${{ secrets.CODECOV_TOKEN }}

15 changes: 15 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# Contributing

This repository includes a lightweight container workflow to run tests and analysis in a reproducible environment.

- Build image: `make build` (requires Docker and Docker Compose)
- Open shell in running container: `make shell`

Guidelines for contributing improvements:

- Install dependencies via `composer install` from within the development container
- Run the QA suite locally before opening a PR: `composer qa` (runs PHPStan, php-cs-fixer and PHPUnit).
- Prefer adding unit tests for new features or bug fixes; tests are in `tests/Unit`.
- Follow PHPStan and php-cs-fixer rules. Running `composer cs` will apply fixer changes.
- If you use the container workflow, prefer running tests inside the container to match CI.
- Open pull requests targeting the `master` branch with a clear description of the change and a short test plan.
7 changes: 2 additions & 5 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -11,14 +11,11 @@ up:
down:
@docker compose down

# Run all QA scripts in the container
qa:
@docker compose exec tactix composer qa
@docker compose exec -it $(CONTAINER_NAME) composer qa

# Run PHPUnit inside the container
test:
@docker compose exec tactix vendor/bin/phpunit --configuration phpunit.xml.dist $(TESTARGS)
@docker compose exec -it $(CONTAINER_NAME) vendor/bin/phpunit --configuration phpunit.xml.dist $(TESTARGS)

# Open an interactive shell in the running container
shell:
@docker compose exec -it $(CONTAINER_NAME) sh
18 changes: 4 additions & 14 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,15 @@
# Tactix

![app-ci-workflow](https://github.com/makomweb/tactix/actions/workflows/app-ci.yaml/badge.svg)
[![codecov](https://codecov.io/github/makomweb/tactix/graph/badge.svg?token=LBDBUCWP6A)](https://codecov.io/github/makomweb/tactix)

Tactical DDD, simplified for PHP: tag your classes (via PHP attributes) and validate missing tags + forbidden relations.
Tactical DDD, simplified for PHP: tag your classes (via PHP attributes) forbidden relations.

<p align="center">
<img src="./assets/logo.png" alt="project-logo" width="300"/>
</p>


## Installation

```bash
Expand Down Expand Up @@ -88,16 +90,4 @@ Tactix includes a small built-in blacklist (see `Tactix\Forbidden`) and reports

## Contributing

This repository includes a lightweight container workflow to run tests and analysis in a reproducible environment.

- Build image: `make build` (requires Docker and Docker Compose)
- Open shell in running container: `make shell`

Guidelines for contributing improvements:

- Install dependencies via `composer install` from within the development container
- Run the QA suite locally before opening a PR: `composer qa` (runs PHPStan, php-cs-fixer and PHPUnit).
- Prefer adding unit tests for new features or bug fixes; tests are in `tests/Unit`.
- Follow PHPStan and php-cs-fixer rules. Running `composer cs` will apply fixer changes.
- If you use the container workflow, prefer running tests inside the container to match CI.
- Open pull requests targeting the `master` branch with a clear description of the change and a short test plan.
See [CONTRIBUTING.md](./CONTRIBUTING.md) for details.