Skip to content

Commit 3df6761

Browse files
authored
Merge pull request #6 from goddivor/dev
Release: icon store, modular codebase, bilingual help, README & CI
2 parents 0ad2d20 + c807b2b commit 3df6761

22 files changed

Lines changed: 1093 additions & 452 deletions

.github/CODE_OF_CONDUCT.md

Lines changed: 129 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,129 @@
1+
# Code of Conduct — Contributor Covenant
2+
3+
## Our Pledge
4+
5+
As members, contributors, and leaders, we pledge to make participation in our
6+
community a harassment-free experience for everyone, regardless of age, body
7+
size, visible or invisible disability, ethnicity, sex characteristics, gender
8+
identity and expression, level of experience, education, socio-economic status,
9+
nationality, appearance, race, caste, skin color, religion, or sexual
10+
orientation and identity.
11+
12+
We pledge to act and interact in ways that contribute to an open, welcoming,
13+
diverse, inclusive, and healthy community.
14+
15+
## Our Standards
16+
17+
Examples of behavior that contributes to a positive environment:
18+
19+
- Demonstrating empathy and kindness toward others
20+
- Being respectful of differing opinions, viewpoints, and experiences
21+
- Accepting constructive criticism graciously
22+
- Taking responsibility and apologizing to those affected by our mistakes, and
23+
learning from the experience
24+
- Focusing on what is best not just for us as individuals, but for the
25+
community as a whole
26+
27+
Examples of unacceptable behavior:
28+
29+
- Use of sexualized language or imagery and sexual attention or advances of any
30+
kind
31+
- Trolling, insulting or demeaning comments, and personal or political attacks
32+
- Harassment in public or private
33+
- Publishing private information of others, such as a physical or electronic
34+
address, without explicit permission
35+
- Any other conduct which could reasonably be considered inappropriate in a
36+
professional setting
37+
38+
## Enforcement Responsibilities
39+
40+
Community leaders are responsible for clarifying and enforcing our standards of
41+
acceptable behavior and will take appropriate and fair corrective action in
42+
response to any behavior they deem inappropriate, threatening, offensive, or
43+
harmful.
44+
45+
Community leaders have the right and responsibility to remove, edit, or reject
46+
comments, commits, code, wiki edits, issue reports, and other contributions
47+
that are not aligned to this Code of Conduct, and will communicate the reason
48+
for moderation decisions when appropriate.
49+
50+
## Scope
51+
52+
This Code of Conduct applies both within project spaces and in public spaces
53+
when an individual is representing the project or its community. Examples of
54+
representing a project or community include using an official project e-mail
55+
address, posting via an official social media account, or acting as an
56+
appointed representative at an online or offline event.
57+
58+
## Enforcement
59+
60+
Instances of abusive, harassing, or otherwise unacceptable behavior may be
61+
reported to the community leaders responsible for enforcement at goddivor7@gmail.com.
62+
All complaints will be reviewed and investigated promptly and fairly.
63+
64+
All community leaders are obligated to respect the privacy and security of the
65+
reporting individuals.
66+
67+
## Enforcement Guidelines
68+
69+
Community leaders will follow these enforcement guidelines on community impact
70+
to determine the consequences of any action they deem to violate this Code of
71+
Conduct:
72+
73+
### 1. Correction
74+
75+
**Community impact**: Use of inappropriate language or other behavior deemed
76+
unprofessional or unwelcome in the community.
77+
78+
**Consequence**: A private, written warning from community leaders, clarifying
79+
the nature of the violation and explaining why the behavior was inappropriate.
80+
Public apologies may be requested.
81+
82+
### 2. Warning
83+
84+
**Community impact**: A violation through a single incident or series of
85+
actions.
86+
87+
**Consequence**: A warning with consequences for continued behavior. No
88+
interaction with the people involved, including unsolicited interaction with
89+
those enforcing the Code of Conduct, for a specified period. This includes
90+
avoiding interactions in community spaces as well as external channels such as
91+
social media. Failure to comply may result in temporary or permanent
92+
revocation of access.
93+
94+
### 3. Temporary Ban
95+
96+
**Community impact**: A serious violation of community standards, including
97+
sustained inappropriate behavior.
98+
99+
**Consequence**: A temporary ban from all community spaces and interactions
100+
for a specified period. No public or private interaction with the people
101+
involved, including those enforcing the Code of Conduct, is allowed during
102+
this period. Continued violation may lead to permanent banning.
103+
104+
### 4. Permanent Ban
105+
106+
**Community impact**: Demonstrating a pattern of violation of community
107+
standards, including sustained inappropriate behavior, harassment of an
108+
individual, or aggression or bigotry against a protected class.
109+
110+
**Consequence**: Permanent banning from all public interaction within the
111+
community.
112+
113+
## Attribution
114+
115+
This Code of Conduct is adapted from the Contributor Covenant, version 2.1,
116+
available at https://www.contributor-covenant.org/version/2/1/code_of_conduct.html.
117+
118+
Enforcement guidelines were inspired by the Mozilla Code of Conduct enforcement
119+
ladder.
120+
121+
For answers to common questions about this code of conduct, see the FAQ at
122+
https://www.contributor-covenant.org/faq. Translations are available at
123+
https://www.contributor-covenant.org/translations.
124+
125+
[homepage]: https://www.contributor-covenant.org
126+
[v2.1]: https://www.contributor-covenant.org/version/2/1/code_of_conduct.html
127+
[Mozilla CoC]: https://github.com/mozilla/diversity
128+
[FAQ]: https://www.contributor-covenant.org/faq
129+
[translations]: https://www.contributor-covenant.org/translations

