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
4 changes: 4 additions & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -21,3 +21,7 @@
# Root config and scripts
/package.json @zeidalidiez
/tsconfig*.json @zeidalidiez
/LICENSE @zeidalidiez
/COPYING @zeidalidiez
/DCO @zeidalidiez
/CONTRIBUTING.md @zeidalidiez
14 changes: 14 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
## Summary

<!-- What changed and why? -->

## Testing

- [ ] `npm test`
- [ ] `npm run typecheck`
- [ ] `npm run build:web` (if web/build files changed)

## License and DCO

- [ ] I agree that this contribution is licensed under GPL-3.0-or-later, the same license as this project.
- [ ] Every commit in this pull request includes a DCO sign-off (`Signed-off-by:`). Use `git commit -s`, or run `git rebase --signoff` to fix existing commits.
39 changes: 39 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
name: CI

on:
pull_request:
branches: [main]
push:
branches: [main]

concurrency:
group: ci-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

permissions:
contents: read

jobs:
verify:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2

- name: Setup Node
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4
with:
node-version: 20
cache: npm

- name: Install dependencies
run: npm ci

- name: Unit tests
run: npm test

- name: Typecheck
run: npm run typecheck

- name: Build web app
run: npm run build:web
10 changes: 10 additions & 0 deletions .gitmessage
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# <subject> (max 72 chars)
#
# <optional body>
#
# Every commit must include a DCO sign-off for the DCO GitHub App.
# Use: git commit -s
# Or add manually:
# Signed-off-by: Your Name <your.email@example.com>
#
# See CONTRIBUTING.md and DCO for details.
88 changes: 88 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
# Contributing to Grillo Project Hub

Thank you for helping improve Grillo Project Hub.

## License

By contributing to this repository, you agree that your contributions will be
licensed under the same terms as the project: **GNU General Public License
v3.0 or later (GPL-3.0-or-later)**.

See [LICENSE](LICENSE) for the full license text and [COPYING](COPYING) for the
standard short copyright notice.

## Developer Certificate of Origin (DCO)

