Skip to content

ctx-core/dev

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7,273 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ctx-core

A composable monorepo web-service/front-end toolkit that emphasizes:

  • starter apps & quick prototyping with a scalable architecture
  • {up,down}-scalable complexity
  • functional-dominant hybrid style of programming
  • data flow
  • simple & composable interfaces
  • reuse across projects
  • anti-fragile development

Install

NPM packages

The simplest way to use @ctx-core packages is to simply use npm to install them.

Forking ctx-core

If you want to fork ctx-core for your own usage:

  • fork this repository
  • pnpm install to set up the workspace
  • uses pnpm workspaces for package management
  • uses changesets for versioning

Usage

Install individual packages:

pnpm add @ctx-core/<package-name>

Or fork the monorepo and use pnpm install to bootstrap all packages.

Please send pull requests.

Technologies

Techniques

Explicit Domain Driven Design

"The Map is not the territory"

—Alfred Korzybski

"All non-trivial abstractions, to some degree, are leaky"

—Joel Spolsky

I view software as a creative model of Existence. Software, in emulating other entities in Existence, also exists as entities.

Language, using a schema, provides a system of abstraction enabling one to model something. Language is context sensitive & composable. With the Language tool, we craft systems of illusion, intelligence, & life.

Naming Conventions

Source Code is a UX to interface with the raw machine.

The affordances provided by programming languages allows one to:

  • name abstractions
  • create patterns & metaphor
  • express one's model of Existence
  • create a tool to perform work

Optionality — Degrees of Freedom over Forecasting

I prefer to have optionality over compound planing (assumptions, based on assumptions, …). We live in a complex & interconnected existence; with the potential for a diverse set of outcomes. Complexity, interconnectivity, novelty, & creation is beyond any single entity's ability to effectively forecast.

Language evolves as our conscious understanding evolves…& vice versa. Ambiguity is a tool of consciousness to compel us to explore the dissonance in our current model of Existence. Follow the rabbit hole…and a richer Existence awaits.

Monorepo

I chose to use a monorepo:

  • to reduce development friction in managing my various projects
  • to utilize patterns across my projects

Monorepos are, once again, gaining favor as a way to efficiently manage disparate projects. I choose to use monorepos across my projects to create value & optionality for my clients and to model abstract patterns to continuously improve the products.

Acknowledgements & Gratitude

Thank you to all of you adventurous spirits who push the edge, cross boundaries, & create convergence to enrich our collective Existence.

Thank you to those who have failed many times, yet never gave up in following your bliss.

Thank you to everybody whom I have had a pleasure to work with & who has graced my life. I have learned much from your perspectives & hope to continue to be blessed by your physical presence & your presence in my heart.

Thank you to all beautiful souls who grace us with this immersive & thoroughly interesting world.

The Censible Team

Thank you to the Censible team for the inspiration, willingness, & for being the initial sponsor for ctx-root.

A special thank to to: @pmart123, @snuggs, @cristhiandick, @albertopontonio, @strictlymomo, @mrbernnz, @katezaps, @tmornini, @ebransom for your collaboration, brilliance, attitude, & friendship.

Packages

 
 
 

Contributors