Skip to content

Commit f5612dd

Browse files
author
Dainer Mesa
committed
feat: add initial project structure with issue templates, workflows, and scripts
1 parent ab1db09 commit f5612dd

13 files changed

Lines changed: 370 additions & 0 deletions

File tree

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
---
2+
name: Bug report
3+
about: Create a report to help us improve
4+
title: '[bug] '
5+
labels: bug
6+
assignees: ''
7+
---
8+
9+
**Describe the bug**
10+
A clear and concise description of what the bug is.
11+
12+
**To Reproduce**
13+
Steps to reproduce the behavior:
14+
1.
15+
2.
16+
3.
17+
18+
**Expected behavior**
19+
A clear and concise description of what you expected to happen.
20+
21+
**Environment (please complete the following information):**
22+
23+
- OS: [e.g. macOS 13]
24+
- Node/npm: [e.g. node 18 / npm 9]
25+
26+
**Additional context**
27+
Add any other context about the problem here.
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
---
2+
name: Feature request
3+
about: Suggest an idea for this project
4+
title: '[feature] '
5+
labels: enhancement
6+
assignees: ''
7+
---
8+
9+
**Describe the solution you'd like**
10+
A clear and concise description of what you want to happen.
11+
12+
**Describe alternatives you've considered**
13+
A clear and concise description of any alternative solutions or features you've considered.
14+
15+
**Additional context**
16+
Add any other context or screenshots about the feature request here.

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
# Pull Request
2+
3+
<!-- Describe the change and why it is needed -->
4+
5+
## Summary
6+
7+
What does this PR do? Provide a short description.
8+
9+
## Related issues
10+
11+
Closes: # (link related issue)
12+
13+
## Checklist
14+
15+
- [ ] I have read the CONTRIBUTING.md and followed the guidelines.
16+
- [ ] All shell scripts pass `bash -n` locally.
17+
- [ ] Tests and/or manual verification steps are included where appropriate.
18+
- [ ] CI passes for all targeted OS runners.
19+
20+
## Additional notes
21+
22+
Any additional information for reviewers.

.github/dependabot.yml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
version: 2
2+
updates:
3+
- package-ecosystem: "github-actions"
4+
directory: "/"
5+
schedule:
6+
interval: "weekly"
7+
- package-ecosystem: "npm"
8+
directory: "/"
9+
schedule:
10+
interval: "weekly"

.github/workflows/stale.yml

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
name: Close stale issues and PRs
2+
3+
on:
4+
schedule:
5+
- cron: '0 6 * * 1' # weekly on Monday
6+
workflow_dispatch:
7+
8+
jobs:
9+
stale:
10+
runs-on: ubuntu-latest
11+
steps:
12+
- name: Close stale issues and PRs
13+
uses: actions/stale@v4
14+
with:
15+
repo-token: "${{ secrets.GITHUB_TOKEN }}"
16+
days-before-stale: 30
17+
days-before-close: 7

.github/workflows/test.yml

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
name: Test asdf-angular-cli plugin
2+
3+
on:
4+
push:
5+
pull_request:
6+
schedule:
7+
# Run weekly to show activity and catch regressions
8+
- cron: '0 3 * * 1'
9+
10+
jobs:
11+
test:
12+
strategy:
13+
matrix:
14+
os: [ubuntu-latest, macos-latest]
15+
runs-on: ${{ matrix.os }}
16+
steps:
17+
- name: Checkout
18+
uses: actions/checkout@v4
19+
20+
- name: Install dependencies
21+
run: |
22+
if [[ "$RUNNER_OS" == "macOS" ]]; then
23+
brew install jq npm
24+
else
25+
sudo apt-get update && sudo apt-get install -y jq npm
26+
fi
27+
28+
- name: Shell script syntax check
29+
run: |
30+
bash -n bin/install bin/list-all bin/exec
31+
32+
- name: Test version listing
33+
run: bash bin/list-all | head -n 5
34+
35+
- name: Test Angular CLI installation
36+
run: |
37+
mkdir -p /tmp/asdf-angular-cli
38+
bash bin/install 18.2.1 /tmp/asdf-angular-cli
39+
/tmp/asdf-angular-cli/ng version

