Stack- and vendor-agnostic software project specification file.
  • Makefile 100%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Damián Búho 3971231ffd
All checks were successful
published / documentation-is-ok (push) Successful in 0s
published / projectfile-is-valid (push) Successful in 6s
published / source-is-compliant (push) Successful in 7s
published / source-is-tested (push) Successful in 0s
published / source-is-secure (push) Successful in 11s
published / projectfile-is-ok (push) Successful in 10s
published / source-passes-lint (push) Successful in 51s
published / source-is-ok (push) Successful in 0s
published / inputs-are-ok (push) Successful in 0s
published / artifacts-are-ok (push) Successful in 0s
published / ready-to-publish (push) Successful in 0s
published / published (push) Successful in 0s
chore: sync cffr
2026-09-13 14:52:41 -03:00
.forgejo/workflows build: fix caches in workflows 2026-09-10 00:41:44 -03:00
.github/workflows build: refresh workflows 2026-09-11 10:51:00 -03:00
.makefile chore(makefile): sync m6e submodules 2026-09-10 00:06:08 -03:00
docs chore(readme): opt-in for ghcr 2026-09-11 11:10:06 -03:00
LICENSES chore: init 2026-08-25 23:56:19 -03:00
spec feat(ci): add tool-level permissions to the CI subtree schema 2026-09-06 13:22:33 -03:00
.claudeignore chore: sorting for claudeignore 2026-09-13 12:49:40 -03:00
.containerignore chore: sorting for containerignore 2026-09-13 12:55:59 -03:00
.dockerignore chore: init 2026-08-25 23:56:19 -03:00
.gitattributes chore: sorting for attributes 2026-09-13 12:43:50 -03:00
.gitignore chore: sorting for gitignore 2026-09-13 12:46:38 -03:00
.gitmodules build: hard .gitmodules before big refactoring of m6e 2026-09-02 18:40:25 -03:00
AGENTS.md chore: init 2026-08-25 23:56:19 -03:00
AI_POLICY.md chore: init 2026-08-25 23:56:19 -03:00
CITATION.cff chore: sync cffr 2026-09-13 14:52:41 -03:00
CLAUDE.md chore: init 2026-08-25 23:56:19 -03:00
CODE_OF_CONDUCT.md chore: init 2026-08-25 23:56:19 -03:00
CODEOWNERS chore: init 2026-08-25 23:56:19 -03:00
CONTRIBUTING.md chore: init 2026-08-25 23:56:19 -03:00
lefthook.yaml chore: rename ci-resolver to pf-ci 2026-08-29 22:24:57 -03:00
LICENSE chore: init 2026-08-25 23:56:19 -03:00
LICENSE-CC-BY-4.0 chore: init 2026-08-25 23:56:19 -03:00
LICENSE-MIT chore: init 2026-08-25 23:56:19 -03:00
Makefile chore: init 2026-08-25 23:56:19 -03:00
projectfile.yaml chore: sync versions 2026-09-13 14:48:46 -03:00
README.md chore(readme): opt-in for ghcr 2026-09-11 11:10:06 -03:00
SECURITY.md chore: init 2026-08-25 23:56:19 -03:00
SUPPORT.md chore: init 2026-08-25 23:56:19 -03:00

Español · Українська

The Projectfile Specification

Stack- and vendor-agnostic software project specification file.

Stand with Ukraine Projectfile inside ![License](https://badges.kiota.ch/static/v1?label=license&message=MIT OR CC-BY-4.0&color=1e5913&style=flat-square) Commit style Workflow Versioning PRs welcome Citation REUSE compliance

Project status Last commit on kiota.ch

Publish pipeline on kiota.ch Vulnerability audit on kiota.ch Dependency freshness on kiota.ch Analysis sweep on kiota.ch

Why this exists

I hate multitude of files in the roots of my projects, so I decided to add another one to rule them all.

What it does

Projectfile specification describes "projectfile", simple hierarchical file "about project". Can be YAML, TOML or JSON. There is a CLI tool that hides formats from you, reads and writes keys and supports includes, interpolation and other interesting stuff.

Good fit

  • You want to have a single source of truth for your tooling
  • You like the idea of deterministic generation of 10+ various things from one thing
  • You have fleet of projects with complex stacks
  • You have more than one developer workflow
  • You use CI/CD
  • You have OCD

Building

Run make with no arguments for the default target; run make help to list every target.

Pipeline entry points:

  • make analyze — Run the heavy analysis sweep (mutation testing, benchmarks)
  • make audited — Re-scan the pinned dependencies and published artifacts for new vulnerabilities
  • make check-outdated — Report every pinned dependency that lags upstream
  • make ready-to-publish — Run the pseudo-CI pipeline locally — build, test and scan, without publishing

Whats next

  • bullying people to force them to abandon separate config files for their developement tools

Policies

License

This project is licensed under MIT OR CC-BY-4.0 — see the LICENSE file for details.