{"id":24395183,"url":"https://github.com/gbudge/gha-ts-dev-container","last_synced_at":"2026-04-27T13:32:35.520Z","repository":{"id":282144041,"uuid":"922340387","full_name":"gbudge/gha-ts-dev-container","owner":"gbudge","description":"Dev Container for developing GitHub Actions using Node.js and TypeScript.","archived":false,"fork":false,"pushed_at":"2025-01-26T00:01:55.000Z","size":142,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-13T03:13:22.209Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gbudge.png","metadata":{},"created_at":"2025-01-25T23:44:54.000Z","updated_at":"2025-01-26T00:01:58.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/gbudge/gha-ts-dev-container","commit_stats":null,"previous_names":["gbudge/gha-ts-dev-container"],"tags_count":null,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gbudge%2Fgha-ts-dev-container","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gbudge%2Fgha-ts-dev-container/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gbudge%2Fgha-ts-dev-container/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gbudge%2Fgha-ts-dev-container/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gbudge","download_url":"https://codeload.github.com/gbudge/gha-ts-dev-container/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243330324,"owners_count":20274039,"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","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":["actions","devcontainer","gha","github-actions","typescript"],"created_at":"2025-01-19T20:26:25.553Z","updated_at":"2025-12-28T13:25:53.725Z","avatar_url":"https://github.com/gbudge.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# GitHub Actions Dev Container\n\nThis repository provides a reusable Dev Container for developing GitHub Actions using Node.js and TypeScript.\n\n## Features\n\nPre-installed Tools:\n   * Node.js and TypeScript\n   * GitHub CLI (gh)\n   * Common libraries: `@actions/core`, `@actions/github`\n   * Testing tools: Jest and ts-jest\n   * Linting and formatting: ESLint and Prettier\n   * Example `action.yml`, TypeScript configuration, example code, and tests.\n\n## Quick Start\n\n1. Clone this repository:\n   ```bash\n   git clone \u003crepository-url\u003e my-github-action\n   cd my-github-action\n   ```\n\n2. Open the folder in VS Code and start the Dev Container:\n\n   \u003ckbd\u003e![30176D3F-FD6B-4488-B513-08E2F20AD244](https://github.com/user-attachments/assets/3546cba9-61b6-4534-9313-37a8a3c877a8)\u003c/kbd\u003e\n   \n3. Run the setup script to initialize a new project:\n   ```bash\n   .devcontainer/setup.sh\n   ```\n\n4. Update the `package.json` file (e.g. the `name`, `version`, `description`, etc.)\n   \n5. Start developing your GitHub Action in the `src/` directory!\n\n6. Build and test with:\n   ```bash\n   npm run build\n   npm run test\n   ```\n\n7. Happy coding.\n\n## Project Structure\n\nBelow is the structure of a project initialized with this Dev Container:\n\n```bash\n.github/           # GitHub-specific files.\n.devcontainer/     # Dev Container configuration and setup scripts.\nREADME.md          # Documentation for using this repository.\nsrc/\n   action.yml      # Sample GitHub Action metadata.\n   tsconfig.json   # TypeScript configuration.\n   src/            # Sample TypeScript source code.\n   tests/          # Sample Jest tests.\n```\n\n## Running Tests\n\nThis repository includes a sample test for the GitHub Action logic. To run the tests:\n\n1. Ensure you have run the setup script to initialize the test environment:\n   ```bash\n   .devcontainer/setup.sh\n   ```\n\n2. Run the tests:\n   ```bash\n   npm test\n   ```\n\n3. To view the test coverage report:\n   ```bash\n   npm test -- --coverage\n   ```\n\n## Adding Your Own Action\n\n1. Edit the `action.yml` file in the root of your project to define the action inputs and outputs.\n\n2. Implement your action logic in the `src/main.ts` file.\n\n3. Write corresponding tests in the `tests/` directory to ensure your action behaves as expected.\n\n## License\n\nThis repository is licensed under the MIT License. See the `LICENSE` file for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgbudge%2Fgha-ts-dev-container","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgbudge%2Fgha-ts-dev-container","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgbudge%2Fgha-ts-dev-container/lists"}