[Preset]: Add NIEM Information Exchanges
- Dominant language
- Python
- Stars
- 137k
- Forks
- 12.3k
- Avg merge
- 2d 7h
- Merged PRs (30d)
- 155
Description
### 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)
Contributor guide
Research direction
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.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- developer-experience, tooling
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 52/100