Skip to content

Commit f28d6c6

Browse files
author
b45632
committed
docs: add community and security guidelines
1 parent 280c5ac commit f28d6c6

8 files changed

Lines changed: 352 additions & 43 deletions

File tree

.github/ISSUE_TEMPLATE/config.yml

Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
name: Bug report
2+
description: Report a reproducible problem in CodeDeck
3+
title: "[Bug]: "
4+
labels:
5+
- bug
6+
body:
7+
- type: markdown
8+
attributes:
9+
value: |
10+
Thanks for reporting a bug. Remove secrets and private paths from logs and screenshots.
11+
12+
- type: input
13+
id: version
14+
attributes:
15+
label: CodeDeck version
16+
description: The version shown in the app or release name.
17+
placeholder: "0.2.0"
18+
validations:
19+
required: true
20+
21+
- type: dropdown
22+
id: operating-system
23+
attributes:
24+
label: Operating system
25+
options:
26+
- Windows 11
27+
- Windows 10
28+
- macOS
29+
- Ubuntu or another Linux distribution
30+
- Other
31+
validations:
32+
required: true
33+
34+
- type: input
35+
id: architecture
36+
attributes:
37+
label: Architecture
38+
placeholder: "x64, ARM64, Apple Silicon"
39+
40+
- type: textarea
41+
id: description
42+
attributes:
43+
label: What happened?
44+
description: Describe the problem and what you expected instead.
45+
validations:
46+
required: true
47+
48+
- type: textarea
49+
id: steps
50+
attributes:
51+
label: Steps to reproduce
52+
placeholder: |
53+
1. Open ...
54+
2. Select ...
55+
3. Click ...
56+
validations:
57+
required: true
58+
59+
- type: textarea
60+
id: logs
61+
attributes:
62+
label: Logs
63+
description: Paste relevant output. Remove tokens, usernames and private paths.
64+
render: shell
65+
66+
- type: textarea
67+
id: context
68+
attributes:
69+
label: Additional context
70+
description: Add screenshots or anything else that may help.
71+
72+
- type: checkboxes
73+
id: checks
74+
attributes:
75+
label: Before submitting
76+
options:
77+
- label: I searched existing issues for the same problem.
78+
required: true
79+
- label: I removed secrets and private information from this report.
80+
required: true
81+
- label: This is not a security vulnerability.
82+
required: true
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
blank_issues_enabled: false
2+
contact_links:
3+
- name: Security vulnerability
4+
url: https://github.com/JadnK/CodeDeck/security/policy
5+
about: Do not report security vulnerabilities in a public issue.

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
## What changed?
2+
3+
<!-- Briefly explain the change and the problem it solves. -->
4+
5+
## How was it tested?
6+
7+
<!-- List the commands and manual checks you ran. -->
8+
9+
- [ ] `pnpm build`
10+
- [ ] `cargo check --locked --manifest-path src-tauri/Cargo.toml`
11+
- [ ] The affected workflow was tested manually
12+
13+
## Screenshots
14+
15+
<!-- Add before/after screenshots for visible UI changes. Remove this section when it does not apply. -->
16+
17+
## Checklist
18+
19+
- [ ] The pull request contains one focused change
20+
- [ ] Error and empty states were considered
21+
- [ ] No secrets or private local paths were added
22+
- [ ] Commands still require an explicit user action
23+
- [ ] Documentation or the changelog was updated when needed

CHANGELOG.md

Lines changed: 42 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,44 +1,62 @@
11
# Changelog
22

3-
All notable changes to Code Deck are documented here.
3+
All notable changes to CodeDeck are documented in this file.
44

