Modern framework for building investigation invoker scripts with APT-like package management
Project description
Sierra Dev - Modern Invoker Framework ๐
Sierra Dev is a modern, production-grade package manager and development framework for creating and managing investigation invoker scripts for the Sierra platform.
โจ Key Features
- ๐ฆ APT-Like Package Manager - Install invokers from GitHub repositories
- ๐ Type Safety Validation - Automatic AST-based type checking
- โ Comprehensive Validation - YAML safety, parameter validation, health checks
- ๐จ Rich CLI - 14 intuitive commands with emoji output
- ๐ Auto-Updates - Keep your invokers up-to-date
- ๐ Built-in Documentation - Self-documenting invoker scripts
๐ Quick Start
Installation
# Clone the repository
git clone https://github.com/xsyncio/sierra-dev
cd sierra-dev
# Create virtual environment
python -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
# Install Sierra Dev
pip install -e .
Usage
# Add a package repository
sierra-dev repo add https://github.com/xsyncio/sierra-invokers
# Search for packages
sierra-dev search osint
# Install a package
sierra-dev install digital-footprint
# Build your environment
sierra-dev build --env test_env
๐ฆ Package Manager
Sierra Dev provides an APT-like package management system:
Repository Management
sierra-dev repo add <url> # Add repository
sierra-dev repo list # List sources
sierra-dev repo update # Update registries
sierra-dev repo remove <name> # Remove source
Package Operations
sierra-dev search <query> # Find packages
sierra-dev install <pkg> # Install package
sierra-dev update --all # Update all
sierra-dev remove <pkg> # Uninstall
sierra-dev list --installed # List installed
Development
sierra-dev build # Compile invokers
sierra-dev check # Run validation
sierra-dev health # Environment status
๐๏ธ Project Structure
sierra-dev/
โโโ sierra/ # Main package
โ โโโ package_manager/ # Package management
โ โโโ core/ # Build & compile
โ โโโ internal/ # Utilities
โ โโโ cli.py # CLI interface
โโโ docs/ # Documentation
โโโ test_env/ # Example env
โโโ mkdocs.yml # Docs config
๐ Documentation
- Quick Start Guide - Get started in 5 minutes
- Package Manager - Learn the package system
- CLI Commands - Complete command reference
- API Reference - Python API documentation
๐ฏ Features
Type Safety Enforcement
Automatic validation ensures all invokers have proper type annotations:
# โ
Valid - Will pass validation
def analyze_target(domain: str, check_breach: bool = False) -> dict:
"""Analyze a target domain."""
return {"domain": domain, "found": True}
# โ Invalid - Will fail validation
def analyze_target(domain, check_breach=False): # Missing type annotations
return {"domain": domain}
Rich Result Types
Built-in support for complex data visualization:
from sierra import Table, Timeline, Chart, Tree, respond
# Output rich results
respond(Table(
headers=["IP", "Port", "Service"],
rows=[["192.168.1.1", "80", "HTTP"]]
))
Comprehensive Validation
- YAML safety checks
- Parameter validation
- Type annotation enforcement
- Health diagnostics
๐ ๏ธ Development
1. Initialize Project
sierra-dev init my_project
cd my_project
2. Create an Invoker
import sierra
invoker = sierra.InvokerScript(
name="my_tool",
description="Analyze a target"
)
@invoker.entry_point
def run(target: str) -> None:
"""Analyze a target."""
result = {"target": target, "status": "analyzed"}
sierra.respond(result)
Building
# Validate your invokers
sierra-dev check --env test_env
# Build with verbose output
sierra-dev build --env test_env -v
# Check health
sierra-dev health --env test_env
๐ Statistics
- 14 CLI Commands - Comprehensive package management
- 6 Package Manager Modules - Full-featured package system
- Type Safety Validation - AST-based automatic checking
- GitHub Integration - Use existing infrastructure
๐ค Contributing
Contributions are welcome! Please see our Contributing Guide.
Development Setup
# Clone repository
git clone https://github.com/xsyncio/sierra-dev
cd sierra-dev
# Install in development mode
pip install -e ".[dev]"
# Run tests
pytest
# Build documentation
mkdocs serve
๐ License
This project is licensed under the MIT License - see the LICENSE file for details.
๐ Links
- Documentation: https://xsyncio.github.io/sierra-dev/
- Repository: https://github.com/xsyncio/sierra-dev
- Issue Tracker: https://github.com/xsyncio/sierra-dev/issues
- Discussions: https://github.com/xsyncio/sierra-dev/discussions
Sierra Dev - Modern investigation tooling made simple.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file sierra_dev-2.0.0.tar.gz.
File metadata
- Download URL: sierra_dev-2.0.0.tar.gz
- Upload date:
- Size: 69.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0a7d0bf4732fad726a74ffc7c4229dd2a8cabadbd076bc2c7c2db175ba1acb7c
|
|
| MD5 |
066bed2f61f56231e6428aff510ce232
|
|
| BLAKE2b-256 |
f4e8d4c340b2233874312c85c6a9b82068bb73e381635f0efebcb86d3e915588
|
Provenance
The following attestation bundles were made for sierra_dev-2.0.0.tar.gz:
Publisher:
python-publish.yml on xsyncio/sierra-dev
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
sierra_dev-2.0.0.tar.gz -
Subject digest:
0a7d0bf4732fad726a74ffc7c4229dd2a8cabadbd076bc2c7c2db175ba1acb7c - Sigstore transparency entry: 727434456
- Sigstore integration time:
-
Permalink:
xsyncio/sierra-dev@11117ff9aa9777991f5bac1903cc14b128e68da2 -
Branch / Tag:
refs/tags/2.0 - Owner: https://github.com/xsyncio
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@11117ff9aa9777991f5bac1903cc14b128e68da2 -
Trigger Event:
release
-
Statement type:
File details
Details for the file sierra_dev-2.0.0-py3-none-any.whl.
File metadata
- Download URL: sierra_dev-2.0.0-py3-none-any.whl
- Upload date:
- Size: 75.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
168550c9485b298f235bbe64a9033511a1c807f8da6e88f54b9af77e08d39f64
|
|
| MD5 |
46c3798c04542d2bad6d717176a92824
|
|
| BLAKE2b-256 |
6b38a1509669bc3541753b3466967730ef46062d6fd35690aff8d0b88575ecae
|
Provenance
The following attestation bundles were made for sierra_dev-2.0.0-py3-none-any.whl:
Publisher:
python-publish.yml on xsyncio/sierra-dev
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
sierra_dev-2.0.0-py3-none-any.whl -
Subject digest:
168550c9485b298f235bbe64a9033511a1c807f8da6e88f54b9af77e08d39f64 - Sigstore transparency entry: 727434467
- Sigstore integration time:
-
Permalink:
xsyncio/sierra-dev@11117ff9aa9777991f5bac1903cc14b128e68da2 -
Branch / Tag:
refs/tags/2.0 - Owner: https://github.com/xsyncio
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@11117ff9aa9777991f5bac1903cc14b128e68da2 -
Trigger Event:
release
-
Statement type: