version: 1.0
# Project-specific rules
rules:
# Python code style
python:
max_line_length: 100
indent_size: 4
docstring_style: google
type_hints: required
imports:
standard_lib_first: true
group_by_type: true
# Documentation rules
docs:
format: markdown
require_front_matter: false
glossary_reference: docs/Glossary.md
# File naming conventions
naming:
python_files: snake_case
doc_files: Title_Case
test_files: test_*.py
# Project structure
structure:
docs:
- Product_Requirements_Document.md
- App_Flow_Document.md
- Data_Model_Design_Document.md
- Progress.md
- Glossary.md
data:
- "*.json"
output:
- "uco-*.json"
tests:
- "test_*.py"
# Content validation
validation:
python:
- check_type_hints
- verify_docstrings
- validate_imports
json:
- validate_json_schema
- check_json_ld_context
# UCO/CASE compliance validation
uco:
version: "1.3.0"
namespaces:
- "https://ontology.unifiedcyberontology.org/uco/core/"
- "https://ontology.unifiedcyberontology.org/uco/observable/"
- "https://ontology.unifiedcyberontology.org/uco/types/"
- "https://ontology.unifiedcyberontology.org/uco/tool/"
- "https://ontology.unifiedcyberontology.org/uco/vocabulary/"
- "https://ontology.unifiedcyberontology.org/uco/identity/"
required_properties:
- "core:objectCreatedTime"
- "core:specVersion"
- "core:hasFacet"
- "observable:categories"
- "observable:hash"
- "observable:fileName"
- "observable:filePath"
- "observable:sizeInBytes"
relationships:
- "core:createdBy"
- "core:derivedFrom"
- "core:managedBy"
- "core:isDirectional"
# Documentation compliance
documentation:
ontology_references:
base_url: "https://ontology.unifiedcyberontology.org/uco/"
required_sections:
- "Namespaces"
- "Property Mappings"
- "Relationship Types"
glossary:
required_terms:
- "UCO"
- "Bundle"
- "Facet"
- "Provenance"
- "CASE"
term_format:
- "Definition"
- "Reference"
- "Example"
# File associations
file_types:
.py: python
.md: markdown
.json:
format: json-ld
context:
- "https://ontology.unifiedcyberontology.org/uco/core/"
- "https://ontology.unifiedcyberontology.org/uco/observable/"
- "https://ontology.unifiedcyberontology.org/uco/types/"
- "https://ontology.unifiedcyberontology.org/uco/vocabulary/"
- "https://ontology.unifiedcyberontology.org/uco/identity/"
# Paired files
paired_files:
nsrl_to_uco.py:
- test_nsrl_to_uco.py
- docs/App_Flow_Document.md
- docs/Data_Model_Design_Document.md
# Documentation rules
doc_rules:
ontology_compliance:
check_namespaces: true
validate_properties: true
verify_relationships: true
cross_references:
require_glossary_links: true
validate_urls: true
version_tracking:
uco_version: "1.3.0"
track_compatibility: true
# Required headers
headers:
python:
required:
- copyright
- license
- author
- version
- uco_version
- ontology_compliance
# Ignore patterns
ignore:
# Python
- "*.pyc"
- "__pycache__"
- "*.pyo"
- "*.pyd"
- ".Python"
- "*.so"
# Virtual Environment
- "venv"
- "env"
- ".env"
- ".venv"
# IDE
- ".idea/"
- ".vscode/"
- "*.swp"
- "*.swo"
# Git
- ".git"
- ".gitignore"
# Logs and databases
- "*.log"
- "*.sqlite"
# Build and distribution
- "build/"
- "dist/"
- "*.egg-info/"
# Testing
- ".coverage"
- "htmlcov/"
- ".pytest_cache/"
- ".mypy_cache/"
# Custom commands
commands:
validate_all: "python -m pytest tests/"
check_types: "mypy ."
format_code: "black ."
validate_uco: "case_validate"
bun
golang
python
sqlite
First Time Repository
Converter program to change NIST's NSRL CAID ODATA to Unified Cyber Ontology json
Python
Languages:
Python: 23.6KB
Created: 1/4/2025
Updated: 1/7/2025
All Repositories (1)
Converter program to change NIST's NSRL CAID ODATA to Unified Cyber Ontology json