|
1 | | -# Project Context Documentation |
2 | | - |
3 | | -## Overview |
4 | | -This document provides context for the codebase-context-spec project, which aims to define and implement a specification for capturing and utilizing codebase context in software development. |
5 | | - |
6 | | -## Project Structure |
7 | | -- `.context.md`: Contains project-wide context information |
8 | | -- `README.md`: Project introduction and general information |
9 | | -- `CODEBASE-CONTEXT.md`: Detailed specification for codebase context |
10 | | -- `img/`: Directory for project images |
11 | | -- `linters/`: Directory containing linter implementations |
12 | | - - `python/`: Python linter implementation |
13 | | - - `typescript/`: TypeScript linter implementation |
14 | | - |
15 | | -## Key Components |
16 | | -1. **Context Specification**: Defined in `CODEBASE-CONTEXT.md`, this outlines the structure and format for capturing codebase context. |
17 | | - |
18 | | -2. **Linter Implementations**: |
19 | | - - Python linter in `linters/python/` |
20 | | - - TypeScript linter in `linters/typescript/` |
21 | | - |
22 | | -3. **Visual Representation**: `img/codebase-context.png` provides a visual overview of the codebase context concept. |
23 | | - |
24 | | -## Development Guidelines |
25 | | -- Follow the specification outlined in `CODEBASE-CONTEXT.md` when implementing context-aware features. |
26 | | -- Ensure all linter implementations adhere to the same core principles while respecting language-specific best practices. |
27 | | -- Keep `.context.md` files updated in each directory to maintain accurate context information. |
28 | | - |
29 | | -## Tools and Technologies |
30 | | -- TypeScript for the TypeScript linter implementation |
31 | | -- Python for the Python linter implementation |
32 | | -- Markdown for documentation |
33 | | - |
34 | | -## Future Directions |
35 | | -- Implement additional language-specific linters |
36 | | -- Develop integration plugins for popular IDEs |
37 | | -- Create a standardized API for context-aware tool interactions |
38 | | - |
39 | | -## Contributing |
40 | | -Refer to the project's contribution guidelines (if available) for information on how to contribute to this project. |
41 | | - |
| 1 | +--- |
| 2 | +contextdocs: |
| 3 | + - name: TypeScript |
| 4 | + relationship: Main language for linter implementation |
| 5 | + resources: |
| 6 | + - Official Documentation: https://www.typescriptlang.org/docs/ |
| 7 | + - TypeScript Handbook: https://www.typescriptlang.org/docs/handbook/intro.html |
| 8 | + - TypeScript Deep Dive: https://basarat.gitbook.io/typescript/ |
| 9 | + |
| 10 | + - name: Node.js |
| 11 | + relationship: Runtime environment for TypeScript linter |
| 12 | + resources: |
| 13 | + - Official Documentation: https://nodejs.org/en/docs/ |
| 14 | + - Getting Started Guide: https://nodejs.org/en/docs/guides/getting-started-guide/ |
| 15 | + - Node.js Best Practices: https://github.com/goldbergyoni/nodebestpractices |
| 16 | + |
| 17 | + - name: Jest |
| 18 | + relationship: Testing framework for TypeScript linter |
| 19 | + resources: |
| 20 | + - Official Documentation: https://jestjs.io/docs/getting-started |
| 21 | + - Testing TypeScript with Jest: https://basarat.gitbook.io/typescript/intro-1/jest |
| 22 | + - Jest with TypeScript in Node.js: https://stackoverflow.com/questions/54822273/how-to-use-jest-with-typescript-in-node-js |
| 23 | + |
| 24 | + - name: ESLint |
| 25 | + relationship: Linting tool used as a reference for our custom linter |
| 26 | + resources: |
| 27 | + - Official Documentation: https://eslint.org/docs/user-guide/getting-started |
| 28 | + - ESLint with TypeScript: https://khalilstemmler.com/blogs/typescript/eslint-for-typescript/ |
| 29 | + - Configuring ESLint for TypeScript: https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project |
| 30 | + |
| 31 | + - name: YAML |
| 32 | + relationship: Used in .context.yaml/.context.yml files |
| 33 | + resources: |
| 34 | + - Official Specification: https://yaml.org/spec/1.2.2/ |
| 35 | + - Learn YAML in Y minutes: https://learnxinyminutes.com/docs/yaml/ |
| 36 | + - Common YAML Gotchas: https://stackoverflow.com/questions/3790454/how-do-i-break-a-string-over-multiple-lines |
| 37 | + |
| 38 | + - name: JSON |
| 39 | + relationship: Used in .context.json files |
| 40 | + resources: |
| 41 | + - Official Specification: https://www.json.org/json-en.html |
| 42 | + - JSON Schema: https://json-schema.org/learn/getting-started-step-by-step |
| 43 | + - Working with JSON in TypeScript: https://blog.logrocket.com/working-with-json-typescript/ |
| 44 | + |
| 45 | + - name: Markdown |
| 46 | + relationship: Used for documentation and .context.md files |
| 47 | + resources: |
| 48 | + - Official Guide: https://www.markdownguide.org/ |
| 49 | + - GitHub Flavored Markdown Spec: https://github.github.com/gfm/ |
| 50 | + - Mastering Markdown: https://guides.github.com/features/mastering-markdown/ |
| 51 | + |
| 52 | + - name: Python |
| 53 | + relationship: Used for Python version of the linter |
| 54 | + resources: |
| 55 | + - Official Documentation: https://docs.python.org/3/ |
| 56 | + - Real Python Tutorials: https://realpython.com/ |
| 57 | + - Python Linting Best Practices: https://stackoverflow.com/questions/1428872/pylint-pep8-and-pyflakes |
42 | 58 | --- |
43 | 59 |
|
44 | | -This context documentation provides a high-level overview of the project. For more detailed information, please refer to specific `.context.md` files in each directory and the `CODEBASE-CONTEXT.md` specification. |
| 60 | +This file contains a list of external dependencies and libraries used in the Codebase Context Specification project. The YAML front-matter above provides structured data about each dependency, including its relationship to the project and links to relevant resources. These resources include official documentation, articles, blogs, and Stack Overflow posts. This structure allows for easy parsing by automated tools while maintaining readability for developers. |
0 commit comments