Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
64 changes: 64 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
name: Bug report
description: Report a reproducible problem in this extension pack or its guidance.
title: "[Bug] "
labels:
- bug
body:
- type: markdown
attributes:
value: |
Thanks for filing a bug report. Please include enough detail for us to reproduce quickly.
- type: input
id: vscode_version
attributes:
label: VS Code version
placeholder: e.g. 1.101.2
validations:
required: true
- type: input
id: extension_pack_version
attributes:
label: Angular Essentials version
placeholder: e.g. 22.0.1
validations:
required: true
- type: dropdown
id: os
attributes:
label: Operating system
options:
- macOS
- Windows
- Linux
- Other
validations:
required: true
- type: textarea
id: repro
attributes:
label: Reproduction steps
description: Include exact steps and which extension seems to trigger the issue when enabled alone.
placeholder: |
1. Install extension pack
2. Enable only extension X
3. ...
validations:
required: true
- type: textarea
id: expected
attributes:
label: Expected behavior
validations:
required: true
- type: textarea
id: actual
attributes:
label: Actual behavior
validations:
required: true
- type: textarea
id: notes
attributes:
label: Additional context
description: Logs, screenshots, and settings snippets are helpful.

47 changes: 47 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
name: Feature request
description: Suggest a new extension or maintenance improvement for this extension pack.
title: "[Feature] "
labels:
- enhancement
body:
- type: markdown
attributes:
value: |
Thanks for the idea. This pack stays intentionally small, so please focus on broad, high-value additions.
- type: input
id: extension_name
attributes:
label: Extension name (if applicable)
placeholder: e.g. publisher.extension-id
- type: input
id: marketplace_url
attributes:
label: Marketplace URL
placeholder: https://marketplace.visualstudio.com/items?itemName=publisher.extension-id
- type: textarea
id: problem
attributes:
label: Problem statement
description: What developer problem does this solve?
validations:
required: true
- type: textarea
id: proposal
attributes:
label: Proposed change
description: Describe the exact change you want in this repo.
validations:
required: true
- type: textarea
id: rationale
attributes:
label: Why this should be in Angular Essentials
description: Explain broad usefulness, maintenance confidence, and why this belongs in a curated core pack.
validations:
required: true
- type: textarea
id: alternatives
attributes:
label: Alternatives considered
description: Any tradeoffs, risks, or alternatives?

64 changes: 64 additions & 0 deletions .github/copilot-instructions.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
# Copilot instructions for vscode-angular-essentials

This repository is a **VS Code extension pack**. Treat it as a metadata/release repo, not an Angular runtime app.

## Project intent

- Keep the extension pack minimal, stable, and broadly useful for Angular developers.
- Prefer well-maintained, mainstream extensions over niche additions.
- Avoid deprecated tooling and references.

## Core files and responsibilities

- `package.json`
- Source of truth for extension metadata, version, and `extensionPack`.
- `README.md`
- Public-facing docs and included extension Marketplace links.
- `CHANGELOG.md`
- Release history and rationale.
- `CONTRIBUTING.md`
- Contributor flow expectations.

## Conventions mined from prior maintenance

- Extension list changes should include docs + changelog updates in the same PR.
- Remove outdated/deprecated integrations when surfaced in issues/PRs.
- Keep release changes explicit and small; avoid unrelated churn.
- Prefer direct Marketplace links over retired badge providers.

## Code change conventions

- Make targeted edits only; do not reformat large files unnecessarily.
- Keep naming consistent with existing extension IDs (exact case where required by Marketplace IDs).
- Do not add runtime/framework assumptions (no Angular package upgrades in this repo unless explicitly requested).

## Testing and validation conventions

- Run packaging validation after meaningful manifest/docs release changes:
- `npm run package`
- For release actions, ensure version and changelog are aligned before publish:
- `package.json` version
- top changelog entry in `CHANGELOG.md`

## Asset/content rules

- `README.md` should match the current `extensionPack` entries.
- Changelog entries should be chronological, newest first.
- Keep icon/image references stable unless intentionally updating branding.

## Maintenance matrix

| If you change | Also review/update | Why |
| --- | --- | --- |
| `package.json` `extensionPack` | `README.md` Included table, `CHANGELOG.md` | Keep public docs and release notes synchronized with manifest |
| `package.json` `version` | `CHANGELOG.md`, release/publish workflow steps | Prevent marketplace version/changelog drift |
| Included extension IDs | Case-sensitive Marketplace links in `README.md` | Broken IDs/links cause install confusion |
| Publish/package scripts | `.github/workflows/ci.yml` | CI should reflect real packaging commands without unnecessary install steps |
| Contribution process or review expectations | `CONTRIBUTING.md`, PR template(s) | Keep contributor guidance and review rubric aligned |
| Legacy templates at repo root | `.github/ISSUE_TEMPLATE/*.yml` and guidance docs | Preserve compatibility while moving to modern forms |

## What not to do

- Don’t add speculative dependencies or framework tooling.
- Don’t overwrite existing contributor docs wholesale; patch specific sections.
- Don’t delete legacy templates unless asked; prefer additive migration.
34 changes: 34 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
name: CI

