A collaborative registry platform for CTDL-native learning components. Similar to npmjs.com for JavaScript packages, CourseForge enables the creation, discovery, and reuse of instructional packages built on CTDL (Credential Transparency Description Language) and CTDL-ASN (Achievement Standards Network) standards.
- CTDL-Native Architecture: All learning artifacts stored as standards-compliant JSON-LD
- Objective-First Design: Learning objectives as the foundation of instructional design
- Semantic Search: Vector-based similarity search using pgvector
- CLI-First Parity: Comprehensive command-line tool for professional workflows
- Quality Gates: Automated validation and human review workflows
- Multi-Environment Support: Independent registry environments (local, staging, production)
- Node.js 18+ and npm
- PostgreSQL 15+ with pgvector extension
- Redis
- S3-compatible object storage
- Clone the repository:
git clone https://github.com/davidjpetersen/courseforge.git
cd courseforge- Install dependencies:
npm install- Set up environment variables:
cp .env.example .env.local
# Edit .env.local with your configuration- Set up the database:
npm run db:setup- Run the development server:
npm run devOpen http://localhost:3000 to see the application.
For detailed setup instructions, see SETUP.md.
npm run dev- Start development servernpm run build- Build for productionnpm start- Start production servernpm run lint- Run ESLintnpm run lint:fix- Fix ESLint errorsnpm run format- Format code with Prettiernpm run format:check- Check code formattingnpm run type-check- Run TypeScript type checking
courseforge/
├── src/
│ ├── app/ # Next.js App Router pages
│ ├── components/ # React components
│ ├── lib/ # Utility functions and shared code
│ └── styles/ # Global styles
├── public/ # Static assets
├── .kiro/ # Project specifications
└── ...config files
- Frontend: Next.js 14+ with App Router, React 18+, TypeScript, Tailwind CSS
- Backend: Next.js API routes, Node.js
- Database: PostgreSQL with pgvector extension
- Caching: Redis
- Storage: S3-compatible object storage
- Authentication: NextAuth.js
For detailed documentation, see the specification documents:
ISC