Skip to content

Commit 2cfcded

Browse files
committed
feat(modernization): migrate to ARFA 1.3 / DevKit (kcode.phar) standard
BREAKING CHANGES: - PHP requirement bumped to ^8.4 (from ^8.3) - Removed legacy dependencies: kariricode/data-structure, kariricode/property-inspector - Reorganized src/ structure: Contract/ and Processor/ removed, new Attribute/, Handler/, Pipeline/, Result/ layout - require-dev zeroed — toolchain managed by kcode DevKit New in v4.0.0: - Immutable Pipeline (ARFA 1.3 P1): withProcessor() / withPipeline() return new instances - ProcessorRegistry redesigned with context-based registration - ProcessorBuilder with flexible spec format (string[] or assoc map) - ProcessingResultCollection for structured error + coverage tracking - ProcessorHandler wraps processors with error collection and halt-on-error support - 100% class/method/line coverage (128 tests, 234 assertions) Infrastructure: - DevKit kcode.phar manages cs-fixer, phpstan (L9), psalm, phpunit - CI rewritten with kcode init + kcode quality pipeline - Docs: ADR-001 (immutable), ADR-002 (context registry), ADR-003 (spec format), SPEC-001
1 parent 04e7da1 commit 2cfcded

68 files changed

Lines changed: 3840 additions & 4224 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.docker/php/Dockerfile

Lines changed: 0 additions & 25 deletions
This file was deleted.

.docker/php/kariricode-php.ini

Lines changed: 0 additions & 14 deletions
This file was deleted.

.env.example

Lines changed: 0 additions & 3 deletions
This file was deleted.

.github/workflows/ci.yml

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
name: CI
2+
3+
# ARFA 1.3 / KaririCode Spec V4.0 — Unified CI Pipeline
4+
# Runs on every push and PR targeting main or develop.
5+
# Full pipeline: cs-fixer → phpstan (L9) → psalm → phpunit (pcov)
6+
# Zero tolerance: any tool failure blocks the merge.
7+
8+
on:
9+
push:
10+
branches: [main, develop]
11+
pull_request:
12+
branches: [main, develop]
13+
workflow_dispatch:
14+
15+
jobs:
16+
quality:
17+
name: Quality Pipeline (ARFA 1.3)
18+
runs-on: ubuntu-latest
19+
20+
steps:
21+
- uses: actions/checkout@v4
22+
23+
# PHP 8.4 + pcov (mandatory driver per ARFA 1.3 §Testing)
24+
- uses: shivammathur/setup-php@v2
25+
with:
26+
php-version: '8.4'
27+
extensions: mbstring, xml
28+
coverage: pcov
29+
30+
# Pure dependency install — no scripts to avoid environment pollution
31+
- name: Install dependencies
32+
run: composer install --no-interaction --prefer-dist --no-progress --no-scripts
33+
34+
# Bootstrap kcode.phar from the official KaririCode release
35+
- name: Install kcode (KaririCode Devkit)
36+
run: |
37+
wget -q https://github.com/KaririCode-Framework/kariricode-devkit/releases/latest/download/kcode.phar
38+
chmod +x kcode.phar
39+
sudo mv kcode.phar /usr/local/bin/kcode
40+
41+
# Generate .kcode/ configs: phpunit.xml.dist, phpstan.neon, psalm.xml, etc.
42+
- name: Initialize devkit (.kcode/ generation)
43+
run: kcode init
44+
45+
# cs-fixer → phpstan (L9) → psalm → phpunit
46+
# Exit code ≠ 0 fails the job (zero-tolerance policy)
47+
- name: Run full quality pipeline
48+
run: kcode quality

.gitignore

Lines changed: 32 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -1,67 +1,52 @@
1-
# Arquivos de configuração do sistema
1+
# Sistema / IDE
22
/.idea/
33
*.sublime-project
44
*.sublime-workspace
5-
/.phpunit.result.cache
6-
/.php_cs.cache
7-
/.php_cs.dist.cache
8-
/phpstan.neon.dist
9-
/phpstan.neon.cache
10-
/.phpstan.result.cache
11-
/.phpcs-cache
5+
.DS_Store
6+
Thumbs.db
7+
.vscode/
128

139
# Dependências
1410
/vendor/
1511
/node_modules/
1612

17-
# Arquivos específicos do sistema operacional
18-
.DS_Store
19-
Thumbs.db
13+
# DevKit (gerado pelo kcode init — nunca versionar)
14+
.kcode/
2015

21-
# Arquivos de build e compilação
16+
# Build e cobertura
2217
/build/
2318
/dist/
19+
coverage/
20+
coverage*/
21+
coverage-report-html/
22+
23+
# Cache
24+
*.cache
2425
*.log
25-
*.tlog
2626
*.tmp
2727
*.temp
28+
*.swp
29+
*~
30+
._*
2831

29-
# Arquivos e pastas de ambientes virtuais
30-
.env
31-
32-
# Arquivos de cache
33-
/cache/
34-
*.cache
35-
*.class
36-
37-
# Arquivos de log
38-
*.log
39-
*.sql
40-
*.sqlite
32+
# PHP caches
33+
/.phpunit.result.cache
34+
/.phpunit.cache
35+
/.php_cs.cache
36+
/.php_cs.dist.cache
37+
/phpstan.neon.cache
38+
/.phpstan.result.cache
39+
/.phpcs-cache
4140

42-
# Pasta de testes que não devem ser incluídas no repositório
43-
coverage/
44-
coverage*
41+
# Ambiente — não necessário numa biblioteca
42+
.env
43+
.env.*
4544

46-
# Arquivos de pacotes
47-
*.jar
48-
*.war
49-
*.ear
50-
*.zip
51-
*.tar.gz
52-
*.rar
45+
# Lock — gerenciado pelo CI
46+
/composer.lock
5347

54-
# Outros arquivos e pastas
55-
*.swp
56-
*~
57-
._*
58-
temp/
59-
tmp/
60-
.vscode/launch.json
61-
.vscode/extensions.json
62-
tests/lista_de_arquivos.php
63-
tests/lista_de_arquivos_test.php
48+
# Artefatos temporários
6449
lista_de_arquivos.txt
6550
lista_de_arquivos_tests.txt
66-
add_static_to_providers.php
67-
/composer.lock
51+
temp/
52+
tmp/

.php-cs-fixer.php

Lines changed: 0 additions & 69 deletions
This file was deleted.

.vscode/settings.json

Lines changed: 0 additions & 10 deletions
This file was deleted.

0 commit comments

Comments
 (0)