on:
pull_request:
branches:
- main
paths-ignore:
- "**/*.md"
- "LICENSE*"
push:
branches:
- main
paths-ignore:
- "**/*.md"
- "LICENSE*"

jobs:
build-and-validate:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: "18"

- name: Validate extension manifest shape
run: |
node -e "const fs=require('fs');const p=JSON.parse(fs.readFileSync('package.json','utf8'));if(!p.extensionPack||!Array.isArray(p.extensionPack)||p.extensionPack.length===0){throw new Error('package.json extensionPack must be a non-empty array');}if(!p.version){throw new Error('package.json version is required');}if(!p.publisher){throw new Error('package.json publisher is required');}console.log('package.json manifest checks passed');"

- name: Package extension
run: npm run package
78 changes: 78 additions & 0 deletions AGENTS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
# AGENTS.md

## Project Overview

This repository publishes the **Angular Essentials** VS Code extension pack (`johnpapa.angular-essentials`).
It is a metadata-first project: the main source of truth is `package.json` (`extensionPack`, metadata, version), with supporting release notes in `CHANGELOG.md` and user-facing docs in `README.md`.

## Repository Structure

- `package.json` — extension manifest, extension pack entries, version, publish scripts
- `README.md` — marketplace-facing docs and included extension links
- `CHANGELOG.md` — release history
- `CONTRIBUTING.md` — contribution process
- `ISSUE_TEMPLATE.md` / `PULL_REQUEST_TEMPLATE.md` — legacy root templates
- `.devcontainer/` — development container config
- `images/` — extension icon assets

## Tech Stack

- Node.js tooling via npm scripts
- VS Code extension packaging/publishing via `vsce`
- No runtime application code; this repo manages extension-pack metadata

## Build & Run

- Package extension:
- `npm run package`
- Publish extension (maintainers):
- `npm run publish`
- Local extension-pack test:
- Open VS Code in this repo and press `F5` (see `vsc-extension-quickstart.md`)

## Testing

There is no unit/integration test suite in this repo.
Validation is packaging-oriented:

- Ensure manifest is valid and pack still builds: `npm run package`
- Verify docs and manifest stay in sync (`README.md`, `CHANGELOG.md`, `package.json`)

## Key Patterns and Conventions

- Keep the extension pack curated and broadly useful; avoid niche or deprecated extensions.
- When changing included extensions, update all linked surfaces in one PR:
- `package.json` (`extensionPack`)
- `README.md` (Included table links)
- `CHANGELOG.md`
- Use direct VS Marketplace links in README; avoid retired badge providers.
- Versioning follows release intent:
- major for Angular-major branding updates
- patch for documentation/maintenance updates

## CI/CD

- CI validation workflow: `.github/workflows/ci.yml`
- Release is marketplace publish via `npm run publish` (maintainer-driven)

## Adding or Removing an Extension from the Pack

1. Edit `package.json` and update `extensionPack`.
2. Update `README.md` Included table so docs match manifest.
3. Add a `CHANGELOG.md` entry in the current release section.
4. Run `npm run package` to validate packaging.
5. Open a PR with clear rationale (value, maintenance burden, deprecation risk).

## Common Pitfalls

- Updating only one of README/manifest/changelog and leaving the others stale.
- Reintroducing deprecated tooling/extensions.
- Publishing without bumping `package.json` version and changelog.
- Assuming this is an Angular runtime repo; it is a VS Code extension-pack repo.

## Documentation Status

This repo intentionally has lightweight docs:

- Primary docs: `README.md`, `CONTRIBUTING.md`, `CHANGELOG.md`
- No separate docs site is currently needed for this project size/scope.
17 changes: 17 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
# Angular Essentials - Extension Pack for VS Code

[![AI Ready](https://img.shields.io/badge/AI--Ready-yes-brightgreen?style=flat)](https://github.com/johnpapa/ai-ready)
[![Installs](https://img.shields.io/visual-studio-marketplace/i/johnpapa.angular-essentials)](https://marketplace.visualstudio.com/items?itemName=johnpapa.angular-essentials)

[![The MIT License](https://img.shields.io/badge/license-MIT-orange.svg?color=blue&style=flat-square)](http://opensource.org/licenses/MIT)
Expand Down Expand Up @@ -27,3 +28,19 @@ This extension pack includes the following extensions:
| GitHub Copilot Chat | [GitHub.copilot-chat](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot-chat) |
| Prettier | [esbenp.prettier-vscode](https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode) |
| Winter is Coming | [johnpapa.winteriscoming](https://marketplace.visualstudio.com/items?itemName=johnpapa.winteriscoming) |

## Contributing

Contributions are welcome. Please read [CONTRIBUTING.md](CONTRIBUTING.md) before opening a PR.

For extension-pack changes, keep these files in sync:

- `package.json` (`extensionPack`, version, metadata)
- `README.md` (Included extension links)
- `CHANGELOG.md` (release notes)

Before submitting a PR, run:

```sh
npm run package
```