Verktygskedja för publiccode.yml - standarden för att beskriva öppen källkod i offentlig sektor.
publiccode.yml är en metadatastandard för mjukvarurepositorier i offentlig sektor. Filen placeras i rotmappen på ett Git-repo och gör mjukvaran maskinläsbar och sökbar.
SamhällsKodex bedömer hur väl förberedd en publiccode.yml är för DIS (Dynamiskt Inköpssystem för digitala tjänster). Poängen (0-100) baseras på:
| Kategori | Max | Beskrivning |
|---|---|---|
| Obligatoriska fält | 40p | name, url, license, categories, etc. |
| Dokumentation | 20p | longDescription, screenshots, features |
| Lokalisering | 15p | Svenska beskrivningar |
| Underhåll | 15p | maintenance.type, contacts |
| DIS-specifikt | 10p | DIS Fas 1-kategorier |
| Paket | Beskrivning | npm |
|---|---|---|
| @samhallskodex/core | Kärnbibliotek för validering och scoring | |
| @samhallskodex/cli | CLI-verktyg (pcode) |
|
| @samhallskodex/action | GitHub Action | - |
| @samhallskodex/web | Webbredaktören (privat) | - |
# Installera globalt
npm install -g @samhallskodex/cli
# Skapa en ny publiccode.yml
pcode init
# Validera
pcode validate
# Beräkna SamhällsKodex Score
pcode score --detailed
# Kolla ett GitHub-repo
pcode check Cetriq/samhallskodex# .github/workflows/publiccode.yml
name: Validate publiccode.yml
on:
push:
paths: ['publiccode.yml']
pull_request:
paths: ['publiccode.yml']
jobs:
validate:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: Cetriq/samhallskodex@v1
with:
min-score: 60import { validate, scoreYaml } from '@samhallskodex/core';
import fs from 'fs';
const yaml = fs.readFileSync('publiccode.yml', 'utf-8');
// Validera
const result = validate(yaml, { lang: 'sv' });
console.log(result.valid); // true/false
console.log(result.errors); // []
console.log(result.warnings); // []
// Beräkna poäng
const score = scoreYaml(yaml, { lang: 'sv' });
console.log(score.total); // 0-100
console.log(score.breakdown); // { requiredFields, documentation, ... }
console.log(score.suggestions); // [ { message, potentialPoints } ]# Klona
git clone https://github.com/Cetriq/samhallskodex.git
cd samhallskodex
# Installera dependencies
pnpm install
# Bygg alla paket
pnpm build
# Kör tester
pnpm test
# Starta webbutvecklingsserver
pnpm --filter @samhallskodex/web devDessa 9 kategorier är prioriterade i DIS-initiativet:
CASE_MANAGEMENT- ÄrendehanteringCIVIC_ENGAGEMENT- MedborgarengagemangDATA_ANALYTICS- DataanalysDOCUMENT_MANAGEMENT- DokumenthanteringIDENTITY_MANAGEMENT- IdentitetshanteringLOCAL_GOVERNMENT- Kommunal förvaltningPUBLIC_PARTICIPATION- MedborgardeltagandeREPORTING_ISSUES- FelanmälanWORKFLOW_MANAGEMENT- Arbetsflöden
Apache-2.0
Pull requests välkomna! Se CONTRIBUTING.md för riktlinjer.
Byggt med kärlek för svensk offentlig sektor.