Skip to content

Commit

Permalink
Initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
ghostwriter authored Nov 25, 2024
0 parents commit ff2afcd
Show file tree
Hide file tree
Showing 51 changed files with 5,470 additions and 0 deletions.
21 changes: 21 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
root = true

[*]
charset = utf-8
end_of_line = lf
indent_size = 4
indent_style = space
insert_final_newline = true
trim_trailing_whitespace = true

[*.md]
trim_trailing_whitespace = false

[*.{yml,yaml,yml.dist,yaml.dist}]
indent_size = 2

[docker-compose.yml]
indent_size = 4

[Makefile]
indent_style = tab
32 changes: 32 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# Auto detect text files and perform LF normalization
* text=auto
*.bash text eol=lf
*.css text diff=css
*.gif binary
*.html text diff=html
*.ico binary
*.jpeg binary
*.jpg binary
*.lock text -diff
*.md text diff=markdown
*.php text eol=lf diff=php
*.phpt text eol=lf diff=php
*.phtml text eol=lf diff=html
*.png binary
*.py text diff=python
*.sh text eol=lf
*.svg text
*.txt text
*.webp binary
*.zip binary
/.editorconfig export-ignore
/.gitattributes export-ignore
/.github export-ignore
/.gitignore export-ignore
/composer.lock export-ignore
/docs export-ignore
/infection.json5.dist export-ignore
/phpunit.xml.dist export-ignore
/psalm-baseline.xml export-ignore
/psalm.xml.dist export-ignore
/tests export-ignore
1 change: 1 addition & 0 deletions .github/CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
* @ghostwriter
1 change: 1 addition & 0 deletions .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
github: [ghostwriter]
15 changes: 15 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# Documentation for all configuration options:
# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates

version: 2

updates:
- package-ecosystem: "composer"
directory: "/"
schedule:
interval: "daily"

- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "daily"
57 changes: 57 additions & 0 deletions .github/workflows/automation.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
name: Automation

on:
pull_request:
push:
branches:
# Default branch
- "main"
# Release branches
## 1.2.x - e.g. Semantic Versioning
- "[0-9]+.[0-9]+.x"
## v1 - e.g. GitHub Actions Versioning
- "v[0-9]+"
# Scheduled workflow
schedule:
# Runs hourly
- cron: "0 * * * *"
# Manually Trigger workflow
workflow_dispatch:

# https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#permissions
# values: read, write, none
permissions:
# actions: Work with GitHub Actions. For example, actions: write permits an action to cancel a workflow run.
actions: write
# checks: Work with check runs and check suites. For example, checks: write permits an action to create a check run.
checks: write
# contents: Work with the contents of the repository. For example, contents: read permits an action to list the commits, and contents:write allows the action to create a release.
contents: write
# deployments: Work with deployments. For example, deployments: write permits an action to create a new deployment.
deployments: write
# discussions: Work with GitHub Discussions. For example, discussions: write permits an action to close or delete a discussion.
discussions: write
# id-token: Fetch an OpenID Connect (OIDC) token. This requires id-token: write.
id-token: none
# issues: Work with issues. For example, issues: write permits an action to add a comment to an issue.
issues: write
# packages: Work with GitHub Packages. For example, packages: write permits an action to upload and publish packages on GitHub Packages.
packages: write
# pages: Work with GitHub Pages. For example, pages: write permits an action to request a GitHub Pages build.
pages: write
# pull-requests: Work with pull requests. For example, pull-requests: write permits an action to add a label to a pull request.
pull-requests: write
# repository-projects: Work with GitHub projects (classic). For example, repository-projects: write permits an action to add a column to a project (classic).
repository-projects: write
# security-events: Work with GitHub code scanning and Dependabot alerts. For example, security-events: read permits an action to list the Dependabot alerts for the repository, and security-events: write allows an action to update the status of a code scanning alert.
security-events: write
# statuses: Work with commit statuses. For example, statuses:read permits an action to list the commit statuses for a given reference.
statuses: write

jobs:
automation:
uses: ghostwriter/compliance/.github/workflows/automation.yml@v1
secrets:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
GPG_PRIVATE_KEY: ${{ secrets.GPG_PRIVATE_KEY }}
INFECTION_DASHBOARD_API_KEY: ${{ secrets.INFECTION_DASHBOARD_API_KEY }}
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
/.cache/
/vendor/
/.env
9 changes: 9 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Changelog

