cps-org / cps-org/cps

Use a tools section, rather than X-tool

Open
#5 29 comments 2 reactions 0 assignees View on GitHub
need discussion scheduled
Dominant language
Python
Stars
191
Forks
14
PR merge metrics
No merged PRs in 30d

Description

This is a case where I think that python with it's pyproject.toml made a really good choice, it specified that there would be a "tools" section, like so:
```toml
[tools]
[tools.pylint]
foo = ['a', 'b']

[tools.black]
```

I think this would be a better approach for CPS than the X- fields, there specification could look like, the tools key is an object, containing key: object mappings where the key is the name of the tool, and the object may contain any tool specific data, in the form the tool likes.

This allows the spec to say "no extra keys", for the schema to enforce "no extra keys" and we don't have to worry about collisions in the future if a new key is added and someone has ignored the guidance of using X-tool

Contributor guide

No contributing guide indexed for this repository

Research direction

The issue compares CPS's current X-tool fields with Python's pyproject.toml [tools] pattern. Start by reviewing the current CPS specification and schema definitions, then read the comment thread for an agreed shape. Done means the specification and schema consistently define the proposed tools object without unintended extra-key or collision behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
tooling
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.