Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
n/a
0 / 0
n/a
0 / 0
CRAP
n/a
0 / 0
1<?php
2
3declare(strict_types=1);
4
5/**
6 * Fast Forward Development Tools for PHP projects.
7 *
8 * This file is part of fast-forward/dev-tools project.
9 *
10 * @author   Felipe SayĆ£o Lobato Abreu <github@mentordosnerds.com>
11 * @license  https://opensource.org/licenses/MIT MIT License
12 *
13 * @see      https://github.com/php-fast-forward/
14 * @see      https://github.com/php-fast-forward/dev-tools
15 * @see      https://github.com/php-fast-forward/dev-tools/issues
16 * @see      https://php-fast-forward.github.io/dev-tools/
17 * @see      https://datatracker.ietf.org/doc/html/rfc2119
18 */
19
20namespace FastForward\DevTools\GitAttributes;
21
22/**
23 * Provides the canonical list of candidate paths for export-ignore rules.
24 *
25 * This interface defines the contract for classes that provide the baseline
26 * set of files and directories that should typically be excluded from
27 * Composer package archives.
28 */
29interface CandidateProviderInterface
30{
31    /**
32     * Returns the list of folder paths that are candidates for export-ignore.
33     *
34     * @return list<string> Folder paths in canonical form (e.g., "/.github/")
35     */
36    public function folders(): array;
37
38    /**
39     * Returns the list of file paths that are candidates for export-ignore.
40     *
41     * @return list<string> File paths in canonical form (e.g., "/.editorconfig")
42     */
43    public function files(): array;
44
45    /**
46     * Returns all candidates as a combined list with folders first, then files.
47     *
48     * @return list<string> All candidates in deterministic order
49     */
50    public function all(): array;
51}