documint-edm
v1.0.2
Published
Decentralized engineering document management using git-ariadne for Arweave-git integration. Create, track, and manage engineering documents with full workflow control, versioning, and permanent decentralized storage.
Downloads
378
Maintainers
Readme
DocuMint
Decentralized Engineering Document Management powered by Arweave
DocuMint is an open-source engineering document management system that uses git-ariadne for Arweave-git integration, providing permanent, decentralized storage for technical documents with full version control and workflow management.
Features
- Decentralized Storage: Documents are permanently stored on Arweave blockchain
- Git Integration: Uses git-ariadne for familiar git workflows
- Document Workflow: Built-in state machine (draft → review → approved → released)
- Multiple Document Types: Engineering specs, schematics, reports, calculations, standards
- Full-Text Search: Search across all documents and metadata
- Metadata Validation: Schema-based validation for document types
- Revision Control: Track document revisions and supersession
- Web UI: Browser-based interface for document browsing
- Encryption: Private repository support with AES-256-GCM + RSA encryption
Installation
npm installQuick Start
Initialize a Document Repository
cd my-docs
documint init # Initialize DocuMint structure
ariadne init # Initialize Arweave remote (requires wallet)Create Documents
documint create engineering_spec "Valve Specification" --project "Steam Engine"
documint create schematic "Piston Diagram" --project "Steam Engine"Document Workflow
# Advance document state
documint workflow "valve-spec.spec" advance
# Reject and send back to draft
documint workflow "valve-spec.spec" reject
# Check status and history
documint workflow "valve-spec.spec" --statusRevision Management
# Bump revision
documint revision "valve-spec.spec" --bump --note "Updated tolerance"
# Link supersession
documint revision "valve-spec-v2.spec" --supersedes "valve-spec.spec"Search
documint search "tolerance" --project "Steam Engine"
documint search --rebuildPush to Arweave
git add .
git commit -m "Add valve specification"
ariadne push --wallet ./wallet.jsonDocument Types
| Type | Extensions | Description |
|------|------------|-------------|
| engineering_spec | .spec, .eng | Technical specifications |
| schematic | .sch, .dxf, .svg | Diagrams and schematics |
| report | .rpt, .report, .doc | Engineering reports |
| calculation | .calc, .xlsx | Engineering calculations |
| standard | .std, .proc | Standards and procedures |
Metadata Fields
Documents support type-specific metadata:
Engineering Spec:
- project (required)
- discipline (mechanical, electrical, civil, chemical, software)
- revision (R1, R2, ...)
- status (draft, review, approved, released, archived)
Report:
- reportNumber (required)
- classification (public, internal, confidential, proprietary)
- department
- author
Architecture
documint/
├── cli/ # CLI entry point
├── commands/ # Command implementations
├── lib/
│ ├── documents/ # Document management
│ ├── search/ # Search engine
│ ├── metadata/ # Metadata validation
│ └── config/ # Configuration
└── ui/ # Web interfaceDocuMint extends ariadne-cli, reusing:
isomorphic-gitfor git operationsArDrive Turbofor Arweave uploadsAO(HyperBEAM) for indexing
Related Tools
DocuLog - Engineering Logbook
For engineering logbook and PE registration needs, see DocuLog:
- Daily Logbook Entries: Time-ordered entries for professional practice
- Counter-Signature Workflow: Supervisor review and approval chain
- PE Attestation: Professional Engineer registration support
- CPD Tracking: Continuing Professional Development summary
- Professional Seals: PE seal application with content hash verification
cd doculog
npm install
doculog init --name "Jane Engineer" --email "[email protected]"
doculog entry new --date 2024-04-28 --project "Bridge Design"
doculog attest sign <entry-id> --user "Dr. Supervisor"
doculog attest approve <entry-id> --user "Dr. PE" --license "PE-12345" --seal
doculog cpd --summarySee DocuLog for full documentation.
License
GNU Affero General Public License v3.0 (AGPLv3)
You are free to:
- Use this software for any purpose
- Study how it works and adapt it to your needs
- Distribute copies to others
- Modify and create derivative works
Under the condition that:
- Share alike - Any modified or derivative works must be distributed under the same AGPL license terms
- Network use is distribution - Using this software over a network counts as distribution, requiring you to make source code available
For details, see: https://www.gnu.org/licenses/agpl-3.0.html
Links
Install from npm
npm install documint