{"id":31785300,"url":"https://github.com/coderdeltalan/star-template","last_synced_at":"2025-10-20T05:04:57.634Z","repository":{"id":318397882,"uuid":"1054028082","full_name":"CoderDeltaLAN/star-template","owner":"CoderDeltaLAN","description":null,"archived":false,"fork":false,"pushed_at":"2025-10-06T14:52:12.000Z","size":288,"stargazers_count":1,"open_issues_count":13,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-10-07T00:45:40.998Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/CoderDeltaLAN.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","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":{"custom":["https://www.paypal.com/donate/?hosted_button_id=YVENCBNCZWVPW"]}},"created_at":"2025-09-10T09:08:12.000Z","updated_at":"2025-09-12T22:08:10.000Z","dependencies_parsed_at":"2025-10-07T00:45:43.571Z","dependency_job_id":"f451965a-5927-428a-9a8d-d8e8e9106036","html_url":"https://github.com/CoderDeltaLAN/star-template","commit_stats":null,"previous_names":["coderdeltalan/star-template"],"tags_count":1,"template":true,"template_full_name":null,"purl":"pkg:github/CoderDeltaLAN/star-template","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CoderDeltaLAN%2Fstar-template","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CoderDeltaLAN%2Fstar-template/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CoderDeltaLAN%2Fstar-template/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CoderDeltaLAN%2Fstar-template/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CoderDeltaLAN","download_url":"https://codeload.github.com/CoderDeltaLAN/star-template/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CoderDeltaLAN%2Fstar-template/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279003716,"owners_count":26083610,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-10T02:00:06.843Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":[],"created_at":"2025-10-10T11:52:32.142Z","updated_at":"2025-10-10T11:52:36.480Z","avatar_url":"https://github.com/CoderDeltaLAN.png","language":"Shell","readme":"# ⭐ Star Template — Always-Green Starter for Node + Python\n\nA lean, production-grade template for **TypeScript libraries** and **Python packages** with a **strict green workflow**.  \nIt mirrors CI locally, enforces style/tests/typing, ships with **GitHub Actions** (Linux matrix) and **CodeQL**, and keeps histories clean and linear.  \nUse it to bootstrap small libs or new repos that must **stay green**, integrate safely, and scale with confidence.\n\n\u003cdiv align=\"center\"\u003e\n\n[![Build](https://github.com/CoderDeltaLAN/star-template/actions/workflows/build.yml/badge.svg?branch=main)](https://github.com/CoderDeltaLAN/star-template/actions/workflows/build.yml)\n[![CodeQL](https://github.com/CoderDeltaLAN/star-template/actions/workflows/codeql.yml/badge.svg?branch=main)](https://github.com/CoderDeltaLAN/star-template/actions/workflows/codeql.yml)\n![Python 3.11|3.12](https://img.shields.io/badge/Python-3.11%20|%203.12-3776AB?logo=python)\n![Node 20.x](https://img.shields.io/badge/Node-20.x-339933?logo=node.js)\n[![License: Apache-2.0](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](LICENSE)\n[![Donate](https://img.shields.io/badge/Donate-PayPal-0070ba?logo=paypal\u0026logoColor=white)](https://www.paypal.com/donate/?hosted_button_id=YVENCBNCZWVPW)\n\n\u003c/div\u003e\n\n---\n\n## Repo layout\n\n```text\n.\n├── lib/                 # TS build output\n├── test/                # TS tests (Jest)\n├── src/star_template/   # Python package\n├── tests/               # Python tests (pytest)\n└── .github/workflows/   # build.yml, codeql.yml\n```\n\n---\n\n## 🚀 Quick Start\n\n### Node / TypeScript\n\n```bash\nnpm ci\nnpx prettier -c .\nnpx eslint . --max-warnings=0\n[ -f tsconfig.json ] \u0026\u0026 npx tsc -p tsconfig.json --noEmit || true\nnpm test --silent\n```\n\nPack + smoke locally:\n\n```bash\nnpm pack\nmkdir -p /tmp/star-template-npm-smoke \u0026\u0026 cd /tmp/star-template-npm-smoke\nnpm init -y \u003e/dev/null\nnpm install \"/absolute/path/to/star-template-ts-\u003cversion\u003e.tgz\" --silent\nnode -e \"require('star-template-ts'); console.log('node import OK')\"\n```\n\n### Python\n\n```bash\npoetry install --no-interaction\npoetry run ruff check .\npoetry run black --check .\nPYTHONPATH=src poetry run pytest -q\npoetry run mypy src\npoetry build\npython - \u003c\u003c'PY'\nimport importlib; m = importlib.import_module(\"star_template\")\nprint(\"python import OK:\", getattr(m, \"__version__\", \"unknown\"))\nPY\n```\n\n---\n\n## 🧪 Local Developer Workflow (mirrors CI)\n\n```bash\n# Node\nnpx prettier -c .\nnpx eslint . --max-warnings=0\n[ -f tsconfig.json ] \u0026\u0026 npx tsc --noEmit || true\nnpm test --silent\n\n# Python\npoetry run ruff check .\npoetry run black --check .\nPYTHONPATH=src poetry run pytest -q\npoetry run mypy src\n```\n\n---\n\n## 🔧 CI (GitHub Actions)\n\n- Linux matrix for Node and Python (3.11, 3.12).\n- Jobs match local gates to avoid “works-on-my-machine”.\n- **Logs per job** are uploaded as artifacts for troubleshooting.\n- **CodeQL** enabled for static analysis.\n\nExample Python job steps:\n\n```yaml\n- run: python -m pip install -U pip\n- run: pip install ruff black pytest mypy\n- run: ruff check .\n- run: black --check .\n- run: pytest -q\n- run: mypy src\n```\n\n---\n\n## 🗺️ When to Use This Template\n\n- You need a **minimal yet strict** starter for Node + Python libs.\n- **Always-green** policy: PRs blocked unless checks pass.\n- You value **linear history** (squash merge) and reproducible local gates.\n\n---\n\n## 🧩 Customization\n\n- Use only one stack? Remove the other stack’s files and its CI job.\n- Add Windows/macOS runners by extending `build.yml`.\n- Lower strictness (e.g., Python coverage) by adjusting `pytest.ini`.\n\n---\n\n## 🛡️ Security\n\n- Private disclosures via GitHub Security advisories.\n- **CodeQL** runs on PRs and pushes to `main`.\n\n---\n\n## 🙌 Contributing\n\n- **Small, atomic PRs** with Conventional Commits.\n- Keep **local gates** green before pushing.\n- Enable **auto-merge** once checks pass.\n\n---\n\n## 📈 SEO Keywords\n\nalways green ci template, always-green workflow, typescript library starter, node eslint prettier jest template,  \npython package template poetry, ruff black pytest mypy starter, github actions matrix ci, codeql security scan template,  \nbranch protection required checks, dual stack repo template, clean history conventional commits, npm pack smoke test,  \npoetry build smoke test, linux matrix ci, job log artifacts, reproducible dev workflow\n\n---\n\n## 👤 Author\n\n**CoderDeltaLAN (Yosvel)**\nEmail: `coderdeltalan.cargo784@8alias.com`\nGitHub: https://github.com/CoderDeltaLAN\n\n---\n\n## 💚 Donations \u0026 Sponsorship\n\nOpen-source takes time. If this template saves you hours, consider supporting continued maintenance and polish. Thank you!\n[![Donate](https://img.shields.io/badge/Donate-PayPal-0070ba?logo=paypal\u0026logoColor=white)](https://www.paypal.com/donate/?hosted_button_id=YVENCBNCZWVPW)\n\n---\n\n## 📄 License\n\nReleased under the **Apache License 2.0**. See [LICENSE](LICENSE).\n","funding_links":["https://www.paypal.com/donate/?hosted_button_id=YVENCBNCZWVPW"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcoderdeltalan%2Fstar-template","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcoderdeltalan%2Fstar-template","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcoderdeltalan%2Fstar-template/lists"}