.github/CONTRIBUTING.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# Contributing
2+
3+
Thanks for wanting to help out.
4+
5+
Work happens on the `dev` branch — `main` is protected and only updated through
6+
pull requests. So branch off `dev`, and open your PR against `dev`.
7+
8+
A few things to keep in mind:
9+
10+
- Node.js >= 18.17, ESM only (`import`/`export`).
11+
- Commit messages follow [Conventional Commits](https://www.conventionalcommits.org/)
12+
(`feat:`, `fix:`, `docs:`...), in English.
13+
- Since this CLI touches Windows, macOS and Linux, mention which platform(s) you
14+
tested your change on.
15+
16+
Found a bug or have an idea? Open an issue. For questions, use
17+
[Discussions](https://github.com/goddivor/seticon-cli/discussions).
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
---
2+
name: Bug report
3+
about: Something isn't working
4+
title: "[Bug]: "
5+
labels: bug
6+
---
7+
8+
## What happened?
9+
10+
Describe the bug and what you expected instead.
11+
12+
## How to reproduce
13+
14+
The command you ran, the folder and the icon file involved.
15+
16+
## Output
17+
18+
```text
19+
<paste the terminal output here>
20+
```
21+
22+
## Environment
23+
24+
- OS (and desktop environment on Linux):
25+
- Node.js version (`node --version`):
26+
- seticon-cli version:

.github/ISSUE_TEMPLATE/config.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
blank_issues_enabled: false
2+
contact_links:
3+
- name: Question or usage help
4+
url: https://github.com/goddivor/seticon-cli/discussions
5+
about: Ask questions and get help with using seticon-cli.
6+
- name: npm package
7+
url: https://www.npmjs.com/package/seticon-cli
8+
about: View the published package on npm.
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
---
2+
name: Feature request
3+
about: Suggest an idea
4+
title: "[Feature]: "
5+
labels: enhancement
6+
---
7+
8+
## What would you like?
9+
10+
Describe the feature or improvement, and the problem it solves.
11+
12+
## Anything else?
13+
14+
Alternatives you considered, which platforms it concerns, etc.

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
## What does this change?
2+
3+
Briefly describe what you changed and why.
4+
5+
Closes #<!-- issue number, if any -->
6+
7+
## Platforms tested
8+
9+
<!-- Which OS did you try this on? Windows / macOS / Linux (GNOME or KDE) -->
10+
11+
---
12+
13+
- [ ] Targets `dev`, not `main`
14+
- [ ] Commits follow Conventional Commits
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
name: release-please
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
8+
permissions:
9+
contents: write
10+
issues: write
11+
pull-requests: write
12+
13+
jobs:
14+
release-please:
15+
runs-on: ubuntu-latest
16+
outputs:
17+
release_created: ${{ steps.release.outputs.release_created }}
18+
steps:
19+
- uses: googleapis/release-please-action@v4
20+
id: release
21+
with:
22+
release-type: node
23+
24+
publish-npm:
25+
needs: release-please
26+
if: needs.release-please.outputs.release_created == 'true'
27+
runs-on: ubuntu-latest
28+
steps:
29+
- uses: actions/checkout@v4
30+
- uses: actions/setup-node@v4
31+
with:
32+
node-version: 20
33+
registry-url: https://registry.npmjs.org
34+
- run: npm publish --access public
35+
env:
36+
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}

CHANGELOG.md

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
# Changelog
2+
3+
All notable changes to this project are documented in this file.
4+
5+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7+
8+
## [1.0.1] - 2026-05-29
9+
10+
Maintenance release — metadata fixes only, no functional changes.
11+
12+
### Changed
13+
14+
- Corrected `repository`, `bugs` and `homepage` URLs to point to
15+
`goddivor/seticon-cli` (were still pointing to the old `goddivor/CmdProject`
16+
monorepo).
17+
- Updated README links accordingly.
18+
19+
## [1.0.0] - 2026-05-29
20+
21+
Initial standalone release, extracted from the
22+
[CmdProject](https://github.com/goddivor/CmdProject) monorepo.
23+
24+
### Added
25+
26+
- Cross-platform CLI to change folder icons on Windows, macOS and Linux.
27+
- Windows support via `desktop.ini` with hidden/system/readonly attributes.
28+
- macOS support via NSWorkspace (JXA / `osascript`).
29+
- Linux support via `gio` metadata (GNOME) and `.directory` files (KDE),
30+
applied simultaneously for mixed environments.
31+
- Automatic PNG/JPG to multi-size ICO conversion on Windows
32+
(via `sharp` + `png-to-ico`).
33+
34+
[1.0.1]: https://github.com/goddivor/seticon-cli/releases/tag/v1.0.1
35+
[1.0.0]: https://github.com/goddivor/seticon-cli/releases/tag/v1.0.0

0 commit comments

Comments
 (0)