This project uses the [Developer Certificate of Origin 1.1](DCO). The
[DCO GitHub App](https://github.com/apps/dco) checks that every commit in a
pull request includes a sign-off line.

Add a sign-off to each commit:

```bash
git commit -s -m "Your commit message"
```

That appends a line like:

```text
Signed-off-by: Your Name <your.email@example.com>
```

Use the same name and email as your Git author identity (`git config user.name`
and `git config user.email`).

### Fixing commits that are missing a sign-off

If DCO fails on an open pull request, amend or rebase your branch so every
commit is signed off:

```bash
# last commit only
git commit --amend -s --no-edit

# every commit on the branch (replace N with commit count)
git rebase HEAD~N --signoff
git push --force-with-lease
```

## How to contribute

1. Fork the repository and create a feature branch from `main`.
2. Enable the local commit template so Git reminds you to sign off:

```bash
git config commit.template .gitmessage
```

3. Make your changes with tests where behavior changes.
4. Commit with `git commit -s` so the DCO check passes.
5. Run the local checks before opening a pull request:

```bash
npm install
npm test
npm run typecheck
npm run build:web
```

6. Open a pull request against `main` with a clear summary and test notes.
7. Wait for CI and required checks (including DCO) to pass before merging.

Direct pushes to `main` are discouraged; use pull requests so CI and review
can run first.
Comment thread
greptile-apps[bot] marked this conversation as resolved.

## Source file notices

New source files should include the short GPL header from [COPYING](COPYING)
or this minimal form at the top of the file:

```text
// Grillo Project Hub — Copyright (C) 2026 ZDOSS
// SPDX-License-Identifier: GPL-3.0-or-later
```

## Questions

Open a GitHub issue for bugs, feature requests, or licensing questions before
starting large changes.
18 changes: 18 additions & 0 deletions COPYING
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
Grillo Project Hub
Copyright (C) 2026 ZDOSS

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.

The full text of GPLv3 is also available in the LICENSE file at the
repository root.
34 changes: 34 additions & 0 deletions DCO
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
Developer Certificate of Origin
Version 1.1

Copyright (C) 2004, 2006 The Linux Foundation and its contributors.

Everyone is permitted to copy and distribute verbatim copies of this
license document, but changing it is not allowed.


Developer's Certificate of Origin 1.1

By making a contribution to this project, I certify that:

(a) The contribution was created in whole or in part by me and I
have the right to submit it under the open source license
indicated in the file; or

(b) The contribution is based upon previous work that, to the best
of my knowledge, is covered under an appropriate open source
license and I have the right under that license to submit that
work with modifications, whether created in whole or in part
by me, under the same open source license (unless I am
permitted to submit under a different license), as indicated
in the file; or

(c) The contribution was provided directly to me by some other
person who certified (a), (b) or (c) and I have not modified
it.

(d) I understand and agree that this project and the contribution
are public and that a record of the contribution (including all
personal information I submit with it, including my sign-off) is
maintained indefinitely and may be redistributed consistent with
this project or the open source license(s) involved.
14 changes: 13 additions & 1 deletion Readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -93,4 +93,16 @@ Run them all with `npm test` (unit) and `npm run test:e2e` (browser).

## License

See `LICENSE` in the repository root.
Copyright (C) 2026 ZDOSS

Grillo Project Hub is free software: you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the Free
Software Foundation, either version 3 of the License, or (at your option) any
later version.

- Full license text: [LICENSE](LICENSE)
- Short notice: [COPYING](COPYING)
- How to contribute under GPL: [CONTRIBUTING.md](CONTRIBUTING.md)
- Contributor sign-off policy: [DCO](DCO) (use `git commit -s`)

SPDX identifier: `GPL-3.0-or-later`
1 change: 1 addition & 0 deletions apps/desktop/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
"name": "@gph/desktop",
"version": "0.1.0",
"private": true,
"license": "GPL-3.0-or-later",
"type": "module",
"scripts": {
"dev": "vite",
Expand Down
6 changes: 6 additions & 0 deletions apps/desktop/src/main.tsx
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
/**
* Grillo Project Hub — desktop shell
* Copyright (C) 2026 ZDOSS
* SPDX-License-Identifier: GPL-3.0-or-later
*/

import { StrictMode } from "react";
import { createRoot } from "react-dom/client";
import { BrowserRouter, Route, Routes } from "react-router-dom";
Expand Down
1 change: 1 addition & 0 deletions apps/web/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
"name": "@gph/web",
"version": "0.1.0",
"private": true,
"license": "GPL-3.0-or-later",
"type": "module",
"scripts": {
"dev": "vite",
Expand Down
6 changes: 6 additions & 0 deletions apps/web/src/main.tsx
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
/**
* Grillo Project Hub — web/PWA shell
* Copyright (C) 2026 ZDOSS
* SPDX-License-Identifier: GPL-3.0-or-later
*/

import { StrictMode } from "react";
import { createRoot } from "react-dom/client";
import { BrowserRouter, Route, Routes } from "react-router-dom";
Expand Down
1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
"name": "grillo-project-hub",
"version": "0.1.0",
"private": true,
"license": "GPL-3.0-or-later",
"description": "Grillo Project Hub - a free, open source, hybrid project management suite",
"workspaces": [
"packages/*",
Expand Down
1 change: 1 addition & 0 deletions packages/core/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
"name": "@gph/core",
"version": "0.1.0",
"private": true,
"license": "GPL-3.0-or-later",
"type": "module",
"main": "./src/index.ts",
"types": "./src/index.ts",
Expand Down
6 changes: 6 additions & 0 deletions packages/core/src/index.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
/**
* Grillo Project Hub — @gph/core
* Copyright (C) 2026 ZDOSS
* SPDX-License-Identifier: GPL-3.0-or-later
*/

export * from "./domain/index";
export * from "./storage/index";
export * from "./export/index";
Expand Down
1 change: 1 addition & 0 deletions packages/ui/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
"name": "@gph/ui",
"version": "0.1.0",
"private": true,
"license": "GPL-3.0-or-later",
"type": "module",
"main": "./src/index.ts",
"types": "./src/index.ts",
Expand Down
6 changes: 6 additions & 0 deletions packages/ui/src/index.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
/**
* Grillo Project Hub — @gph/ui
* Copyright (C) 2026 ZDOSS
* SPDX-License-Identifier: GPL-3.0-or-later
*/

import "./theme/global.css";

export * from "./theme";
Expand Down
Loading