CODE_OF_CONDUCT.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
# Contributor Covenant Code of Conduct
2+
3+
Our project follows the Contributor Covenant Code of Conduct. By participating, you agree to abide by its terms.
4+
5+
Key points:
6+
7+
- Be respectful and considerate in all interactions.
8+
- Do not engage in harassment, discrimination, or abusive behavior.
9+
- Report unacceptable behavior to the maintainers.
10+
11+
For the full text, see: [Contributor Covenant v2.1](https://www.contributor-covenant.org/version/2/1/code_of_conduct/)
12+
13+
If you need to contact the maintainers privately, open an issue labeled `private` or use the contact information in the repository profile.

CONTRIBUTING.md

Lines changed: 94 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,94 @@
1+
# Contributing to asdf-angular-cli
2+
3+
Thank you for your interest in contributing! This document describes the preferred workflow, coding standards, and checks we expect contributors to follow. Please read it before opening issues or pull requests.
4+
5+
## Table of contents
6+
7+
- How to report an issue
8+
- How to propose a change (pull request)
9+
- Branch naming and commit message conventions
10+
- Development & testing
11+
- Pull request checklist
12+
- Code of Conduct
13+
14+
## How to report an issue
15+
16+
If you find a bug or want to request a feature, open an issue and include:
17+
18+
- A short, descriptive title
19+
- The steps to reproduce (for bugs)
20+
- Expected vs actual behavior
21+
- Environment information (OS, Node/npm versions)
22+
- Any relevant logs or error messages
23+
24+
Use labels to categorize issues when possible.
25+
26+
## How to propose a change (pull request)
27+
28+
1. Fork the repository.
29+
2. Create a branch from `master` using a descriptive name (see Branch naming below).
30+
3. Make your changes in the branch. Keep changes small and focused.
31+
4. Run the tests and basic script checks locally.
32+
5. Open a Pull Request against the `master` branch with a clear description of the change and motivation.
33+
34+
If your changes address an open issue, reference it in the PR (e.g., `Closes #123`).
35+
36+
## Branch naming and commit message conventions
37+
38+
- Branch names should be prefixed with the type and a short description, for example:
39+
- `feature/add-list-all-cache`
40+
- `fix/install-permissions`
41+
- `chore/update-deps`
42+
43+
- Commit messages should follow the Conventional Commits style for clarity. Example:
44+
- `feat: add list-all cache to reduce registry calls`
45+
- `fix: handle missing npm gracefully`
46+
47+
This helps with automated changelog generation and clear history.
48+
49+
## Development & testing
50+
51+
This repository contains a set of shell scripts used by the asdf plugin. Basic checks you can run locally:
52+
53+
- Syntax-check shell scripts:
54+
55+
```bash
56+
bash -n bin/install bin/list-all bin/exec
57+
```
58+
59+
- Preview available versions (requires `jq` and `curl`):
60+
61+
```bash
62+
bash bin/list-all | head -n 10
63+
```
64+
65+
- Install a version into a temporary directory (this will install packages with npm):
66+
67+
```bash
68+
mkdir -p /tmp/asdf-angular-cli
69+
bash bin/install 18.2.1 /tmp/asdf-angular-cli
70+
/tmp/asdf-angular-cli/ng version
71+
```
72+
73+
Notes:
74+
75+
- Ensure `npm`, `curl`, and `jq` are installed when running the scripts.
76+
- Keep changes portable and POSIX-compliant where reasonable (this repo targets common Linux and macOS runners).
77+
78+
## Pull request checklist
79+
80+
Before marking your PR ready for review, please ensure:
81+
82+
- [ ] The change is limited in scope and well-documented in the PR description.
83+
- [ ] All shell scripts pass a syntax check (`bash -n`).
84+
- [ ] Any new behavior includes tests or a manual verification step described in the PR.
85+
- [ ] CI (GitHub Actions) passes for all targeted OS runners.
86+
- [ ] The PR has at least one reviewer (maintainers will review when available).
87+
88+
## Code of Conduct
89+
90+
By participating in this project you agree to abide by the Contributor Covenant Code of Conduct. Please be respectful and constructive.
91+
92+
---
93+
94+
If you have questions about contributing, open an issue and tag it `help wanted` or `discussion`.

README.md

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
# asdf-angular-cli
2+
3+
[![CI](https://img.shields.io/github/actions/workflow/status/dainer88/asdf-angular/test.yml)](https://img.shields.io/github/actions/workflow/status/dainer88/asdf-angular/test.yml)
4+
[![License](https://img.shields.io/badge/license-Apache%202.0-blue.svg)](./LICENSE)
5+
6+
An asdf plugin to manage multiple versions of the Angular CLI ([Angular CLI documentation](https://angular.io/cli)).
7+
8+
## 🚀 Installation
9+
10+
```bash
11+
asdf plugin-add angular-cli https://github.com/<your-username>/asdf-angular-cli.git
12+
```
13+
14+
## 📦 Usage
15+
16+
```bash
17+
asdf install angular-cli 18.2.1
18+
asdf global angular-cli 18.2.1
19+
ng version
20+
```
21+
22+
## 🧪 Local development and testing
23+
24+
Clone this repository and add the plugin locally:
25+
26+
```bash
27+
git clone https://github.com/<your-username>/asdf-angular-cli.git
28+
asdf plugin-add angular-cli ./asdf-angular-cli
29+
asdf list-all angular-cli
30+
```
31+
32+
To test a specific version:
33+
34+
```bash
35+
asdf install angular-cli 18.2.1
36+
asdf global angular-cli 18.2.1
37+
ng version
38+
```
39+
40+
## 🧰 Requirements
41+
42+
- jq
43+
- curl
44+
- npm
45+
46+
## 🧩 Contributing
47+
48+
1. Fork the repository.
49+
2. Create a new branch (`feature/new-feature`).
50+
3. Make your changes and run the tests.
51+
4. Open a Pull Request.
52+
53+
For detailed contribution guidelines, see `CONTRIBUTING.md`.
54+
55+
## 🧪 Automated validation
56+
57+
This repository uses GitHub Actions to validate the plugin scripts and basic syntax.

bin/exec

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
#!/usr/bin/env bash
2+
set -euo pipefail
3+
4+
exec "$ASDF_INSTALL_PATH/ng" "$@"

0 commit comments

Comments
 (0)