github / github/spec-kit

[Preset]: Add NIEM Information Exchanges

Abierto
#4,587 0 comentarios 0 reacciones 0 asignados Ver en GitHub
enhancement needs-triage triage-nice-to-have
Lenguaje dominante
Python
Estrellas
137k
Forks
12.3k
Merge medio
2 d 12 h
PR fusionados (30 d)
159

Descripción

### Preset ID

niem

### Preset Name

NIEM Information Exchanges

### Version

1.0.1

### Description

Adds evidence-based NIEM exchange modeling to the core, assess, and bugfix processes while preserving their commands, artifacts, and scope.

### Author

mnriem

### Repository URL

https://github.com/mnriem/spec-kit-presets

### Download URL

https://github.com/mnriem/spec-kit-presets/releases/download/niem-v1.0.1/niem.zip

### Documentation URL

https://github.com/mnriem/spec-kit-presets/blob/main/niem/README.md

### License

MIT

### Required Spec Kit Version

>=1.0.4

### Required Extensions (optional)

assess, bug

### Templates Provided

- `spec-template.md` - appends business-level exchange requirements and interoperability acceptance.
- `plan-template.md` - appends NIEM baselines, mapping decisions, message contracts, and an evidence plan.
- `tasks-template.md` - appends requirement-to-mapping-to-task coverage.
- `checklist-template.md` - appends NIEM requirements-quality review topics, not implementation certification.
- `constitution-template.md` - appends semantic ownership, verified reuse, compatibility, and evidence principles.
- `niem-guidance.md` - shared reference for source verification, modeling decisions, scope, and conformance limits.
- `niem-mapping-template.md` - component mapping records for the existing data-model artifact.

### Commands Provided

All 18 use `wrap` composition around their existing core or extension commands:

- `speckit.constitution` - NIEM governance through the existing amendment process.
- `speckit.specify` - business exchange requirements without premature schema design.
- `speckit.clarify` - exchange semantics and acceptance within the existing question budget.
- `speckit.plan` - verified reuse, local extensions, message formats, and evidence planning.
- `speckit.tasks` - traceable, story-based exchange work.
- `speckit.analyze` - read-only cross-artifact consistency review.
- `speckit.checklist` - requirements-quality review without certifying implementation.
- `speckit.implement` - approved mappings and actual validation evidence.
- `speckit.converge` - append-only follow-up tasks for gaps in approved intent.
- `speckit.taskstoissues` - mapping references, task identity, and evidence needs in issue handoffs.
- `speckit.assess.intake` - capture an exchange idea without presupposing NIEM adoption.
- `speckit.assess.research` - investigate fit, authoritative evidence, and counter-evidence.
- `speckit.assess.define` - define the interoperability problem independently of the solution.
- `speckit.assess.shape` - compare bounded NIEM and non-NIEM approaches.
- `speckit.assess.decide` - evidence-qualified go, clarification, or kill decisions.
- `speckit.bug.assess` - investigate exchange defects without changing source or upgrading NIEM.
- `speckit.bug.fix` - surgical fixes preserving established compatibility.
- `speckit.bug.test` - rerun the original reproduction and report actual validation coverage.

### Number of Scripts (optional)

0

### Tags

niem, interoperability, data-modeling, assess, bugfix

### Key Features

- Adds NIEM guidance to existing processes without introducing a new runtime, extension, or bundle.
- Uses a NIEM 6.0 reference baseline while preserving explicitly selected legacy versions and compatibility obligations.
- Distinguishes verified component reuse, proposed local extensions, and unverified candidates using source provenance and namespace identities.
- Preserves command phase boundaries, artifact paths, read-only reviews, and human approval gates.
- Separates requirements quality, model/NDR conformance, schema validity, message validity, and interoperability evidence. This is an experimental independent preset, not an official NIEMOpen product or a conformance certification.
- Includes the MIT license in the preset directory and at the root of the release ZIP; development tests are excluded from the ZIP.

### Testing Checklist

- [x] Preset installs successfully via `specify preset add`
- [x] Template resolution works correctly after installation
- [x] Documentation is complete and accurate
- [x] Tested on at least one real project

Version 1.0.1 was installed from the exact published Download URL into a fresh initialized Copilot skills project using Spec Kit 1.0.4, with the bundled `assess` and `bug` extensions. All 18 effective skills, full composed specification-template output, installed version, and MIT license were checked. A runnable local resource-exchange project passed 20 regression tests covering conversion, round trips, boundaries, and invalid inputs. These are local working-project checks, not production deployments or formal model/NDR/schema validation.

The preset's 11 integration tests also passed, covering manifest/catalog/README consistency, composition, command and skills installation/removal, stacking, missing extension bases, real CLI initialization with Python and Bash helpers, and release archive/license checks:

```bash
python -m unittest discover -s niem/tests -p 'test_niem_preset.py'
```

The published ZIP was checked against the exact merged source for its manifest, README, MIT license, and all 25 declared command/template files.

### Submission Requirements

- [x] Valid `preset.yml` manifest included
- [x] Linked README (Documentation URL) explains how to use this preset and includes a valid `specify preset add ...` command (preferably `specify preset add --from ` using the exact download URL)
- [x] LICENSE file included
- [x] GitHub release created with version tag
- [x] Preset ID follows naming conventions (lowercase-with-hyphens)

Guía de contribución

Abrir la guía de contribución

Línea de trabajo

Start with the linked NIEM README, preset.yml, and the published download URL, then run python -m unittest discover -s niem/tests -p 'test_niem_preset.py'. Compare the preset's declared commands and templates with the repository's preset expectations, and verify installation, composition, licensing, and archive consistency are preserved.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
python
Área
developer-experience, tooling
Tipo de issue
Nueva funcionalidad
Dificultad
3/5
Tiempo estimado
1-2 días
Estado de actividad
Activo
Claridad
Bastante claro
Aptitud para principiantes
52/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.