stk
Welcome to chuck-stack's interactive learning system!
Chuck-stack provides multiple ways to learn:
1. Module Overviews - Quick context for any module
- Type
bpto understand business partners - Type
tagto learn about flexible metadata - Type
eventto discover event tracking
2. Interactive Tutor - Guided hands-on learning
- Type
stk tutor opsfor business operations - Type
stk tutor devfor development patterns - Type
stk listto see all tutorial sections
3. Command Help - Detailed usage information
- Add
--helpto any command for full documentation - Example:
bp new --helpshows all options
Start with stk tutor below to begin your journey!
tutor
Welcome to chuck-stack! This interactive tutor teaches core patterns through hands-on examples.
Choose your learning path:
stk tutor ops- Learn business operations (using chuck-stack)stk tutor dev- Learn development patterns (extending chuck-stack)
ops
Learn to use chuck-stack for business operations.
begin
Chuck-stack organizes data through three key patterns:
- Types define structure (what something IS)
- Tags add capabilities (what something DOES)
- Templates provide starting points
Let's explore with business partners:
- Run
bpto understand the module - Try
stk tutor ops customerto create your first customer
customer
Creating a customer demonstrates all patterns working together.
First, see what business partners offer:
bp
Now create a business partner:
bp new "ACME Corporation"
Make them a customer by adding a tag:
bp list | where name == "ACME Corporation" | tag attach BP_CUSTOMER
Explore what you created:
bp list- See your business partnerstag list- See all tags in the system
Next: stk tutor ops vendor to work with vendors
vendor
Vendors follow the same pattern as customers.
Create a vendor:
bp new "Supply Co"
bp list | where name == "Supply Co" | tag attach BP_VENDOR
Key insight: One business partner can be both customer AND vendor!
Try: bp list | tag list to see tags on your business partners
dev
Learn to extend chuck-stack with new capabilities.
begin
Chuck-stack development follows strict patterns:
- Database First - Logic lives in PostgreSQL
- Enum Drives Code - Enums control behavior
- Types Validate - Types ensure data shape
- Modules Expose - Nushell modules provide commands
Explore: stk tutor dev patterns to understand core patterns
patterns
The enum-type-tag pattern is fundamental:
Enum = Code switches on these values
Type = Validates record_json shape
Tag = Attaches metadata to records
Example from business partners:
- Enum:
ORGANIZATION,INDIVIDUAL(structure) - Type: Ensures correct fields in record_json
- Tag:
BP_CUSTOMER,BP_VENDOR(roles)
The code switches on enum, validates with type, extends with tags.
Next: stk tutor dev module to create your first module
Copyright © 2024-, CHUBOE LLC. All rights reserved.