5-
## [0.2.0] - 2026-07-13
5+
The project follows [Semantic Versioning](https://semver.org/).
6+
7+
## [Unreleased]
68

79
### Added
810

9-
- New-project workflow with clear separation between creating a starter and adding an existing folder.
10-
- Offline starter templates for Node.js, Node.js + TypeScript, React + Vite, Spring Boot, Python, Rust and empty projects.
11-
- Reusable custom project templates backed by local folders.
12-
- Optional Git initialization for newly created projects.
13-
- Maven, Spring Boot, Gradle, Python and Cargo command detection.
14-
- Explanations and visible labels for previously ambiguous buttons and settings.
11+
### Changed
12+
13+
### Fixed
14+
15+
### Security
16+
17+
## [0.2.0]
18+
19+
### Added
20+
21+
- Built-in starters for Node.js, Node.js with TypeScript, React with Vite, Spring Boot, Python and Rust.
22+
- Custom project templates based on local folders.
23+
- A clearer project creation flow for starter projects, templates and existing folders.
24+
- Additional page-by-page documentation for the dashboard, project details, processes, workspaces and settings.
1525

1626
### Changed
1727

18-
- GitHub Actions now use Node 24-native actions, pinned macOS 15 runners and a lockfile-tolerant install step.
19-
- Project cards, settings and project creation use clearer action names and inline help.
28+
- Improved labels, descriptions, empty states and button text across the interface.
29+
- Updated GitHub Actions for the repository-root project structure.
30+
- Improved release creation and cross-platform artifact handling.
31+
- Updated the Windows desktop build so no console window appears in release builds.
2032

2133
### Fixed
2234

23-
- CI no longer fails inside `actions/setup-node` when `pnpm-lock.yaml` is absent from a commit.
24-
- Matrix jobs no longer get canceled after the first platform failure.
35+
- Fixed pnpm installation failures caused by incorrect workflow paths.
36+
- Fixed release version validation and draft-release lookup.
37+
- Fixed shell errors while generating release notes.
38+
- Prevented internal Git commands from opening visible command windows on Windows.
2539

26-
## [0.1.0] - 2026-07-13
40+
## [0.1.0]
2741

2842
### Added
2943

30-
- Complete Tauri 2 and React desktop application foundation.
31-
- Project creation, scanning, search, tags, favorites, editing, archiving and deletion.
44+
- Tauri 2 and React desktop application foundation.
45+
- Local project creation, scanning, search, tags, favorites, editing, archiving and removal.
3246
- Configurable IDE and terminal launchers with project placeholders.
33-
- Framework, package script, Docker and Git detection.
34-
- Command runner with live stdout/stderr, stop support and local history.
35-
- Git branch, dirty-file count, last commit, fetch and pull actions.
36-
- Workspaces with ordered parallel/sequential actions.
37-
- Process overview, local JSON import/export, themes and onboarding.
38-
- Cross-platform release workflows and application icons.
47+
- Framework, package-script, Docker and Git detection.
48+
- Command runner with live stdout and stderr, stop support and local history.
49+
- Git branch, changed-file count and latest-commit information.
50+
- Workspaces with ordered sequential and parallel actions.
51+
- Process overview, local JSON import and export, themes and onboarding.
52+
- Cross-platform build and release workflows.
3953

4054
### Security
4155

42-
- Commands only execute after explicit user actions.
43-
- Imported project commands are marked untrusted and can require confirmation.
44-
- Project inspection does not modify project files.
56+
- Commands only execute after an explicit user action.
57+
- Imported commands are never started automatically.
58+
- Project inspection does not modify project source files.
59+
60+
[Unreleased]: https://github.com/JadnK/CodeDeck/compare/v0.2.0...HEAD
61+
[0.2.0]: https://github.com/JadnK/CodeDeck/compare/v0.1.0...v0.2.0
62+
[0.1.0]: https://github.com/JadnK/CodeDeck/releases/tag/v0.1.0

CODE_OF_CONDUCT.md

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
# Code of Conduct
2+
3+
CodeDeck should be a useful and welcoming project for people with different backgrounds and levels of experience.
4+
5+
## Expected behavior
6+
7+
When participating in issues, discussions, pull requests or other project spaces:
8+
9+
- be respectful and constructive
10+
- focus feedback on the code or idea, not the person
11+
- explain technical decisions clearly
12+
- accept that others may have different experience or priorities
13+
- give new contributors enough context to participate
14+
- respect privacy and do not publish personal information
15+
16+
## Unacceptable behavior
17+
18+
The following is not accepted:
19+
20+
- harassment, insults or personal attacks
21+
- discriminatory or sexualized comments
22+
- threats or intimidation
23+
- deliberate disruption of project discussions
24+
- publishing someone else's private information
25+
- repeated bad-faith behavior after being asked to stop
26+
27+
## Reporting a problem
28+
29+
Report conduct problems privately to the repository maintainer through their GitHub profile. Do not open a public issue containing private details.
30+
31+
Include links, screenshots or other relevant context where possible. Reports will be reviewed in context and handled as fairly as possible.
32+
33+
## Enforcement
34+
35+
Project maintainers may edit or remove comments, close discussions, reject contributions or temporarily or permanently restrict participation when behavior harms the project or its contributors.
36+
37+
This code of conduct applies to all official CodeDeck project spaces.

CONTRIBUTING.md

Lines changed: 105 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,107 @@
1-
# Contributing
1+
# Contributing to CodeDeck
22

3-
1. Create a branch named `feature/<short-name>` or `fix/<short-name>`.
4-
2. Run `pnpm build` before opening a pull request.
5-
3. Run `cargo check` in `src-tauri` when changing Rust code.
6-
4. Keep desktop actions explicit and never auto-run imported commands.
7-
5. Update the README or changelog when user-visible behavior changes.
3+
Thanks for taking the time to contribute. CodeDeck is a local desktop application built with Tauri, React, TypeScript and Rust.
84

9-
A feature is complete when errors are handled, empty/loading states exist, local data survives a restart and the affected workflow has been smoke-tested.
5+
## Before you start
6+
7+
- Search the existing issues before opening a new one.
8+
- Open an issue before starting a large feature or architectural change.
9+
- Keep pull requests focused. Unrelated changes should be submitted separately.
10+
- Never include API keys, passwords, private paths, `.env` files or other secrets.
11+
12+
## Local setup
13+
14+
You need:
15+
16+
- Node.js 24
17+
- pnpm 10
18+
- the Rust toolchain
19+
- the platform requirements for Tauri 2
20+
21+
Install dependencies:
22+
23+
```bash
24+
pnpm install --frozen-lockfile
25+
```
26+
27+
Start the desktop app:
28+
29+
```bash
30+
pnpm tauri:dev
31+
```
32+
33+
Build the frontend:
34+
35+
```bash
36+
pnpm build
37+
```
38+
39+
Check the Rust code:
40+
41+
```bash
42+
cargo check --locked --manifest-path src-tauri/Cargo.toml
43+
```
44+
45+
Create a release build:
46+
47+
```bash
48+
pnpm tauri:build
49+
```
50+
51+
## Branches
52+
53+
Use a short, descriptive branch name:
54+
55+
```text
56+
feature/project-import
57+
feature/workspace-actions
58+
fix/windows-terminal-launch
59+
docs/project-guide
60+
refactor/process-runner
61+
```
62+
63+
## Commit messages
64+
65+
Use clear commit messages that describe one logical change:
66+
67+
```text
68+
feat: add custom project templates
69+
fix: prevent terminal window from opening on Windows
70+
docs: explain workspace actions
71+
refactor: separate project detection from storage
72+
chore: update Tauri dependencies
73+
```
74+
75+
## Pull requests
76+
77+
A pull request should include:
78+
79+
- a short explanation of the problem
80+
- a summary of the chosen solution
81+
- testing steps
82+
- screenshots for visible UI changes
83+
- documentation updates when behavior changes
84+
85+
Before opening a pull request, run:
86+
87+
```bash
88+
pnpm build
89+
cargo check --locked --manifest-path src-tauri/Cargo.toml
90+
```
91+
92+
Also perform a short manual check for the affected workflow. For example, a change to project creation should be tested by creating a project, opening it and running one generated command.
93+
94+
## Project rules
95+
96+
CodeDeck interacts with local files and executable commands, so these rules are important:
97+
98+
- Commands must only run after an explicit user action.
99+
- Imported commands must never run automatically.
100+
- Project source files must not be changed without a clear user action.
101+
- Sensitive files such as `.env` must not be displayed or added to logs automatically.
102+
- Errors should explain what failed and how the user can fix it.
103+
- New pages and dialogs should include useful empty and error states.
104+
105+
## Reporting security issues
106+
107+
Do not report security vulnerabilities in a public issue. Follow the instructions in [SECURITY.md](SECURITY.md).

README.md

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -17,22 +17,22 @@
1717

1818
![Code Deck dashboard](docs/screenshots/dashboard.png)
1919

20-
## What Code Deck does
20+
## What CodeDeck does
2121

22-
I made Code Deck because opening a project was usually the same routine: find the folder, open the right IDE, start a terminal and look up the command I used last time.
22+
- Keep local projects in one searchable dashboard
23+
- Open projects in the correct IDE
24+
- Run and stop development commands
25+
- Create projects from built-in or custom templates
26+
- Start complete multi-project workspaces
2327

24-
Code Deck keeps that setup with the project. You can:
28+
The current interface is in German. This README uses the exact German button names where that makes the app easier to find.
2529

26-
- add existing projects or create new ones from a starter
27-
- open a project in its preferred IDE
28-
- open its terminal or folder
29-
- save and run project commands
30-
- see live command output and stop running processes
31-
- view basic Git information such as branch, changed files and the last commit
32-
- group several actions into a workspace
33-
- keep everything local and export the configuration as JSON
30+
## Download
3431

35-
The current interface is in German. This README uses the exact German button names where that makes the app easier to find.
32+
Download the latest version from
33+
[GitHub Releases](../../releases/latest).
34+
35+
__Dont forget giving the Star :)__
3636

3737
## Where everything is
3838

0 commit comments

Comments
 (0)