https://github.com/italia/publiccode-editor
A web editor to create and edit publiccode.yml files
https://github.com/italia/publiccode-editor
government hacktoberfest publiccode website
Last synced: 2 months ago
JSON representation
A web editor to create and edit publiccode.yml files
- Host: GitHub
- URL: https://github.com/italia/publiccode-editor
- Owner: italia
- License: agpl-3.0
- Created: 2019-01-17T11:44:07.000Z (over 7 years ago)
- Default Branch: main
- Last Pushed: 2026-03-24T15:21:36.000Z (3 months ago)
- Last Synced: 2026-03-25T19:53:45.662Z (3 months ago)
- Topics: government, hacktoberfest, publiccode, website
- Language: TypeScript
- Homepage: https://publiccode-editor.developers.italia.it
- Size: 68.8 MB
- Stars: 30
- Watchers: 10
- Forks: 29
- Open Issues: 27
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Authors: AUTHORS.md
- Publiccode: publiccode.yml
Awesome Lists containing this project
README
# publiccode yml Editor
   [](https://developersitalia.slack.com/messages/CAM3F785T)
[](https://slack.developers.italia.it/)
> A web editor to generate and validate `publiccode.yml` files
---
## Description
This app helps you create and validate a [`publiccode.yml`](https://github.com/publiccodeyml/publiccode.yml) file for your project.
Simply fill out the form to generate a YAML file that meets the latest standards,
which you can then download or copy to your project's root directory.
You can also use the app to check and correct an existing `publiccode.yml` file.
Just upload the file to import it, and the app will validate and help fix any issues.
### Setup
#### Manual
First clone the repository:
```console
git clone https://github.com/italia/publiccode-editor.git
```
Navigate to the created directory, and run:
```console
npm ci
npm run build:licenses
npm run build:wasm
```
In order to run the development server locally, you should run:
```console
npm run dev
```
This will expose a webserver listening at [`http://localhost:8080`](http://localhost:8080).
#### Devcontainer
In order to develop in a container, you have to match the following criteria:
- VSCode installed
- Docker installed and running
- VSCode Devcontainer extension installed ([doc](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers))
You can clone the repo, run VSCode in that folder and run in a container.
Otherwise, you could simply click on following button.
[](https://vscode.dev/redirect?url=vscode://ms-vscode-remote.remote-containers/cloneInVolume?url=https://github.com/italia/publiccode-editor)
This repo will be cloned in a Container Volume.
For more details, check Devcontainer documentation out at the following links
- [Specs](https://containers.dev/)
- [VSCode Devcontainer](https://code.visualstudio.com/docs/devcontainers/containers)
Every configuration process, such as dependency installation or wasm configuration, is handled by Devcontainer.
In order to run the development server, you should run:
```console
npm run dev
```
#### Static deploy
The editor is fully static and can be build with:
```console
npm run build
```
and then serve the content of `dist/` in production.
#### Docker
By running:
```console
docker build -t publiccode-editor .
```
you can build a Docker image. Subsequently, by running:
```console
docker run -p 8080:80 publiccode-editor
```
you can run the Docker container and see the results at [`http://localhost:8080`](http://localhost:8080).
## Localization
To access the web-app in a specific language use the `lang` param like this: `https://publiccode-editor-develop.vercel.app/?lang=en`.
The languages that can be picked are:
- "it" 🇮🇹
- "en" 🇬🇧
- "fr" 🇫🇷
- "de" 🇩🇪
- "nl" 🇳🇱
## Contributing
We welcome contributions!
If you encounter any issues with the app, please file an issue on GitHub.
For guidance on how to contribute effectively, check the [`CONTRIBUTING.md`](CONTRIBUTING.md) file in the root of the repository.
## License
This project is covered by a [GNU Affero General Public License v3.0 or later](LICENSE.md) license.