All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](http://keepachangelog.com/)
and this project adheres to [Semantic Versioning](http://semver.org/).

## 0.1.0 - 2023-01-01
First version
69 changes: 69 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
# Contributing to Wip

First of all thank you for considering to contribute.

Individuals making significant and valuable contributions are made Collaborators and given commit-access to the project.

> [!IMPORTANT]
>
> This project uses GitHub Issues to track bugs and feature requests.
>
> Please search the existing issues before filing new issues to avoid duplicates.
---

## Step 1: Fork the Project

Fork the project on GitHub and check out your copy locally.

## Step 2: Clone the repository

```bash
git clone [email protected]:ghostwriter/wip.git
cd wip
git remote add upstream git://github.com/ghostwriter/wip.git
```

## Step 3: Branch

Create a feature branch and start hacking:

```bash
git checkout -b my-feature-branch -t origin/main
```

## Step 4: Commit

Make sure git knows your name and email address:

```bash
git config --global user.name "name"

git config --global user.email "[email protected]"

git commit --signoff --message "Add my feature"
```

### Step 5: Rebase

Use git rebase (not git merge) to sync your work from time to time.

```bash
git fetch upstream

git rebase upstream/main
```

### Step 6: Test

Bug fixes and features should come with tests. Add your tests in the `tests` directory.

```bash
composer test
```

### Step 7: Push

```bash
git push origin my-feature-branch
```
29 changes: 29 additions & 0 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
BSD 3-Clause License

Copyright (c) 2014-2024, Nathanael Esayeas
All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

1. Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.

2. Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.

3. Neither the name of the copyright holder nor the names of its
contributors may be used to endorse or promote products derived from
this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
51 changes: 51 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
# Wip

[![Automation](https://github.com/ghostwriter/wip/actions/workflows/automation.yml/badge.svg)](https://github.com/ghostwriter/wip/actions/workflows/automation.yml)
[![Supported PHP Version](https://badgen.net/packagist/php/ghostwriter/wip?color=8892bf)](https://www.php.net/supported-versions)
[![GitHub Sponsors](https://img.shields.io/github/sponsors/ghostwriter?label=Sponsor+@ghostwriter/wip&logo=GitHub+Sponsors)](https://github.com/sponsors/ghostwriter)
[![Code Coverage](https://codecov.io/gh/ghostwriter/wip/branch/main/graph/badge.svg)](https://codecov.io/gh/ghostwriter/wip)
[![Type Coverage](https://shepherd.dev/github/ghostwriter/wip/coverage.svg)](https://shepherd.dev/github/ghostwriter/wip)
[![Psalm Level](https://shepherd.dev/github/ghostwriter/wip/level.svg)](https://psalm.dev/docs/running_psalm/error_levels)
[![Latest Version on Packagist](https://badgen.net/packagist/v/ghostwriter/wip)](https://packagist.org/packages/ghostwriter/wip)
[![Downloads](https://badgen.net/packagist/dt/ghostwriter/wip?color=blue)](https://packagist.org/packages/ghostwriter/wip)

work in progress

> [!WARNING]
>
> This project is not finished yet, work in progress.
## Installation

You can install the package via composer:

``` bash
composer require ghostwriter/wip
```

### Star ⭐️ this repo if you find it useful

You can also star (🌟) this repo to find it easier later.

## Usage

```php
// work in progress
```

### Credits

- [Nathanael Esayeas](https://github.com/ghostwriter)
- [All Contributors](https://github.com/ghostwriter/wip/contributors)

### Changelog

Please see [CHANGELOG.md](./CHANGELOG.md) for more information on what has changed recently.

### License

Please see [LICENSE](./LICENSE) for more information on the license that applies to this project.

### Security

Please see [SECURITY.md](./SECURITY.md) for more information on security disclosure process.
19 changes: 19 additions & 0 deletions SECURITY.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# Security Policy

If you believe you have found a security vulnerability in the library that is developed in this repository, please report it to us through coordinated disclosure.

## Reporting a Vulnerability

**Please do not report security vulnerabilities through public GitHub issues, discussions, or pull requests.**

Instead, please use [`Security Advisories`](https://github.com/ghostwriter/wip/security/advisories/new).

## Supported Versions

currently being supported with security updates.

| Version | Supported |
| ------- | ------------------ |
| 1.0.x | :white_check_mark: |
| 0.1.x | :white_check_mark: |
| < 1.0 | :x: |
6 changes: 6 additions & 0 deletions bin/console
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
#!/usr/bin/env php
<?php

declare(strict_types=1);

require __DIR__ . DIRECTORY_SEPARATOR . 'console.php';
32 changes: 32 additions & 0 deletions bin/console.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
#!/usr/bin/env php
<?php

declare(strict_types=1);

namespace Ghostwriter\Wip\Console;

use ErrorException;
use Ghostwriter\Wip\Foo;

use const DIRECTORY_SEPARATOR;
use const STDERR;

/** @var ?string $_composer_autoload_path */
(static function (string $autoloader): void {
\set_error_handler(static function (int $severity, string $message, string $file, int $line): never {
throw new ErrorException($message, 255, $severity, $file, $line);
});

if (! \file_exists($autoloader)) {
$message = '[ERROR]Cannot locate "' . $autoloader . '"\n please run "composer install"\n';
\fwrite(STDERR, $message);
exit;
}

require $autoloader;

/**
* #BlackLivesMatter.
*/
echo Foo::new()->test();
})($_composer_autoload_path ?? \dirname(__DIR__) . DIRECTORY_SEPARATOR . 'vendor/autoload.php');
Loading

0 comments on commit ff2afcd

Please sign in to comment.