{"id":47819901,"url":"https://github.com/johnnymast/logichain","last_synced_at":"2026-04-03T19:05:15.364Z","repository":{"id":342227114,"uuid":"1173327961","full_name":"johnnymast/logichain","owner":"johnnymast","description":"Declarative workflows for real‑world PHP applications. Predictable, testable, and built for teams that value maintainable code.","archived":false,"fork":false,"pushed_at":"2026-03-27T17:37:12.000Z","size":88,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2026-03-28T01:37:59.615Z","etag":null,"topics":["automation","library","logic","php","pipeline","workflow"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/johnnymast.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":"NOTICE","maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":["johnnymast"],"ko_fi":"johnnymast"}},"created_at":"2026-03-05T08:45:26.000Z","updated_at":"2026-03-27T17:37:16.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/johnnymast/logichain","commit_stats":null,"previous_names":["johnnymast/workflow-php","johnnymast/logichain"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/johnnymast/logichain","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johnnymast%2Flogichain","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johnnymast%2Flogichain/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johnnymast%2Flogichain/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johnnymast%2Flogichain/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/johnnymast","download_url":"https://codeload.github.com/johnnymast/logichain/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johnnymast%2Flogichain/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31371764,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-03T17:53:18.093Z","status":"ssl_error","status_checked_at":"2026-04-03T17:53:17.617Z","response_time":107,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["automation","library","logic","php","pipeline","workflow"],"created_at":"2026-04-03T19:04:23.216Z","updated_at":"2026-04-03T19:05:15.334Z","avatar_url":"https://github.com/johnnymast.png","language":"PHP","funding_links":["https://github.com/sponsors/johnnymast","https://ko-fi.com/johnnymast"],"categories":[],"sub_categories":[],"readme":"[![Run Pest Tests](https://github.com/johnnymast/workflow-php/actions/workflows/tests.yml/badge.svg)](https://github.com/johnnymast/workflow-php/actions/workflows/tests.yml)\n[![License](https://img.shields.io/badge/License-Apache_2.0-pink.svg)](https://www.apache.org/licenses/LICENSE-2.0)\n\n# LogicChain\n\nWorkflow is built on a simple belief: complex logic shouldn’t feel complex.\nThis library gives you a clean, expressive way to structure multi‑step processes without drowning in conditionals, flags, or scattered service calls. Every workflow becomes a clear, linear story — one step at a time — with predictable behavior and a result you can always trust.\n\nWhether you’re transforming data, orchestrating services, or coordinating real‑world business operations, Workflow helps you keep your code honest and your intent visible. No magic, no hidden state, no surprises. Just a lightweight pipeline that does exactly what you tell it to do.\n\nIt’s designed for developers who care about clarity.\nFor teams that value maintainability.\nAnd for projects where the flow of logic matters just as much as the outcome.\n\nIf you’ve ever wished your application logic read more like a narrative and less like a maze, you’ll feel right at home here.\n\nLarge features that once required hundreds or even thousands of lines of orchestration logic can now be expressed as a simple, readable pipeline:\n\n```php\nuse JohnnyMast\\LogicChain\\Workflow;\nuse Examples\\Invokables\\ValidateOrder;\nuse Examples\\Invokables\\CreateOrder;\nuse Examples\\Invokables\\StoreOrder;\nuse Examples\\Invokables\\SendOrderEmail;\n\n$workflow = (new Workflow())\n    -\u003eadd(new ValidateOrder())\n    -\u003eadd(new CreateOrder())\n    -\u003eadd(new StoreOrder())\n    -\u003eadd(new SendOrderEmail())\n    -\u003esuccess(fn($r) =\u003e print \"Order completed\\n\")\n    -\u003efailed(fn($r) =\u003e print \"Order failed: {$r-\u003econtext-\u003eerror}\\n\");\n\n$result = $workflow-\u003erun([\n    'customer' =\u003e 'john@example.com',\n    'items' =\u003e ['sku-123', 'sku-456'],\n]);\n```\n\nThat’s the entire flow — end to end.  \nNo scattered service calls, no deeply nested conditionals, no hidden state.  \nJust a clean sequence of steps that tells the story of what your application is doing.\n\n---\n\n## Installation \n\nInstall LogicChain via Composer:\n\n```bash\ncomposer require johnnymast/logichain\n```\n\nAfter installation, all classes are available under the namespace:\n\n```php\nJohnnyMast\\LogicChain\n```\n\n---\n\n## Examples \u0026 Use Cases\n\nLogicChain includes a collection of practical examples that demonstrate how to build and structure chains for different scenarios.  \nIf you want to explore real‑world use cases or see how to apply the library in your own projects, check the `examples/` directory in the project root.\n\nThe examples show:\n\n- how to build a simple chain  \n- how to pass context between steps  \n- how to handle success and failure callbacks  \n- how to structure reusable step classes  \n- how to orchestrate multi‑step business logic  \n\nExploring the examples is the quickest way to understand how LogicChain works in real applications.\n\n---\n\n## Apache 2.0 License\n\nLogicChain is licensed under the Apache License, Version 2.0 (Apache-2.0).\n\n© 2026 Johnny Mast — mastjohnny@gmail.com  \nYou may use this project in commercial and private applications under the terms of the Apache 2.0 license.\n\nSee the full license in the [LICENSE.md](LICENSE.md) file.\nAdditional project notices can be found in the [NOTICE](NOTICE) file.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjohnnymast%2Flogichain","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjohnnymast%2Flogichain","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjohnnymast%2Flogichain/lists"}